我正在开发一个依赖于手指检测的 OpenCV 项目。目前我有一个OpenCVFrameGrabber
抓取框架并将其放在IplImage
. 然后我将该图像绘制到我的 GUI 上。
这一切都有效,但即使我有彩色相机,绘制的图像似乎也是黑白的。图像中有明显的垂直线条,当有一些颜色时,它似乎沿着这些线条分割成组件。
有谁知道获取原始网络摄像头图像的方法?
我正在开发一个依赖于手指检测的 OpenCV 项目。目前我有一个OpenCVFrameGrabber
抓取框架并将其放在IplImage
. 然后我将该图像绘制到我的 GUI 上。
这一切都有效,但即使我有彩色相机,绘制的图像似乎也是黑白的。图像中有明显的垂直线条,当有一些颜色时,它似乎沿着这些线条分割成组件。
有谁知道获取原始网络摄像头图像的方法?
我最近开始使用 JavaCV,我一直试图避免使用这些新类并坚持使用“原始”OpenCV 方法。
我建议您尝试以下代码并确保最简单的捕获过程有效:
public static void main(String[] args)
{
CvCapture capture = cvCreateCameraCapture(0);
if (capture == null)
{
System.out.println("!!! Failed cvCreateCameraCapture");
return;
}
cvNamedWindow("camera_demo");
IplImage grabbed_image = null;
while (true)
{
grabbed_image = cvQueryFrame(capture);
if (grabbed_image == null)
{
System.out.println("!!! Failed cvQueryFrame");
break;
}
cvShowImage("camera_demo", grabbed_image);
int key = cvWaitKey(33);
if (key == 27)
{
break;
}
}
cvReleaseCapture(capture);
}
如果这有效,您的问题可能与OpenCVFrameGrabber
. 如果没有,您可能想用另一台相机试验您的代码。