我认为我的问题非常基本。我试图在我的OSX Lion上安装Open CV。我已按照此链接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 - &gt;偏好设置 - &gt;下载文件夹。 但是,仍然在安装过程中,“Macports”和“Cmake”给了我警告,但无论如何安装。但这可能是问题吗? )
谢谢!
答案 0 :(得分:4)
问题是您将图像放入项目文件夹而不是包含可执行文件的文件夹。您可以将图像文件放在包含可执行文件的文件夹中,也可以在调用cvLoadImage
时将完整路径放到图像中。
旧版本的Xcode将可执行文件放在项目文件夹的build/Debug
或build/Release
文件夹中。较新版本的Xcode将构建产品放在DerivedData文件夹的项目文件夹中。您可以通过转到文件 - &gt;找到DerivedData文件夹。项目设置...然后单击文件夹路径旁边的箭头:
答案 1 :(得分:2)
在项目文件夹中,转到“产品”&gt;右键单击可执行文件&gt; '在Finder中显示'&gt;把输入图像放在那里。输出图像('.png'文件)也将在这里。