2014年2月28日 extendmin()和extendmax()函数实战


再谈extendedmax()函数

可以使用MATLAB图形处理工具箱中的函数来确定图像的高亮度区域和低亮度区域。

imregionalmax函数和imregionalmin函数确定所有的极大值和极小值
imextendedmax函数和imextendedmin函数确定大于某阈值的极大值和小于某阈值的极小值

这些函数报灰度图像作为输入参数,而把二值图像作为输出参数。在输出的二值图像中,局部极大值和局部极小值设为1,其他值设为0.

imextendedmax函数和imextendedmin函数,以imextendedmax为例,是首先将输入的阈值减去再用imregionalmax来做操作的。
所以都是为了确定极大值和极小值。

使用extendedmax()函数,输入一个矩阵如图:

A=[   11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;

      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;
      11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11;

   ]

赋值处理后:

A =


    11    11    11    11    11    11    11    11    11    11    11    11    11    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    15    15    15    15    15    15    15    15    15    15    15    15    11    11    11
    11    11    11    11    11    11    11    11    11    11    11    11    11    11    11    11

采用:B=imextendedmax(A,2);

B =


     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     1     1     1     1     1     1     1     1     1     1     1     1     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

采用:C=imextendedmin(A,2);

C =


     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1
     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1


图片减去背景的一种方法探究:

著名的大米图像减去背景:

原图像



I =imread('rice.png');%读取图像
imshow(I);
background = imopen(I,strel('disk',20));%使用形态学图像开运算,将会删除那些不完全包括在半径为15的元盘中的图像
figure,imshow(background);

I2=imsubtract(I,background);


我做的图像







注意分析我所要的图像和上述算法的不同之处:

I =imread('ceshi1.jpg');
imshow(I);
background = imclose(I,strel('disk',20));%此处我将上面程序中的开操作改成了关操作
figure,imshow(background);
I2=imsubtract(background,I);%此处我用背景减去了原图像
figure,imshow(256-I2);%此为图像的取反操作,因为此RGB图像的最大值为256


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值