matlab入门之旅,用matlab开始自己的机器视觉之旅 | 学步园

Matlab 在机器视觉上的应用

1.      读图片和显示图片

Img=Imread(‘name’);  (name指的同目录下得文件名(加后缀名的))

Imshow(img);

0_13189132259NNn.gif

灰度化:

Gray=rgb2gray(img);

0_1318913236HOmM.gif

2.      查看图像的直方图

imhist(gray);

0_13189132481UFo.gif

3.均衡化

grayqual=histeq(gray);

0_13189132549sd7.gif

0_1318913265q64O.gif

4.保存图片用 imwrite(I,’name’);

5.三维显示灰度图像的分布

surf(double(gray(1:end,1:end)));

0_1318913272xwyE.gif

0_1318913279DzJF.gif

0_1318913285SsCs.gif

6.

灰度图像的二值化:

level=graythresh(gray);  %level是返回的阀值(默认情况下使用otsu的)

brand=im2bm(img,level);

0_13189132990yz0.gif

7.

下面是手动二值化

brand=im2bw(img,0.5);

0_13189132990yz0.gif

8.

开运算

Openbrand=Imopen(brand,strel(‘disk’,3));

0_1318913304iZjQ.gif

9.

连通域计算 :

计算米粒的个数

0_1318913310r4bx.gif

[labelbrand,ricecount]=bwlabel(brand3,8);

ricecount = 74

%把标记图像变成索引图。

rgb_label=label2rgb(labelbrand,@spring,'c','shuffle');

0_13189133177v5k.gif

返回标识过的图像连通域的情况

graindata=regionprops(labelbrand,'basic');

graindata(3).Area

ans =

10.

imcrop()函数可以把指定图片中的某个矩形地方拿出来;

把标记为40 的米粒切割下来

>>rice40=imcrop(labelbrand,graindata(40).BoundingBox);

>> imshow(rice40);

0_1318913323zp0S.gif

内容略显简单,你的回复是我进步的动力,假如有人喜欢的话,我会把后面的内容也放上来的。谢谢大家。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值