Matlab机器视觉工具箱(MVTB)教程(1)——图像处理

前言

机器视觉工具箱(MVTB)提供了许多在机器视觉和基于视觉的控制中有用的功能。这是一个有点折衷的收藏品,反映了作者对光度学、摄影测量学、色度学等领域的个人兴趣。它包括100多个功能,包括图像文件读写、采集、显示、过滤、斑点、点和线特征提取、数学形态学、单应、视觉雅可比、摄像机校准和颜色空间转换等操作。
运行此教程的实例,需要在Matlab附加功能选项中安装如下图所示的机器视觉工具箱(MVTB)、vlfeat、MATLAB Support for MINGW-W64。

获取图像

获取图像的方法有读取本地图像、读取相机图像、生成图像。

读取本地图像

 %读取本地照片文件
street = iread( 'street.png') ;  
about (street )      %获取照片信息
idisp(street);        %在matlab显示照片

结果如下:
读取本地图像示例

读取相机图像

操作方法如下

 cam =Videocamera("name")%打开一个特殊相机:
im =cam.grab()%使用grab方法抓取一幅图像

工具箱函数产生图像

工具箱函数testpattern可以产生各种形式的简单图像,包括直线、网格点或方块、光强斜坡变化和光强正弦变化,第二个参数代表所建图像的大小。

 %首先建一个全是黑色像素的帆布(像素值是0):
canvas =zeros(200200) ;
%然后创建两个正方一形模板:
sq1=0.5*ones(40,40) ;
sq2=0.9*ones(20,20) ; 
%再创建一个圆: 
circle = 0.6* kcircle(30) ;
%把它们粘贴到帆布上:
canvas =ipaste (canvas, sq1,[2040]) ;
canvas =ipaste (canvas,sq2,[ 60120]) ;
canvas = ipaste (canvas, circle, [10030]) ;
%最后,在帆布上画一条线段:
canvas = iline( canvas, [3040][150190]0.8) ;
idisp(canvas); %显示图像

结果如下图。
工具箱函数产生图像

一元操作

一元图像处理操作,输出结果是一幅与输人图像相同大小的图像,且每一个输出像素都是对应输人像素的函数。

street = iread( 'street.png') ;
>>idisp(street)
>>ihist(street); %显示直方图

结果如下。
直方图显示
其余一元操作指令如下。

%取灰度值在3080之间的像素点。
shadows = (street >= 30) & (street<= 80) ;
idisp ( shadows )
%显示像素值的累积直方图
ihist(street,'cdf');
%直方图均衡化
im = inormhist(street);

如下图为直方图均衡化前后对比。
直方图均衡化前后对比

二元操作

二元操作中,每一个输出像素都是两个输人图像中对应像素点的函数。常用的二元操作包括二进制算术运算,如加法、减法、元素操作,或者是MATLAB内置的二元矩阵函数,如max、min、bitand、atan2等。用一个unit8图像减去另一个unit8图像,就会产生另外一个unit8图像,尽管结果可能是负的。MATLAB却可以正确地把值取在[0 ,255]区间中,所以小数减大数将会得出0,而不是负值。另外,大于255的结果将会被设为255。为了实现这种纠正,图像应该首先用MATLAB函数cast转换成有符号整型,或者使用工具箱函数idouble转换成浮点型。

空间操作

平滑处理

%互相关核
K = ones(21,21) / 21^2;
lena = iread('lena.pgm', double');
%平滑处理
idisp( iconv(K,lena) ) ;

这种平均化会使图像光滑化、模糊化或者散焦,效果如下图。
平滑处理对比
每一个输出像素都是输人图像中与之对应的21 x21相邻像素的平均值。

边缘检测

castle =iread('castle_sign.jpg','double','gray');
p=castle(360,:) ;
figure(
  • 8
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MATLAB机器视觉工具箱MATLAB软件的一个扩展工具箱,主要用于处理和分析图像和视频。该工具箱包含了许多用于图像处理、特征提取、目标检测、图像配准、三维重建以及机器学习等领域的算法和函数。它提供了快速、高效的图像处理工具,并且具有丰富的可视化功能,使用户能够更加直观地了解图像和视频数据。 MATLAB机器视觉工具箱计算机视觉/图像处理研究中经常被使用,尤其对于深入的视觉算法研究来说,MATLAB自带的功能可能不够满足需求。因此,研究者常常使用一些比较优秀的MATLAB计算机视觉工具箱来辅助研究工作。比如VLFeat是一个著名而常用的工具箱,它提供了许多计算机视觉相关的功能。 安装和启用MATLAB机器视觉工具箱非常简单,只需按照一些简单的步骤进行操作。首先,你需要将工具箱安装到MATLAB中并启用它。具体的安装和启用步骤可以在相关的文档或教程中找到。 总之,MATLAB机器视觉工具箱是一个功能强大的工具箱,适用于处理和分析图像和视频的各种任务。它提供了丰富的算法和函数,为研究者和开发者提供了便利和效率。如果你在计算机视觉领域有相关的需求,我强烈推荐你使用MATLAB机器视觉工具箱来进行研究和开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值