找回密码
 注册
Simdroid-非首页
查看: 145|回复: 7

如何统计像素点求面积

[复制链接]
发表于 2009-5-12 22:16:56 | 显示全部楼层 |阅读模式 来自 香港
本帖最后由 ljelly 于 2009-5-13 09:54 编辑

如题: 比如一区域内有一些不规则图形,这些图形也不连续, 但具有相同的颜色, 可不可以通过统计这一颜色的像素点个数来求其总面积呢?

如果可行, 怎么实现? 请高手前辈指教,多谢了!!
发表于 2009-5-12 22:25:23 | 显示全部楼层 来自 重庆
Simdroid开发平台
甚至不用 专门的toolbox 提供的函数。手工写代码都可以。

相同的颜色,就是 rgb 数值相同,可以加一个范围,rgb × 1.05 ,rgb × 0.95  
找出 rgb值在这个范围内的点的数目就可以了。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-12 23:58:54 | 显示全部楼层 来自 香港
本帖最后由 siuchun 于 2009-5-13 00:07 编辑

2# 风天小畜

多谢, 比如我要求图中红色面积占总圆面积的比例, 可不可以这样: 分别求出白色和红色像素点个数 (红色以外全是白色)

A=imread('sample.bmp');
count1=0;count2=0;
a=size(A);
for i=1:a(1)
    for j=1:a(2)
        if A(i,j,:)==[255 0 0];
          count1=count1+1;
       elseif A(i,j,:)==[255 255 255];
       count2=count2+1;
       end
   end
end

我要计算的图片都是BMP格式的, 现手边没MATLAB, 不知上述能不能实现?
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-13 09:27:48 | 显示全部楼层 来自 香港
bmp图像是彩色的,但imread读入后,再imshow发现全变成黒白,没一点彩色了.....
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-13 10:31:22 | 显示全部楼层 来自 香港
或者是如下图所示的JPG图像, 怎样只统计圆内红色面积占这个圆面积的比例呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2009-5-13 13:11:03 | 显示全部楼层 来自 江苏无锡
我想解决这个问题有点意思。
研究这个问题有何意义?
或者可以应用到哪里?
回复 不支持

使用道具 举报

发表于 2009-5-13 14:31:47 | 显示全部楼层 来自 重庆沙坪坝区
本帖最后由 风天小畜 于 2009-5-13 14:39 编辑

其实,你不需要用循环。matlab要矢量化。。。


我给出个示例代码:

  1. %读入图片,cX 大小为 m x n x 3 ,m,n为图像大小,3为 颜色
  2. cX=imread('image01.jpg');

  3. %下面定义 tolerance,因为图像压缩什么的原因,红色不一定是(255,0,0),要有个模糊度。(250,5,5)也可以算作红色。
  4. %下面的因子,0.95,0.05,就是颜色的tolerance;
  5. rT=255*0.95;
  6. gT=255*0.05;
  7. bT=255*0.05;

  8. %矢量化,避免循环,找出符合要求的 像素数目
  9. cF=find(cX(:,:,1)>rT & cX(:,:,2)<gT & cX(:,:,3)<bT);

  10. %求出符合要求的像数点的数目
  11. cArea=length(cF);
  12. %找到了满足要求的像素点的总数。下面,你就可以随意发挥了。
  13. %你可以用cArea 除以 所谓的区域,或者什么的。
复制代码
不管什么类型的数据,在内存中,就是纯粹的010101数字。
图像操作,就是找出一组符合要求的数字而已。

我不懂图像toolbox的那些函数,
我想,LZ的问题,是比较有代表性的,
用 toolbox里面的函数,可能有更奇妙的方法。

-
对了,LZ是搞生物的??

-

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-13 15:22:09 | 显示全部楼层 来自 香港
7# 风天小畜

多谢风天小畜!!
我不是搞生物的,是搞机械的.
你的程序简洁明了, 虽然我用上面的循环也可以得到相同的结果, 但太耗时间.
以后得多学习请教, 多谢多谢!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 11:22 , Processed in 0.072514 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表