在Delphi中有没有办法比较两个相似的图像(不一样)。
下面是一些示例:

&

很明显,我们不能逐个像素地比较,所以我的想法是将每个图像的像素值相加,然后比较它们:
function CalcPix( img : TImage) : longint;
var
s : longint;
i, j : integer;
begin
s := 0;
for i := 0 to img.Height do
begin
for j := 0 to img.Width do
begin
if img.Canvas.Pixels[i,j] <> clWhite then
s := s + img.Canvas.Pixels[i, j];
end;
end;
Result := S;
end;结果是:
1)14836072057
2)16750850318
正如你所看到的,它们并不是那么接近,如果我一次使用4-5张图像进行这个过程,它总是给我错误的结果。
还有别的办法吗?比如改变颜色或对比度等。
发布于 2013-08-27 14:36:47
https://stackoverflow.com/a/844113/7735这需要一些背景知识,而且最好的解决方案很难从头开始实现,所以使用某种类库将是最容易的。这是Delphi的OpenCV包装器:https://github.com/Laex/Delphi-OpenCV
https://stackoverflow.com/questions/18454498
复制相似问题