基于MATLAB的数字图像处理
实验一:图像增强
实验名称:图像增强
实验目的:1.熟悉图像在Matlab下的读入,输出及显示;
2.熟悉直方图均衡化;
3.熟悉图像的线性指数等;
4.熟悉图像的算术运算及几何变换.
实验原理:
图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。
图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。
实验内容如下:
I=imread('E:\cs.jpg');%读取图像
subplot(2,2,1),imshow(I),title('源图像')
J=rgb2gray(I)%灰度处理
subplot(2,2,2),imshow(J) %输出图像
title('灰度图像') %在原始图像中加标题
subplot(2,2,3),imhist(J) %输出原图直方图
title('原始图像直方图')
![v2-60dc8a2afbc6ed589a3d442764457c02_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/5eecc07e6576c63640633d3c6efd898e.png)
几何运算:
I=imread('E:\cs.jpg');%读取图像
![v2-6c5e576ba4a8f32c520093929fc7cfd5_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/bf3533a03d83899577d0bfb594e5cdc7.png)
subplot(1,2,1),imshow(I);
theta = 30;
K = imrotate(I,theta);
subplot(1,2,2),imshow(K)
对数运算:
I=imread('E:\dog.jpg');
subplot(2,2,1),imshow(I),title('源图像')
J=rgb2gray(I)%灰度处理
subplot(2,2,2),imshow(J),title('灰度变换后图像')
J1=log(1+double(J));
subplot(2,2,3),imshow(J1,[]),title('对数变换后')
![v2-7bce55044b215496078405939bff8641_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/b252574b642785a5624a7763a6c63bab.png)
指数运算:
I=imread('E:\dog.jpg');
f=double(I);
g=(2^2*(f-1))-1
f=uint8(f);
g=uint8(g);
subplot(1,2,1);subimage(f),title('变换一')
subplot(1,2,2);subimage(g),title('变换二')
![v2-5c4e6ce89f1b3591fef34e7b657ad435_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/cd6e5a70680481017e6434fe472e6f83.png)
加法运算:
clc;clear all;close all;
i = imread('E:\dog.jpg');
j = imnoise(i,'gaussian',0,0.02);
subplot(1,3,1),imshow(i),title('图一')
subplot(1,3,2),imshow(j),title('图二')
k=zeros(242,308);
for p=1:100
j = imnoise(i,'gaussian',0,0.02);
j1 = im2double(j);
k = k + j1;
end
k=k/100;
subplot(1,3,3),imshow(k),title('图三')
![v2-a6fefd16abaf3cad06d37b61819bd24a_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/d81022410e8c4b5c404579856436e046.png)
实验二
实验名称:图像变换
实验目的:
(1)进一步对matlab的了解和使用;
(2)学习如何在matlab中对数字图像的处理;
实验原理:
图像和其他信号一样,既能在空间域处理,也能在频率域处理。把图像信息从空域变换到频域,可以更好的分析加工处理。因为图像信息的频域处理具有如下特点:
(1)能量守恒,但能量重新分配;
(2)有利于提取图像的某些特征;
(3)正交变换具有能量集中作用,可以实现图像的高效压缩编码; (4)频域用快速算法;
实验器材:电脑 matlab软件
实验内容:
(1)了解正交变换基本概念
(2)掌握图像的离散傅里叶和离散余弦变换
(3)熟悉图像的沃尔什及哈达玛变换
实验过程如下:
傅里叶变换
I = imread('E:\dog.jpg')
I = rgb2gray(I)
J = fft2(I)
subplot(2,2,1),imshow(I),title('灰度变换')
J = fftshift(J)
subplot(2,2,2),imshow(log(abs(J)),[]),title('傅里叶变换')
J(abs(J)<5000)=0
subplot(2,2,3),imshow(log(abs(J)+eps),[]),title('滤波')
J = ifftshift(J)
K = ifft2(J)
subplot(2,2,4),imshow(K,[0 255]),title('傅里叶逆变换')
![v2-3a1c6a333bd68e9996ad00843d2be19b_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/bd76a12f1a1175bc8eac08682901a72b.png)
余弦变换:
clear all;
RGB=imread('E:\dog.jpg');
I=rgb2gray(RGB);
figure;imshow(I);title('灰度图像');
J=dct2(I);
figure;imshow(log(abs(J)),[]);
colormap(jet(64)),colorbar;title('二维离散余弦变换')
![v2-5df0c3a246a5d9c46f74b7b5afead121_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/d1093e49d8f32a46cb500c6edc22abb6.png)
![v2-9d87ae5e43636326463d7303e0b6f240_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/9f58fc1e6e583e60dac519f5785d10bd.png)
沃尔什—哈达玛变换:
I=zeros(2.^8);
I(2.^7-2.^4+1:2.^7+2.^4,2.^7-2.^4+1:2.^7+2.^4)=ones(2*2.^4);
subplot(1,2,1);colormap(gray(128)),imagesc(I);
[m,n]=size(I)</