我认为我的问题很基本。我试图将Open CV安装在OSX Lion上。我已按照建议的所有步骤操作此链接http://tilomitra.com/opencv-on-mac-osx/
但是,当我在Xcode上运行网站上推荐的C++代码时,它无法使用cvLoadImage()函数加载图像。我已将图像放置在项目文件夹中(建议使用)。这是我正在运行的代码:
// Example showing how to read and write images
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cvaux.hpp>
int main(int argc, char** argv)
{
IplImage * pInpImg = 0;
// Load an image from file - change this based on your image name
pInpImg = cvLoadImage("my_image.jpg", CV_LOAD_IMAGE_UNCHANGED);
if(!pInpImg)
{
fprintf(stderr, "failed to load input image\n");
return -1;
}
// Write the image to a file with a different name,
// using a different image format -- .png instead of .jpg
if( !cvSaveImage("my_image_copy.png", pInpImg) )
{
fprintf(stderr, "failed to write image file\n");
}
// Remember to free image memory after using it!
cvReleaseImage(&pInpImg);
return 0;
}
因此,在执行过程中,代码会成功构建,但始终会在以下循环中终止并停止执行:
if(!pInpImg)
{
fprintf(stderr, "failed to load input image\n");
return -1;
}
有人遇到过这样的问题吗?我该如何解决?
(在安装“Macports”和“Cmake”的过程中,我收到了一条警报,提示未安装Xcode或未安装“命令行工具”。但根据本论坛的另一个主题,我已经从Xcode安装了这些代码, ->首选项->在安装Xcode时下载文件夹。
但是,仍然在安装过程中,“Macports”和“Cmake”给了我警告,但仍然安装了。但这可能是问题吗? )
谢谢!
最佳答案
问题是您将图像放入项目文件夹,而不是包含可执行文件的文件夹。您可以将图像文件放置在带有可执行文件的文件夹中,也可以在对cvLoadImage
的调用中放置图像的完整路径。
较旧版本的Xcode将可执行文件放在项目文件夹中的build/Debug
或build/Release
文件夹中。较新版本的Xcode将生成产品放在DerivedData文件夹的project文件夹中。您可以通过以下方式找到DerivedData文件夹:转到文件->项目设置…,然后单击文件夹路径旁边的箭头:
关于xcode - 打开CV,Mac OS X上的图像加载问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12766091/