MATLABで画像の境界線と交差するオブジェクトの数を数える
さまざまな兆候のあるRGB画像があります。私の主な目標は、画像の境界線と接触している標識を数えることです。 取り組みと課題 画像をロードすることから始めました。1]、次にそれをグレースケールに変換し、メジアンフィルターを適用してノイズを取り除きます[図1]。2]。次に、しきい値を0.2にして2値化しました。その結果、図3が得られました。この時点で2値化された画像を取得しましたが、問題は、同じ標識に属する一部が1つだけではなく、さまざまな領域に表示されていることです。私の目標は、同じオブジェクトに属する領域をマージすることです。そのためbwlabel、画像にある標識の数を数えimclearborder、境界線にある標識を取り除くために使用bwlabelし、両者の違いを取得するためにもう一度使用することができます二つ。 私のアプローチは、使用していたbwmorph、Dilateオブジェクトを拡張し、その後でそれらを埋めるためにしようとimfill、holes。しかし問題は、それらを少量拡張すると、4]、imfillそれらを大きく拡張すると[]はそれらを埋めるようには見えません[図5]すべてのオブジェクトがマージし始めます:( コード img=im2double(imread('image.png')); figure, imshow(img) img_gray=rgb2gray(img); imshow(img_gray); img_mediana=medfilt2(img_gray, [3 3]); figure, imshow(img_mediana); img_bin=im2bw(img_mediana, 0.2); imshow(img_bin) img_dilate=bwmorph(img_bin, 'Dilate', 10); imshow(img_dilate) img_fill=imfill(img_dilate, 'Holes'); figure, imshow(img_fill) 図 図1: 図1 http://dl.dropbox.com/u/5272012/1.png 図2: イチジク2 http://dl.dropbox.com/u/5272012/2.png 図3: 図3 http://dl.dropbox.com/u/5272012/3.png 図4: イチジク4 http://dl.dropbox.com/u/5272012/4.png 図5: イチジク5 http://dl.dropbox.com/u/5272012/5.png