24小时热门版块排行榜    

查看: 2385  |  回复: 24

bluesea57

铁虫 (小有名气)

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

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

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

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的回帖

sudo

木虫 (正式写手)

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-13 21:43:33
引用回帖:
4楼: Originally posted by bluesea57 at 2011-11-13 19:52:39:
你好,你觉得怎样的判定条件会好一些呢?可以告诉我吗?
r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,1)>=90); 在程序中具体是啥意思,可以给解释一下吗?1739*1908 是不是代表像素数?谢谢!

=,=不好意思,笔误。。。

r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,3)>=90);

分别代表R>=90,G>=90,B>=90的条件,把原来的图像映射为一个只有0和1的矩阵,其中0表示没满足条件的,也就是黑色的部分~

这个条件将就能用嗯,更好的条件要慢慢试才能试出来

1739*1908是表示像素数
5楼2011-11-13 20:04:50
已阅   回复此楼   关注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的回帖

sudo

木虫 (正式写手)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-11-14 09:37:12
bluesea57(金币+3): 不错的帖子。 2011-11-14 09:56:07
引用回帖:
6楼: Originally posted by bluesea57 at 2011-11-13 21:42:16:
请教您一下,如果阈值同时满足:R大于等于23,小于等于75;G大于等于24,小于等于86;B大于等于22,小于等于67;且G>R>B。还是计算附件的图片中的绿色部分占整张图片的百分率,那计算程序又是哪一个呢?谢谢

举个简单的例子以便你理解~

首先我们定义一个2x2x2的三维数组吧
CODE:
a(:,:,1)=[10 20;30 40];
a(:,:,2)=[50 60;70 80];

这样,当你使用a(:,:,1)的时候,指的就是这个二维矩阵:
10 20
30 40

接下来我们看布尔运算
如果我写a(:,:,1)>=15,这个布尔表达式就返回一个各个元素与15比较大小的结果,如果>15则为真,即1,反之则假,得0,于是
CODE:
a(:,:,1)>=15

会得到一个矩阵
0 1
1 1

很容易理解吧?

再接下来就是位运算的问题了,我们先t=a(:,:,1),然后看看这样子会有什么效果:
CODE:
(t>=15) & (t<=35)

其中&运算的作用,就是与,1&1=1,1&0=0,0&1=0,0&0=0
于是上面的计算是这样的:
CODE:
[0 1]  &  [1 1]
[1 1]     [1 0]

对应的元素相与,计算结果就是:
0 1
1 0

OK,大概解说完毕,请楼主举一反三吧=,=....
7楼2011-11-13 22:17:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesea57

铁虫 (小有名气)

谢谢,十分感谢!
希望在这里认识更多的朋友,共进步,共发展。
8楼2011-11-13 22:36:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhucy

实习版主 (著名写手)

DOE锅炉工

引用回帖:
8楼: Originally posted by bluesea57 at 2011-11-13 22:36:08:
谢谢,十分感谢!

想问一下 这个像素数是如何得到的?
人生那么多不确定,你怕什么
9楼2011-11-14 18:47:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhucy

实习版主 (著名写手)

DOE锅炉工

引用回帖:
5楼: Originally posted by sudo at 2011-11-13 20:04:50:
=,=不好意思,笔误。。。

r = (g(:,:,1)>=90) | (g(:,:,2)>=90) | (g(:,:,3)>=90);

分别代表R>=90,G>=90,B>=90的条件,把原来的图像映射为一个只有0和1的矩阵,其中0表示没满足条件的 ...

请问 这个像素数是如何得到的? 谢谢
人生那么多不确定,你怕什么
10楼2011-11-14 18:47:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bluesea57 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 没有任何消息-是不是就凉了 +3 图啦图啦 2026-08-24 3/150 2026-08-24 16:43 by GZUZM
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +4 scalable 2026-08-24 4/200 2026-08-24 16:22 by truewz
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 2026国自然函评费到账 +17 羊腰板 2026-08-21 18/900 2026-08-24 12:03 by iaeyuan
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 明天应该可查了!? +4 chengyan1220 2026-08-23 4/200 2026-08-24 08:47 by gloomy6159
[基金申请] 什么时候开奖? +10 CrisMessi 2026-08-18 11/550 2026-08-24 06:50 by 开心的小狮子
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见