num2str(L(row,col)));set(h,'Color',colors(cidx),'FontSize',14,'FontWeight','bold');end上記の図にある1つ目の白黒画像は無事領域が検知できたのに対し、2つ目の白黒画像は検知できませんでした。その理由とどうすれば検知できるようになるのか教えていただきたいです。Clipboard画像添付できますでしょうか?試してみたいです。bwselect関数によって白い連続領域を全て検出出来たから下記のプログラムは、白黒画像の上端および下端(青い線)と重なる「白ピクセルの繋がり」を含むバイナリイメージを返します。千切れた領域がある様にも見えますが、白い領域は全て連結しているので、2つのbwselect関数に対する入力と出力は全て同じ画像になります。bwselect関数によって白い連続領域を一つも検出出来なかったから2つ目の白黒画像に対する上記プログラムを実行した結果、同一サイズで真っ黒な画像が出力されました。真っ黒な画像に対して続く境界の検出や表示処理を行っても何も表示されません。正確には、1行目を実行した直後は下右図の様に「上端に接する白い連続領域のみの画像」が返されました。2行目を実行すると「下端に接する白い連続領域のみの画像」が返されるのかというとそうはなりません。2行目の入力は1行目の結果(下右図)だからです。入力のBWと出力のBWを同じ変数にすると、入力データを出力データで上書きしてしまいます。これはプログラマの責任で把握出来ていれば問題にはなりませんが、今回の様な問題を避ける為には避けるべき方法です。一般的なコーディング規約でも変数の上書きは避けるべき事とされています。一部の白い領域は当該画像の上端にも下端にも接していない為、この方法では連続体として検出されません。bwselect(BW,c,r,4);同じプログラムでどっちも無事領域が検知出来ました。Clipboard非常に丁寧な回答ありがとうございます。参考にさせていただきます。conversation。