フィルターのクリア

How can I remove everything except leaves?

1 回表示 (過去 30 日間)
Oveis Hassanijalilian
Oveis Hassanijalilian 2014 年 12 月 2 日
コメント済み: Mohammad Abouali 2014 年 12 月 2 日
  1 件のコメント
Oveis Hassanijalilian
Oveis Hassanijalilian 2014 年 12 月 2 日
the small part of the finger above the leaf is really difficult for me to remove. I tried to remove it based on Hue, but it also remove the brown parts of the leaves.

サインインしてコメントする。

採用された回答

Mohammad Abouali
Mohammad Abouali 2014 年 12 月 2 日
編集済み: Mohammad Abouali 2014 年 12 月 2 日
Use a combination of hsv and activecontour
I=imread('Finger2.png');
hsv=rgb2hsv(I);
m=(hsv(:,:,1)>0.08 & hsv(:,:,1)<0.2);
m2=activecontour(hsv(:,:,1),m,'edge','ContractionBias',-0.1);
imshow(m2)
Movafagh bashi
  2 件のコメント
Oveis Hassanijalilian
Oveis Hassanijalilian 2014 年 12 月 2 日
Thank you for your response. I have a problem with this code. I think it is only usable in Matlab R2014b. I am using R2014a which I believe does not support 'ContractionBias'. I would appreciate if you could respond me. Mamnoon
Mohammad Abouali
Mohammad Abouali 2014 年 12 月 2 日
mmmm.
How about this?
I=imread('Finger2.png');
hsv=rgb2hsv(I);
m=(hsv(:,:,1)>0.08 & hsv(:,:,1)<0.2);
m=imfill(m,'holes');
m=bwmorph(m,'majority',25);
m2=activecontour(hsv(:,:,1),m,'edge','SmoothFactor',1.5);
imshow(m2)
It doesn't work as good as last one though.
Try some dilation and erosion too.

サインインしてコメントする。

その他の回答 (1 件)

Deepesh B
Deepesh B 2014 年 12 月 2 日
hi
By
imtool
command find exact threshold for leaves color and apply segmentation for that color only finger will be automatically remove d
while fixing threshold use separate threshold for R, G, B with | & conditions

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by