OpenCV第一个程序(Xcode中读取图像)

#include "highgui.h"
int main( int argc, char** argv )
{
   
    IplImage* img = cvLoadImage(argv[1]); //注意cvLoadImage()有三个参数
    
    cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
    cvShowImage("Example1", img );
    cvWaitKey(0);
    cvReleaseImage( &img );
    cvDestroyWindow("Example1");
    return 0;

这是《学习OpenCV》书里面第一个例程,每个函数都有详细的解释,我不在赘述。

我碰到的问题是:在Xcode里面代码没有问题,但是显示不出图片。Google了好久,发现是cvLoadImage[1]这个函数的问题,这个函数需要两个参数[1]:cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)),具体看引用这个网址,讲的很详细了,这是这个函数用法,明白了之后,图片还是没有运行出来。然后在Google上找到原因,这是个命令行程序,程序编译连接生成可执行文件之后,要到终端输入两个main函数需要的参数才能执行出来。一个参数是程序生成的可执行文件,另一个是图片绝对地址。详见引用[2]

到这里我要做的是找到Xcode生成的可执行文件,一般Xcode默认可执行文件统一生成到系统文件夹下面,我在Xcode->Preferences中修改了默认项,让每个可执行文件生成到项目文件夹中。方法参考引用[3]

最后,找到图片绝度路径,最快的是直接把图片拖进终端,即可看到图片绝对路径。然后在终端输入:程序在Xcode中生成的可执行文件的路径  图片路径。即可输出我们想要的图片

引用:

[1] https://blog.csdn.net/hujingshuang/article/details/47184717

[2] https://stackoverflow.com/questions/15356513/opencv-sample-code-run-time-error-using-argv

[3] http://blog.51cto.com/rongbaohong/832335

猜你喜欢

转载自www.cnblogs.com/mark2018/p/8924452.html