大家好,我正在我的 MacBook 上使用 opencv 执行一些示例程序,这是我的代码:
#include "stdio.h"
#include "cv.h"
#include "highgui.h"
int main( int argc, char **argv )
{
CvCapture *capture = 0;
IplImage *frame = 0;
int key = 0;
/* initialize camera */
capture = cvCaptureFromCAM( 0 );
/* always check */
if ( !capture ) {
fprintf( stderr, "Cannot open initialize webcam!\n" );
return 1;
}
/* create a window for the video */
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
while(1>0)
{
/* get a frame */
frame = cvQueryFrame( capture );
/* always check */
if(!frame ) break;
/* display current frame */
cvShowImage( "result", frame );
waitKey(10);
/* exit if user press 'Esc' */
key = cvWaitKey( 20 );
if((char)key==27 )
break;
}
/* free memory */
cvReleaseCapture( &capture );
cvDestroyWindow( "result" );
return 0;
}
大约一年前,代码在 Macbookpro(OSX 雪豹)上运行良好,但在 MacBook(lion)上,我只能在控制台上得到这个:清理相机。没有视觉,没有图像……什么都没有,只有那条信息?有什么建议o.0吗?
ps?我将 Caoture FromCAM 的号码更改为 300(iEEE 相机)或 500(quicktime),然后我没有消息,但仍然没有图像。最佳答案
别介意伙计们,显然这是当前 opencv 版本 2.6.x 上的一个问题。我卸载了 ffmpeg brew uninstall ffmepg
和 opencv brew uninstall opencv
然后我改变了我的opencv版本cd/usr/local/Library/Taps/homebrew-science
我搜索了其他版本(isight在4.5.5下工作)brew versions opencv
code> 并添加了 2.4.5 git chekout ae74fe9 opencv.rb
最后我使用 brew install opencv
安装了 opencv 并且完成了 isight 效果很好:)。
ps:isight 相机将使用 cvCaptureFromCAM( 500 ),而不是 0、-1 或 300。 PS2:天哪,我太高兴了:3
关于清理相机 osx 和 opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931820/