如何计算使用Java编辑的图像(jpeg)的百分比?例如,当上传图像时,用户想要知道该图像的编辑百分比是多少,因此如果它是0%则显示它是原始图像。
答案 0 :(得分:1)
如果原始图像和编辑过的图像没有改变大小,这是微不足道的。将原始图像中的每个像素与编辑后的图像进行比较。可能已经编辑了那些不相同的像素。更改量为ChangedPixels / TotalPixels
。
某些图像格式是有损的(例如JPG。)因为格式有损,保存没有编辑的图像,并将其与原始副本进行比较,可能会在没有人为编辑时测量某些更改,因为某些内容被扭曲
不同尺寸的图像也很容易。只需比较尽可能多的像素(即宽度的最小值和最小高度)。然后变化量为:
int maxPixels = Max(width1, width2) * Max(height1, height2);
double amountDifferent = totalChangedPixels / (double)maxPixels;
任何添加或删除的像素都被视为"已更改"像素。