1、图片大小规格化
为了比较两个图像,应该使其大小完全一致,这里可以设置为两个图片中较大的那个大小,长宽。
function Resize(const Source: TBitmap; var Dest: TBitm1、图片大小规格化
为了比较两个图像,应该使其大小完全一致,这里可以设置为两个图片中较大的那个大小,长宽。
function Resize(const Source: TBitmap; var Dest: TBitmap): Boolean;
begin
if not Assigned(Dest) then
Dest := ;
:= pf24bit;
:= BMPWIDTH;
:= BMPHEIGHT;
(Rect(0, 0, - 1, - 1), , Rect(0, 0, - 1, - 1));
end;
2、图像灰度化
图像灰度化的方法有多种,这里介绍两种。一种是绝对平均值,一种是加权平均值。其实质就是将RGB三原色的色值相加,平均后赋予新值。不同的只是RGB三原色的权重不同。
绝对平均值
function Gray1(const Source: TBitmap): Boolean;
var
p : PByteArray;
w : Integer;
i, j : Integer;
begin
for i := 0 to - 1 do
begin
p := [i];
for j := 0 to ( - 1) do
begin
w := p[3 * j] + p[3 * j + 1] + p[3 * j + 2];
w := w div 3;
w := byte(w); p[3 * j] := w;
p[3 * j + 1] := w;
p[3 * j + 2] := w;
end;
end;
end;
加权平均值
function (const Source: TBitmap): Boolean;
var
p : PByteArray;
w : Integer;
i, j : Integer;
begin
for i := 0 to - 1 do
begin
p := [i];
for j
图像相似度算法 来自淘豆网www.taodocs.com转载请标明出处.