数字图像处理中常用的matlab函数

1.Size()函数

功能:获取图像矩阵大小。一般是应用于有格式图像,因无格式(二进制)图像的大小在读入 时已知。

I=imread(‘test’,’bmp’);%读入图像
[x,y]=size(I)%获取图像大小

得到x,y的值,该图像大小就是x*y

2.Zeros()函数

功能:零矩阵函数。

I=zeros(100,100)%I为100×100的零矩阵,矩阵中元素全为零。
Imshow(I)%显示一个100×100的黑方块。

例题:

生成一个外边黑中间一块是白的图像,可以先生成一个全黑的图像,然后在中间作一个 双重循环,赋象素值为255或1。
I1=zeros(128,128);%生成一个128×128的全黑图像
for i=38:1:90
for j=58:1:70
I1(i,j)=255;%或I1(i,j)=1;
end
end
imshow(I1);%I1即为所求图形

3.fft2(), ifft2()函数

fft2功能:进行2维快速傅里叶变换
ifft2功能:进行2维快速傅里叶反变换

Y =fft2(X)
%计算矩阵X的二维离散傅里叶变换矩阵Y。X和Y的维数相同。
Y = fft2(×,m,n)
%计算矩阵X的二维离散傅里叶变换矩阵Y。在变换前先将X补零至m×n矩阵。
%如果m或n比A的维数小,则将X截短。Y的维数为m×n。
X = ifft2(Y) 
%如果 Y 是一个多维数组,则 ifft2 计算大于 2 的每个维度的二维逆变换。输出 X 的大小与 Y 相同。
X = ifft2(Y,m,n) 
%在计算逆变换之前截断 Y 或用尾随零填充 Y,以形成 m×n 矩阵。X 也是 m×n。如果 Y 是一个多维数组,ifft2 将根据 m 和 n 决定 Y 的前两个维度的形状。
I=imread('kdy.jpg');
I = rgb2gray(I);      
subplot(1,2,1);
imshow(I)
% 求离散傅立叶频谱
L=fftshift(fft2(I));
subplot(1,2,2);
imshow(log(abs(L)),[8,10])

4.Imhist() 函数

功能:图像数据的直方图

扫描二维码关注公众号,回复: 16971051 查看本文章
[counts,bin] = imhist(I)
%计算灰度图像 I 的直方图。imhist 函数在 counts 中返回直方图计数,在 bin中返回 bin 位置。直方图中 bin 的数量由图像类型确定
imhist(___)
%显示绘制的直方图。如果输入图像是索引图像,则直方图在颜色图 cmap 的颜色条上方显示像素值分布。

5.Histeq() 函数

功能:使用直方图均衡增强对比度

I=imread('kdy.jpg')
J = histeq(I) 
%变换灰度图像 I,以使输出灰度图像 J 的直方图具有 64bin 且大致平坦。
imshow(J,[]);

6.Imrotate() 函数

功能:旋转图像

J = imrotate(I,angle) 将图像 I 围绕其中心点逆时针方向旋转 angle 度。
J = imrotate(I,angle,method) 使用 method 指定的插值方法旋转图像 I。
I=imread('kdy.jpg')
J = imrotate(I,-1,'bilinear');
figure
imshow(J)
title('Rotated Image')

7.Imnoise() 函数

功能:向图像添加噪声

J = imnoise(I,'gaussian') 
%将方差为 0.01 的零均值高斯白噪声添加到灰度图像 I。
J = imnoise(I,'gaussian',m) 
%添加高斯白噪声,均值为 m,方差为 0.01。
J = imnoise(I,'gaussian',m,var_gauss) 
%添加高斯白噪声,均值为 m,方差为 var_gauss。
J = imnoise(I,'salt & pepper') 
%添加椒盐噪声,默认噪声密度为 0.05。这会影响大约 5% 的像素。
J = imnoise(I,'salt & pepper',d) 
%添加椒盐噪声,其中 d 是噪声密度。这会影响大约 d*numel(I) 个像素。

8.Edge() 函数

功能:查找二维灰度图像中的边缘

BW = edge(I) 
%返回二值图像 BW,其中的值 1 对应于灰度或二值图像 I 中函数找到边缘的位置,值 0 对应于其他位置
BW = edge(I,method) 使用 method 指定的边缘检测算法检测图像 I 中的边缘。

9.Xlable(),Ylable()函数

功能:为 x ,y轴添加标签

xlabel(txt) 对当前坐标区或独立可视化的 x 轴加标签。
ylabel(txt) 对当前坐标区或独立可视化的 y 轴加标签。

猜你喜欢

转载自blog.csdn.net/weixin_52049271/article/details/127816880