2

我认为我的问题很基本。我试图让 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- ->Preferences-->Downloads 安装 Xcode 的文件夹。但是,在安装过程中,“Macports”和“Cmake”给了我警告,但还是安装了。但这可能是问题吗?)

谢谢!

4

2 回答 2

4

问题是您将图像放入项目文件夹而不是包含可执行文件的文件夹。您可以将图像文件放在包含可执行文件的文件夹中,也可以将图像的完整路径放在对cvLoadImage.

旧版本的 Xcode 将可执行文件放在项目文件夹中的build/Debug或文件夹中。build/Release较新版本的 Xcode 将构建产品放在 DerivedData 文件夹中的项目文件夹中。您可以通过转到 File -> Project Settings... 并单击文件夹路径旁边的箭头来找到 DerivedData 文件夹:

派生数据截图

于 2012-10-07T05:38:14.283 回答
2

在项目文件夹中,转到“产品”> 右键单击​​可执行文件>“在 Finder 中显示”> 将输入图像放在那里。输出图像('.png' 文件)也会放在这里。

于 2013-03-12T06:13:33.230 回答