画像比較について。

6 Ansichten (letzte 30 Tage)
qrqr
qrqr am 4 Feb. 2019
画像の比較について質問です。
2つのモノクロ画像を以下のコードで比較をしました。
imshowpair(img_a,img_b,'checkerboard')  下の画像は180度傾けた画像と通常の画像を比較しました。
TEST.jpg
この画像についてですが、格子のサイズ変更や、格子のサイズ(ピクセル表記)をどのようにすればわかりますか?
また、画質が悪いので良くすることも可能なのでしょうか?
質問が複数なので1つの回答でも構いません。
よろしくお願いします。

Akzeptierte Antwort

Satoshi Kobayashi
Satoshi Kobayashi am 4 Feb. 2019
imshowpairで作成されるcheckerboardは16*16マスです。
以下、img_aとimg_bのサイズが同じことを前提とします。
全体サイズはimg_aのサイズと一致します。
格子のサイズはimg_aのサイズの1/16です。
imfuseを改変したコードです。1辺がnofcheckの2倍のマス数となるので、格子のサイズを変更できます。
nofcheck= 8;
sz = size(img_a);
result = zeros(sz,'like',img_a);
check = [1 0; 0 1];
check = repmat(check,nofcheck);
maskA = logical(imresize(check,sz(1:2),'nearest'));
if size(img_a,3) > 1
maskA = repmat(maskA,[1 1 3]);
end
maskB = ~maskA;
result(maskA) = img_a(maskA);
result(maskB) = img_b(maskB);
imshow(result)
imwrite(result,'result.tif')
厳密な格子のサイズはmaskAを調べれば分かります。
maskAが真ならimg_a、偽ならimg_bがresultに入ります。maskAを改変すれば自由なcheckerboardが作成できます。
画質は元の画像に依存します。保存する場合は保存方法により変わる可能性もあります。imwriteがよいでしょう。
im = imshowpair(img_a,img_b,'checkerboard');
imwrite(im.CData,'im.tif')
  3 Kommentare
qrqr
qrqr am 5 Feb. 2019
縦幅243ピクセル、横幅612ピクセル
水平方向の解像度72dip、垂直方向の解像度72dip
このサイズの画像の場合16×16の格子の縦のサイズは243/16=15.1875ピクセルということでしょうか?
また、cmに変換することもできますか?
質問ばかりですが宜しくお願いします。
Satoshi Kobayashi
Satoshi Kobayashi am 5 Feb. 2019
その通りです。15ピクセルか16ピクセルかは列/行によります。
もし、72dipで表示・印刷されるなら、一辺の長さは2.54/72*(一辺のピクセル数)となります。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!