2値化画像(バイナリイメージ)のオブジェクトの輪郭を切り取る。
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
HIGUCHI 樋口
am 10 Nov. 2021
Kommentiert: HIGUCHI 樋口
am 11 Mär. 2022
細胞1つ1つをトリミングしたいのですが、正方形でトリミングを行うと境界面に他の細胞が映り込んできてします(画像①)。
そこで、「目的の細胞部分だけをトリミング」してから、「他の画像(背景)に張り付ける」という事を考えています。
「目的の細胞部分だけをトリミング」の方法としては以下の図のように、2値化して目的の細胞部分だけ残し(画像②)、その輪郭を元画像(画像①)に反映させて切り取るといった流れです。

2値化画像で目的の細胞を残すところまでは出来ているのですが、
2値化画像の白い部分の輪郭で元画像(画像①)を切り取って別紙に張り付ける箇所で難航しています。
何か良い案がありますでしょうか、よろしくお願いします。画像①、画像②、背景の画像を添付しておきます。
また、他にも細胞1つ1つを抽出する案がございましたら、ご提案頂けると幸いです。
0 Kommentare
Akzeptierte Antwort
Atsushi Ueno
am 10 Nov. 2021
Bearbeitet: Atsushi Ueno
am 10 Nov. 2021
org = imread('original_image.jpg');
bin = imread('binary_image.jpg') > 128; % 0-255なのでFalse/Trueのマスクにする
bgd = imread('background.jpg');
masked_org = org .* uint8(repmat(bin,[1 1 3])); % 元画像とマスクのANDを取る
masked_bgd = bgd .* uint8(repmat(~bin,[1 1 3])); % 背景画像と反転したマスクのANDを取る
final_image = masked_org + masked_bgd; % 最終的に得たい画像
montage({org, bgd, bin, masked_org, masked_bgd, final_image},'Size', [2 3], 'BorderSize', [50 50], 'BackgroundColor', 'white');
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu グラフィックス オブジェクトの識別 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!