matlabを使用して画像をいくつかの小さなブロックに分割する
切り出し処理では,Matlab上でimcrop関数を実行して画像から任意の部分を抽出し、いくつかのブロックに分割します。imcrop関数は,描画処理で指定した矩形領域で画像の一部を切り抜くことができます。
画像を 4 つの小さなチャンクに分割する方法を示すサンプルコードを以下に示します。
% 读取图像
image = imread('example.jpg');
% 获取图像的大小
[image_height, image_width, ~] = size(image);
% 计算每个小块的大小
block_height = floor(image_height / 2);
block_width = floor(image_width / 2);
% 分割图像成4个小块
block_1 = imcrop(image, [1, 1, block_width, block_height]);
block_2 = imcrop(image, [block_width+1, 1, block_width, block_height]);
block_3 = imcrop(image, [1, block_height+1, block_width, block_height]);
block_4 = imcrop(image, [block_width+1, block_height+1, block_width, block_height]);
% 显示分割后的小块
subplot(2, 2, 1);
imshow(block_1);
title('Block 1');
subplot(2, 2, 2);
imshow(block_2);
title('Block 2');
subplot(2, 2, 3);
imshow(block_3);
title('Block 3');
subplot(2, 2, 4);
imshow(block_4);
title('Block 4');
上記のコードでは、まずexample.jpgという画像を読み込みました。次に、各小ブロックの高さと幅を計算しました。その後、imcrop関数を用いて画像を4つの小ブロックに分割し、それらをそれぞれblock_1、block_2、block_3、block_4という変数に格納しました。最後に、subplot関数を使用して分割後の小ブロックを2×2の画像ウィンドウに表示しました。
セグメンテーション方法を適切な方法、パラメータを設定してコードを調整することで、さまざまなイメージセグメンテーション効果が得られます。