画像のマッチング処理というのでしょうか?二枚の画像を重ね合わせた時に
その二枚で違う部分を検出するための処理方法が探しても差異や差分といった
言葉が適切でないためかなかなか見つからないのですが
どこか参考になるDelphiのサイトやコンポーネントなどありますでしょうか?
よろしくお願いします
画像の間違い探しをするようなもので、単純に見た目で判断するのであれば
Scanlineを使って1ピクセルずつ引き算するだけです。
より高速に行い結果だけ見れればよいなら、BitBltで引き算する方法とかもあります。
ありがとうございます
BitBlt関連で検索してみたのですが、関係するのが出てきません。
どのようなキーワードで検索すればいいでしょうか?
http://www.sm.rim.or.jp/~shishido/pdif.html
ここのページに比較方法の1例が載っています。
このページは1ファイル内で上下左右との色の差を見ていますが、
これを2ファイルの同位置ピクセルで比較するようにすれば、どれくらい
差があるのか計上できるのではないでしょうか?
2つのファイルの大きさが違っている場合は
http://www.sm.rim.or.jp/~shishido/fnckakudai.html
を参考に両ファイル共にやや小さく、同じサイズにしてから比べて見ると
良いのではないでしょうか?
趣旨が違ってましたらごめんなさい。
この程度の技術だと、サンプルとして公開する人は居ないんでしょう。
testA,testB.bmpはサイズが同じで、元画像が同じ。
testBにはtestAに落書きをして別名保存したもの。
procedure TForm1.Button1Click(Sender: TObject);
var
bmpA:TBitmap;
begin
bmpA:=TBitmap.Create;
bmpA.LoadFromFile('testA.bmp');
BitBlt(Canvas.Handle,0,0,bmpA.Width,bmpA.Height,bmpA.Canvas.Handle,0,0,SRCCOPY);
bmpA.LoadFromFile('testB.bmp');
BitBlt(Canvas.Handle,0,0,bmpA.Width,bmpA.Height,bmpA.Canvas.Handle,0,0,SRCINVERT);
bmpA.Free;
end;
もにゃさん、カフェさんありがとうございます。
>この程度の技術だと、サンプルとして公開する人は居ないんでしょう
この程度の技術だとしても知らないとすごく難しく考えてしまいますね。
助かりました。ありがとうございます^^
お二人に感謝します^^
ツイート | ![]() |