设为首页 加入收藏

TOP

12.4.3 图像识别(1)
2013-10-07 15:13:32 来源: 作者: 【 】 浏览:62
Tags:12.4.3 图像 识别

12.4.3  图像识别(1)

图像的预处理与图像分割都是图像识别的基础。图像识别技术在不同领域的应用,对图像的预处理和图像分割有着不同的技术要求。在现有的实际应用中,数字图像处理技术往往所需处理的图像信息量巨大,同时图像采集装置在采集图像时,受到多种因素的影响,如环境条件、视觉性能、光照强度、温度等。所以图像识别技术更好的应用依然是多学科领域研究的重点。

本节将以图像识别技术在工业包装领域对药丸进行计数的应用实例,介绍如何通过图像识别技术识别给定图像中药品的个数,从而实现药品包装计数的功能。

1.使用MATLAB工具箱函数进行图像处理

(1)读入图像。在MATLAB命令窗口输入如下代码:

  1. >> clear;  
  2. >> close all  
  3. >> I=imread('pill.png');  
  4. >> figure,imshow(I);  

运行程序结果,读取的原始图像如图12.7所示。
 
图12.7  原始图像
(2)由于该图像为彩色RGB格式图像,而将图像转换为灰度图像进行处理,才能充分发挥MATLAB语言进行图像分析的特长。可以通过以下程序代码将图像进行格式转换,原始灰度图像如图12.8所示,转换后图像显示效果如图12.9所示。在MATLAB命令窗口中输入如下程序代码:
  1. >> i=rgb2gray(I);  
  2. >> figure, imshow(i);  
  3. >> figure,imhist(i);title('直方图');  

程序运行结果如图12.8和图12.9所示。
 
图12.8  原始灰度图像
 
图12.9  原始图像的灰度直方图
(3)从灰度图像以及直方图可以判断,图像的灰度值在范围[30 140]之间,灰度值所属区域不到整个范围的一半。为调整图像清晰度,提高图像质量,对图像进行中值滤波处理。在MATLAB命令窗口输入如下指令代码:
  1. >> F0=imadjust(i,stretchlim(i),[0 1]);  
  2. >> Ft=medfilt2(F0,[5 5]);  
  3. >> figure,imshow(Ft);  
  4. >> figure, imhist(Ft);title('直方图');  

程序运行,处理后的图像如图12.10和图12.11所示。

  
图12.10  中值滤波后图像
 
图12.11  中值滤波后直方图

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇12.4.3 图像识别(2) 下一篇12.4.2 图像分割

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: