私はMATLABを初めて使用しますが、色(私の場合は赤い境界)の識別に基づいて、指定された境界の内側から画像の一部を抽出できることを知りたいと思いました。関数は、最初に画像の境界をトレースし、次にそれをトレースします。その特定の境界の内側にある画像のその部分を抽出します。画像(人間の頭の画像)を添付しました。頭から脳の部分を抽出したかったので、画像の他の部分は無視する必要があります。次のコード(境界の場合は1、境界のない場合は0を表示)を使用してエッジを見つけようとしましたが、0しか表示されませんでした。
どんな助けでも大歓迎です。
添付のPS画像は、元の画像と境界のある画像を示しています。コードは境界のある画像で機能し、その境界の内側にある画像の部分を抽出します。
以下は私が試したコードです:
BW = edge(x)
BW = edge(x,'sobel')
BW = edge(x,'sobel',thresh)
BW = edge(x,'sobel',thresh,direction)
[BW,thresh] = edge(x,'sobel',...)
BW = edge(x,'prewitt')
BW = edge(x,'prewitt',thresh)
BW = edge(x,'prewitt',thresh,direction)
[BW,thresh] = edge(x,'prewitt',...)
BW = edge(x,'roberts')
BW = edge(x,'roberts',thresh)
[BW,thresh] = edge(x,'roberts',...)
BW = edge(x,'log')
BW = edge(x,'log',thresh)
BW = edge(x,'log',thresh,sigma)
[BW,threshold] = edge(x,'log',...)
BW = edge(x,'zerocross',thresh,h)
[BW,thresh] = edge(x,'zerocross',...)
BW = edge(x,'canny')
BW = edge(x,'canny',thresh)
BW = edge(x,'canny',thresh,sigma)
[BW,threshold] = edge(x,'canny',...)