画像を下半分だけにしたい。

11 views (last 30 days)
パンダ
パンダ on 23 Nov 2021
Answered: Atsushi Ueno on 23 Nov 2021
画像が720x960であるのですが画像を切り取って下半分だけにしたいです。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 23 Nov 2021
I = imread('画像ファイル名.jpg'); % 画像ファイルを読み込む
% I = uint8(zeros([960 720 3])); % 画像ファイルの代わりにカラーの画像データを準備
size(I)
ans = 1×3
960 720 3
I(1:floor(size(I,1)/2),:,:) = []; % 画像を切り取って下半分だけにする
size(I)
ans = 1×3
480 720 3
imwrite(I,'画像ファイル名_下半分.png');

More Answers (1)

Atsushi Ueno
Atsushi Ueno on 23 Nov 2021
下記はImage Processing ToolboxImage Acquisition Toolboximcrop関数を用いた方法です。
画像データのピクセル(行列)インデックスではなく空間座標を使う点や、双方のx,y座標が逆転する点に注意が必要です。
I = imread('画像ファイル名.jpg'); % 画像ファイルを読み込む
% I = uint8(zeros([960 720 3])); % 画像ファイルの代わりにカラーの画像データを準備
size(I)
ans = 1×3
960 720 3
center = (size(I,1) + 1) / 2; % 画像データ中央のy座標(空間座標)
half = size(I,1) / 2; % 画像データ高さの半分
I = imcrop(I, [1 center size(I,2) half]); % 画像を切り取って下半分だけにする
size(I)
ans = 1×3
480 720 3
imwrite(I,'画像ファイル名_下半分.png');

Community Treasure Hunt

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

Start Hunting!