このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
関数 imtranslate を使用したイメージの平行移動
この例では、関数 imtranslate
を使用して、イメージの平行移動の操作を行う方法を説明します。平行移動を行うと、x 方向と y 方向のいずれか、または両方に、指定したピクセル数だけイメージがシフトします。
イメージをワークスペースに読み取ります。
I = imread("cameraman.tif");
イメージを表示します。イメージのサイズは 256 x 256 ピクセルです。既定では、imshow
はイメージの右上隅が (0,0) の位置になるように表示します。
figure
imshow(I)
title("Original Image")
x 方向に 15 ピクセル、y 方向に 25 ピクセル分シフトして、イメージを平行移動します。既定では、imtranslate
は、平行移動したイメージを、元の 256 x 256 のイメージの境界 (範囲) 内に表示します。その結果、平行移動したイメージは、切り取られたようになります。
J = imtranslate(I,[15, 25]);
平行移動したイメージを表示します。イメージのサイズは 256 x 256 ピクセルです。
figure
imshow(J)
title("Translated Image")
平行移動したイメージのクリッピングを防ぐために、名前と値の引数 OutputVie
を "full"
に設定します。新しいイメージのサイズは 281 x 271 ピクセルです。
K = imtranslate(I,[15, 25],"OutputView","full");
平行移動したイメージを表示します。
figure
imshow(K)
title("Translated Image, Unclipped")