画像比較について。
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
qrqr
le 4 Fév 2019
Commenté : Satoshi Kobayashi
le 5 Fév 2019
画像の比較について質問です。
2つのモノクロ画像を以下のコードで比較をしました。
imshowpair(img_a,img_b,'checkerboard') 下の画像は180度傾けた画像と通常の画像を比較しました。
この画像についてですが、格子のサイズ変更や、格子のサイズ(ピクセル表記)をどのようにすればわかりますか?
また、画質が悪いので良くすることも可能なのでしょうか?
質問が複数なので1つの回答でも構いません。
よろしくお願いします。
0 commentaires
Réponse acceptée
Satoshi Kobayashi
le 4 Fév 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 commentaires
Satoshi Kobayashi
le 5 Fév 2019
その通りです。15ピクセルか16ピクセルかは列/行によります。
もし、72dipで表示・印刷されるなら、一辺の長さは2.54/72*(一辺のピクセル数)となります。
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 基本的な表示 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!