我使用imread函数读取一个jpeg文件并以bmp格式保存rgb图像。比较这两个文件,我发现了工件,并使用绿色圆圈表示工件。 OpenCV的版本是3.0。我自己编译库,SSE,SSE2和SSE3开启(默认设置)。我的操作系统是Windows 7专业版。您可以使用以下图像进行检查。
如果我在Matlab中读取jpeg文件,则rgb图像是正确的。我在matlab中以png格式保存rgb图像,使用opencv读取png文件并将加载的图像保存在bmp文件中。一切都好。似乎jpeg解码器存在问题。使用的jpeg库是libjpeg.lib。
答案 0 :(得分:0)
你总是会得到一些JPEG格式的文物。您可以通过更改使用的量化表(通常会丢失压缩)来减少此类工件的外观。
JPEG编码器通常使用“质量”设置来更改量化表。