我想将jpeg图像转换为png并且这样做我使用下面的代码:
QImageReader reader;
reader.setFileName(imagePath);
QImage image = reader.read();
QImageWriter writer;
writer.setFileName(newImagePath);
writer.write(image);
我认为输出图像与输入图像完全相同,但差异图像不是空的,我无法弄清楚原因。差异图像看起来像噪声图像,其值范围为-5到6.
我尝试用另一个名为VTK的librairy做同样的事情,但我没有同样的问题,压缩前后的图像完全一样。
欢迎任何建议!
答案 0 :(得分:0)
不同的JPEG解码器可以产生略微不同的RGB值 (如果JPEG包含ICC配置文件,则更多);有很多数值舍入和转换(但是,编码器应该在参考实现中每像素不超过一位,但我不打赌;参见例如this回答和{{3一个)。
我建议你尝试在QImage中进行逐像素比较。