CVe*_*tex 10 opencv visual-c++ windows-7
我正在将一个OpenCV 2.2应用程序从Unix(可以正常)移植到Windows 7 64位上,当调用cv :: imwrite时我收到以下异常
"未知函数中的OpenCV错误:未指定错误(找不到指定扩展名的编写器),文件highgui\src\loadsave.cpp"
原始的unix应用程序在我的Mac和Linux机器上运行良好.
有谁知道我可能缺少什么库或编译器配置,使这在Windows上工作?
更新:
为了让OpenCV运行,我做了以下事情:
事实上.bmp或.ppm不起作用这会引发更多问题:
再次感谢您帮助我调试此问题.
您当前安装的OpenCV不支持您尝试在磁盘上创建的文件格式.
检查文件的扩展名是否正确.如果是,您将不得不重新编译OpenCV并添加对此格式的支持,并可能安装您缺少的库.
没有更多信息,这就是所有可以说的.
编辑:
由于我也无法构建使用OpenCV的C++接口(VS2005上的v2.3)的应用程序,我最终使用了以下解决方法:在必要时将C++类型转换为C类型.
要转换IplImage*到cv::Mat是相当直截了当:
IplImage* ipl_img = cvLoadImage("test.jpg", CV_LOAD_IMAGE_UNCHANGED);
Mat mat_img(ipl_img);
imshow("window", mat_img);
Run Code Online (Sandbox Code Playgroud)
转换cv::Mat到IplImage*不是那么明显,但它也很简单,诀窍是使用a IplImage而不是IplImage*:
IplImage ipl_from_mat((IplImage)mat_img);
cvNamedWindow("window", CV_WINDOW_AUTOSIZE);
// and then pass the memory address of the variable when you need it as IplImage*
cvShowImage("window", &ipl_from_mat);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23455 次 |
| 最近记录: |