清理相机osx和opencv

时间:2014-01-05 09:04:10

标签: c macos opencv

大家好我正在使用opencv在我的macbook上执行一些示例程序,这是我的代码:

#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(狮子)上我只能在控制台上看到这个:清理相机。没有正确,没有形象......什么都没有,只有那个消息?任何建议o.0?

PS?我将Caoture FromCAM的数字改为300(iEEE摄像机)或500(快速时间)然后我没有消息但仍然没有图像。

1 个答案:

答案 0 :(得分:0)

别介意的人,显然是当前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我添加了2.4.5 git chekout ae74fe9 opencv.rb最后我安装了opencv使用{ {1}}它完成了isight工作很棒:)。

ps:isight相机将使用cvCaptureFromCAM(500)而不是0,-1或300。 ps2:omg我很高兴:3