24小时热门版块排行榜    

查看: 1899  |  回复: 24
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

bluesea57

铁虫 (小有名气)

[求助] 求助使用MATLAB计算绿色叶片的覆盖度的问题

请教一下,不知哪位高手可以帮我计算一下附图中的绿色叶片占整张图片的百分率,最好是使用MATLAT软件,最好也能详细列出MATLAB计算的每一步程序,谢谢。绿色部分的阈值是R>=90,B>=90,G>=90

附图
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

希望在这里认识更多的朋友,共进步,共发展。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesea57

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by sudo at 2011-11-13 19:26:34:
[code]
g = imread('1280476_1321176098_419.jpg'); %读入图像
r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,1)>=90); %注意黑色是0,白色是1
percent = ( 1739*1908 - sum(r() ) / (1739*1908)
...

请教您一下,如果阈值同时满足:R大于等于23,小于等于75;G大于等于24,小于等于86;B大于等于22,小于等于67;且G>R>B。还是计算附件的图片中的绿色部分占整张图片的百分率,那计算程序又是哪一个呢?谢谢
希望在这里认识更多的朋友,共进步,共发展。
6楼2011-11-13 21:42:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 25 个回答

sudo

木虫 (正式写手)

【答案】应助回帖

★ ★ ★
余泽成(金币+3): 谢谢参与应助! 2011-11-13 21:42:40
CODE:
g = imread('1280476_1321176098_419.jpg'); %读入图像
r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,1)>=90); %注意黑色是0,白色是1
percent = ( 1739*1908 - sum(r(:)) ) / (1739*1908)

结果是0.2624,即26.24%

判定是叶子的部分如黑色部分所示

2楼2011-11-13 19:26:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★
余泽成(金币+2): 辛苦了! 2011-11-13 21:42:48
其实我觉得这个判定条件这么样子不好....你自己看着办吧...这样子是反过来选了,就是把“不是叶子的部分”选定为了1

因为matlab里面RGB值越大,越亮

所以最后计算的时候就是要这么减
3楼2011-11-13 19:31:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesea57

铁虫 (小有名气)

引用回帖:
3楼: Originally posted by sudo at 2011-11-13 19:31:33:
其实我觉得这个判定条件这么样子不好....你自己看着办吧...这样子是反过来选了,就是把“不是叶子的部分”选定为了1

因为matlab里面RGB值越大,越亮

所以最后计算的时候就是要这么减

你好,你觉得怎样的判定条件会好一些呢?可以告诉我吗?
r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,1)>=90); 在程序中具体是啥意思,可以给解释一下吗?1739*1908 是不是代表像素数?谢谢!
希望在这里认识更多的朋友,共进步,共发展。
4楼2011-11-13 19:52:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见