我正在尝试将已创建的Mat格式写入一个jpg文件,但我所得到的是一个未处理的异常。从文档中可以看出,OpenCV无法使用imwrite写入图像
“单通道或3通道(带有'BGR'通道顺序)仅8位(或16位无符号(CV_16U),PNG,JPEG 2000和TIFF)使用此功能可以保存图像。“
Mat watermark(5,5,CV_16U);
imwrite("C:\\watermark.jpg",watermark);
但是,我无法将图像写入JPG:
所以,我用下面的代码创建了一个垫。它适用于BMP格式。但不是JPG或任何其他格式。我被建议将其转换为CV_16U或8U,但它没有工作,我确实有权限写入C:\目录。
请指教,如果我错过了一个步骤,或者我应该如何使用opencv将图像保存为JPG。
谢谢。
你确定OpenCV的JPEG支持是否到位?您可以从<< http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html >>中快速阅读测试,看看它是否应该在该设置上工作。 –
是的,我可以让我们读取JPEG图像。它的写作(写入除bmp之外的其他格式)会导致我的死亡。 – user1926691
奇怪。失败时是否在控制台上显示任何错误?我看到你说你可以访问C:\但是,现在你有一个问题,你可能想要写一个C:\\ Temp \\ watermark.jpg的快速测试。除此之外,我会怀疑CV_16U的格式,我不是很专业的。 –