为什么VS2010下OpenCV读取TIFF文件读取失败?
openCV版本是2.1.代码如下:IplImage*image=cvLoadImage("F:\\myOpencvProject\\mfcTest\\testImage...
openCV版本是2.1.
代码如下:
IplImage *image = cvLoadImage("F:\\myOpencvProject\\mfcTest\\testImage.TIFF", CV_LOAD_IMAGE_COLOR);
assert(image != NULL);
我能确定的是路径是对的,能读取到jpg等其它格式图片,testImage.tiff也是一个普通的tiff文件。
那么问题来了,如何判断是不是在配置opencv时出现错误导致的问题,或者其他可能?
不需要详细解决方案,我是找不到问题出在哪。 展开
代码如下:
IplImage *image = cvLoadImage("F:\\myOpencvProject\\mfcTest\\testImage.TIFF", CV_LOAD_IMAGE_COLOR);
assert(image != NULL);
我能确定的是路径是对的,能读取到jpg等其它格式图片,testImage.tiff也是一个普通的tiff文件。
那么问题来了,如何判断是不是在配置opencv时出现错误导致的问题,或者其他可能?
不需要详细解决方案,我是找不到问题出在哪。 展开
2个回答
展开全部
IplImage* img=0;
img=cvLoadImage(fileName);
if(!img) printf("Could not load image file: %s\n",fileName);
支持的图像格式: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM,
SR, RAS, TIFF, TIF
OpenCV默认将读入的图像强制转换为一幅三通道彩色图像. 不过可以按以下方法修改读入方式:
img=cvLoadImage(fileName,flag);
flag: >0 将读入的图像强制转换为一幅三通道彩色图像
=0 将读入的图像强制转换为一幅单通道灰度图像
<0 读入的图像通道数与所读入的文件相同.
TIFF是什么图,黑白?你自己做一张彩色的单帧tiff图再试试,CV_LOAD_IMAGE_COLOR是不是设置合适
追答
2.0只支持一般格式的tif,因为tif的格式比较复杂随意,不清楚opencv新版本3.0是什么情况,如果也不支持,只能自己改opencv的源代码,网上也许能找到
或者直接自己调用libtif库读图,在把数据输入到opencv里
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询