Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58328
  • 博文数量: 11
  • 博客积分: 410
  • 博客等级: 一等列兵
  • 技术积分: 114
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-23 01:10
文章分类

全部博文(11)

文章存档

2013年(1)

2012年(1)

2011年(3)

2010年(6)

我的朋友

分类: Delphi

2011-03-09 21:23:30

提取图像中的标准杆,并坐标化
 
1.将RGB图像转化为灰度图
  IM=imread('图片.jpg');
  imshow(IM); //或者使用imview()显示图片,不会覆盖已有图像
 
  grayIM=rgb2gray(IM);
  figure,imshow(grayIM);
 
 
 
2.观察灰度图,由于光照原因,有很大一块区域亮度和标准杆的亮度相近,为了消除标准杆以外比较亮的区域而保留标准杆,故可用形态学方法去掉标准杆,而保留其它亮区域。再用灰度图减去处理后的图,便可以得到亮的标准杆的图。
    形态学方法结构元素的选取:
    观察标准杆的大小,x坐标和y坐标的范围近似为(157,172)和(182,278))(注:这里选取的标准杆的左半部分),故可选择比标准杆范围稍大,却比其它两区域小的结构元素。
    结构元素选为ones(10,20),代码如下:
    openIM=imopen(grayIM,ones(10,20));
    figure,imshow(openIM);
 
   
    newIM= abs(imsubtract(grayIM,openIM));
    figure,imshow(newIM);
   
   
 
3.先处理图像的下半部分,故截取原图的一半。
    [m n]=size(newIM);
    downIM=newIM(0.5m:m,:);  //使用时m必须替换为数值
    figure,imshow(downIM);
   
   
 
  绘画出图像的强度分布图 imhist(downIM)
 
  
  通过观察强度分布可知,标准杆的亮度值较大,且分布比较集中,故可以将亮度较低的像素点去掉.
  这里选择将亮度小于60的像素点去掉。
  downIM(find(downIM<60))=0;
  imhist(downIM);
  imview(downIM);
 
 
 
 
 
4.观察处理后的图片,标准杆的形状比其它部分形状要狭长,可以考虑用形态学的方法将其它部分腐蚀掉。
  结构元素选取:标准杆较长,而其它部分有的较宽,有的较圆,故可以用狭长的结构元素(小于标准杆)来腐蚀其它部分。
标准杆范围:x坐标和y坐标的范围近似为(157,172)和(182,278))
这里结构元素选取为:ones(40,1)。(比上方两侧的部分要宽)
  openIM2=imopen(downIM,ones(40,1));
  figure,imshow(openIM2);
 
注:这里ones(40,1)还能起到平滑标准杆轮廓的作用,去掉周围的离散点。40这个值可以通过实验来确定。
 
5.得到只有标准杆的灰度图后,就可以转化为二值图,然后经过处理得到标准杆中间轮廓的坐标。
 
阅读(628) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~