Matlab(9)影像处理(二)

Image Thresholding(图像阈值化)

如何数下图中有多少颗米?
在这里插入图片描述

  1. 将图转为binary图,背景将变黑,米变白
  2. 计算连在一起的白色区域有多少
    阈值图就是设定一个阈值,大于阈值的值都将被设为白色(1),小于阈值的值都将被设为黑色(0)

Image Thresholding

threshold(阈值)

  • graythresh()
    找出阈值
  • im2bw()
    根据阈值将影像转为binary image(二元图像)

在这里插入图片描述
也可以用两层循环遍历图像的每个点,然后与自定义的阈值比较,大于阈值置为1,小于阈值置为0,来实现上述函数

Background estimation

背景会影响图像识别,所以可以先把背景识别出来,然后用原图减掉他
在这里插入图片描述

这样原来的执行过程就可优化为:
在这里插入图片描述

imsubstract 是相减
可以看出准确度大大提高

Connected-component labeling

扫描图像中的点,将相连的同一非零数值标上label
过程:

  1. 背景全部标0,label初始值为1
  2. 从第一个非0点开始,值标为label(此时是1)
  3. 将与这个点相连的点都标为label(1)
  4. label=label+1(此时是2)
  5. 寻找下一个非0点

从而实现数出米粒的颗数(即最后的label值)

  • bwlabel()
    只用于binary image
    在这里插入图片描述

1.bwlabel()

Matlab中bwlabel函数的使用
语法: L = bwlabel(BW,n)

返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。

4连通/8连通

4连通/8连通是图像处理里的基本概念:

  • 4连通是指,如果像素的位置在其他像素相邻的上、下、左 或 右,则认为他们是连接着的,连通的,
  • 8连通,则是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角 或 右下角连接着,则认为他们是联通的;

[L,num] = bwlabel(BW,n)这里num返回的就是BW中连通区域的个数。


通俗的说,这个函数的作用是用来找这个二值图像中的连通区域的,对于不同的符合条件的连通区域(4连通,8连通)分别用不同的标号加以区别,结果保存在L这个矩阵里,而num里保存的是输入图像中连通区域的总数。

example
在这里插入图片描述

2.label2rgb()

给不同label的标上特定颜色
在这里插入图片描述

3.cat()

任务:将米标为红色,背景标为黑色

cat() : 用来联结数组
用法:
C = cat(dim, A, B) 按dim来联结A和B两个数组。
C = cat(dim, A1, A2, A3, …) 按dim联结所有输入的数组。

一个常用的用法:
由于灰度图是二维的,RGB图是三维的,在做图像处理的时候,如果需要升维,可以考虑用cat,三个灰度图(二维矩阵)可以用cat叠加为三维的RGB图

example

imshow(cat(3,labeled,zeros(size(labeled,1),size(labeled,2)),zeros(size(labeled,1),size(labeled,2))))

4.降噪

有些米粒只有部分出现,可以设置阈值将阈值以下的置零
有些米粒两个连在了一起,可以设置阈值根据情况将阈值以上的数目乘2或更多

5.regionprops()

用途:get the properties of region,即用来度量图像区域属性的函数。

语法:STATS = regionprops(L,properties)

描述:测量标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。

返回值STATS是一个长度为max(L( : ))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。

properties 可以是由逗号分割的字符串列表、饱含字符串的单元数组、单个字符串 ‘all’ 或者 ‘basic’。如果 properties 等于字符串 ‘all’,则所有下述字串列表中的度量数据都将被计算,如果 properties 没有指定或者等于 ‘basic’,则属性: ‘Area’, ‘Centroid’, 和 ‘BoundingBox’ 将被计算。

matlab的Regionprops详解

在这里插入图片描述

graindata(51)即查看第51颗米的数据

6.bwselect()

可以互动式选择米
十字标选中米,然后按esc 便会只显示这些选中的米

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值