Matlab常用图像处理命令108例(一)

简介: Matlab常用图像处理命令108例(一)
文章和代码以及样例图片等相关资源,已经归档至【Github仓库: digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。

1.applylut

在二进制图像中利用lookup 表进行边沿操作。

语法:

A = applylut(BW,lut) 

举例

lut = makelut('sum(x(:)) == 4',2); 

BW1 = imread('text.tif'); 

BW2 = applylut(BW1,lut); 

imshow(BW1) 

figure, imshow(BW2)

相关命令: makelut

2.bestblk

功能:确定进行块操作的块大小。

语法:

siz = bestblk([m n],k) 

[mb,nb] = bestblk([m n],k) 

举例

siz = bestblk([640 800],72) 

siz = 64 50 

相关命令: Blkproc

3.blkproc

功能:实现图像的显式块操作。

语法:

B = blkproc(A,[m n],fun) 

B = blkproc(A,[m n],fun,P1,P2,...)

B = blkproc(A,[m n],[mborder nborder],fun,...)

B = blkproc(A,'indexed',...)

举例

I = imread('alumgrns.tif');

I2 = blkproc(I,[8 8],'std2(x)*ones(size(x))');

imshow(I)

figure, imshow(I2,[]);

相关命令:

colfilt, nlfilter,inline

4.brighten

功能:增加或降低颜色映像表的亮度。

语法:

brighten(beta)
newmap = brighten(beta)
newmap = brighten(map,beta)
brighten(fig,beta)

相关命令:

imadjust, rgbplot

5.bwarea

功能:计算二进制图像对象的面积。

语法:

total = bwarea(BW)

举例

BW = imread('circles.tif');
imshow(BW);

bwarea(BW) 

ans = 

15799 

相关命令: bweuler, bwperim

6.bweuler

功能:计算二进制图像的欧拉数。

语法:

eul = bweuler(BW,n) 

举例

BW = imread('circles.tif'); 

imshow(BW); 

bweuler(BW) 

ans = –2 

相关命令: bwmorph, bwperim

7.bwfill

功能:填充二进制图像的背景色。

语法:

BW2
= bwfill(BW1,c,r,n) BW2 =
bwfill(BW1,n) [BW2,idx] = bwfill(...)

BW2
= bwfill(x,y,BW1,xi,yi,n) [x,y,BW2,idx,xi,yi]
= bwfill(...) BW2 =
bwfill(BW1,'holes',n) [BW2,idx] = bwfill(BW1,'holes',n)

举例

BW1 =[1 0 0 0 0 0 0 0

1 1 1 1 1 0 0 0

1 0 0 0 1 0 1 0

1 0 0 0 1 1 1 0

1 1 1 1 0 1 1 1

1 0 0 1 1 0 1 0

1 0 0 0 1 0 1 0

1 0 0 0 1 1 1 0]

BW2 = bwfill(BW1,3,3,8) 

BW2 =

1 0 0 0 0 0 0 0

1 1 1 1 1 0 0 0

1 1 1 1 1 0 1 0

1 1 1 1 1 1 1 0

1 1 1 1 0 1 1 1

1 0 0 1 1 0 1 0

1 0 0 0 1 0 1 0

1 0 0 0 1 1 1 0

I = imread('blood1.tif'); BW3
= ~im2bw(I);

BW4
= bwfill(BW3,'holes'); imshow(BW3)

figure, imshow(BW4)

相关命令:
bwselect, roifill

8.bwlabel

功能:标注二进制图像中已连接的部分。

语法:

L = bwlabel(BW,n) [L,num] = bwlabel(BW,n) 举例 
BW = [1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0
1 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 0]
L = bwlabel(BW,4) L =
1 1 1 0 0 0 0 0
1 1 1 0 2 2 0 0
1 1 1 0 2 2 0 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0

1 1 1 0 0 0 3 0
1 1 1 0 0 3 3 0
1 1 1 0 0 0 0 0
[r,c] = find(L==2); rc = [r c]
rc = 2 5
3 5
2 6
3 6

相关命令:
bweuler, bwselect

9.bwmorph

功能:提取二进制图像的轮廓。

语法:

BW2 = bwmorph(BW1,operation) 
BW2 = bwmorph(BW1,operation,n) 

举例

BW1 = imread('circles.tif');
imshow(BW1);

BW2 = bwmorph(BW1,'remove'); 
BW3 = bwmorph(BW1,'skel',Inf); 
imshow(BW2)
figure, imshow(BW3)

相关命令:

bweuler, bwperim, dilate, erode

10.bwperim

功能:计算二进制图像中对象的周长。

语法:

BW2 = bwperim(BW1,n)

举例

BW1 = imread('circbw.tif'); 

BW2 = bwperim(BW1,8); 

imshow(BW1)

figure, imshow(BW2)

相关命令:

bwarea, bweuler, bwfill

参考文献:

[1] Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.

[2] [阮秋琦. 数字图像处理(MATLAB版)[M]. 北京:电子工业出版社, 2014.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)

[3] [冈萨雷斯. 数字图像处理(第三版)[M]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)

目录
相关文章
|
6月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
206 0
|
8月前
|
机器学习/深度学习 传感器 监控
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
374 1
|
7月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
252 2
|
7月前
|
计算机视觉
【图像处理】基于MATLAB的短时傅里叶变换和小波变换及图像处理(Matlab实现)
【图像处理】基于MATLAB的短时傅里叶变换和小波变换及图像处理(Matlab实现)
148 2
|
7月前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
224 1
|
7月前
|
机器学习/深度学习 编解码 算法
【图像处理】图像的边缘检测(Matlab代码实现)
【图像处理】图像的边缘检测(Matlab代码实现)
384 1
|
8月前
|
算法 Java 计算机视觉
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
509 2
|
8月前
|
机器学习/深度学习 编解码 算法
【图像处理】小波编码图像中伪影和纹理的检测(Matlab代码实现)
【图像处理】小波编码图像中伪影和纹理的检测(Matlab代码实现)
139 0
|
计算机视觉
【图像处理】基于灰度矩的亚像素边缘检测方法理论及MATLAB实现
基于灰度矩的亚像素边缘检测方法,包括理论基础和MATLAB实现,通过计算图像的灰度矩来精确定位边缘位置,并提供了详细的MATLAB代码和实验结果图。
473 6
|
计算机视觉
【图像处理】基于Zernike矩的亚像素边缘检测理论及MATLAB实现
基于Zernike矩的亚像素边缘检测理论,并提供了相应的MATLAB代码实现,包括定义7x7的Zernike模板、图像处理、边缘检测和连通域分析等步骤。
531 1

热门文章

最新文章

下一篇
开通oss服务