C#で画像差分抽出
会社でシステムテストを行っていて
こう言うのがあったら便利だなーっと思ってぱーっと書いてみました。
使えるほど突き詰めてないです。
糞コード
こんな感じ
System.Drawing.BitmapクラスのGetPixel/SetPixelを使うと動作が遅いらしい
※どうせ使われないしどんな感じになるかやりたかっただけだから高速化とか追い求めてません。
Get/SetPixelを使用しない方法は記事最後の参考サイトにのせときやす。
雑感
会社でCOBOLかエクセルで書類作りしかできないから久々にC#触りたくて作った
- ピクセルの情報に少し差異があるだけで差分になって抽出される。
透明度とか非可逆圧縮形式だとどんどん劣化していくので大変なことになる。
そこらへんもうちょいいじればよかったけど飽きたので知らない
できるのかもわからない。
- PDF変換機能
会社での使用を想定するならばPDFから何らかの画像形式に変換する。
調べた感じたぶんできそうだった。
- 比較画像の大きさを自由に
比較結果の大きさをサイズが小さい方の画像に合わせている。
リサイズの機能などつけて試してみればよかった。
同種の保存形式は試したけど異なる拡張子は試してない。
もうPixelの色情報が全然違うから無理だよね?
糞コードだし誰の役にも立たないけど
アウトプットが大事だよといろんな人が言っているから何かアウトプットしてみたかった。