線性變換
imag = imread('sherlock.jpg');
gray = rgb2gray(imag);
figure;
subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
a1=20;
b1=255;
a=50;
b=155;
image1=a1+(b1-a1)/(b-a)*(gray-a);
subplot(2,2,3);
imshow(image1);
title('線性變換后影像');
subplot(2,2,4);
imhist(image1);
title('線性變換后灰度直方圖');
對數變換
imag = imread('office_1.jpg');
gray = rgb2gray(imag);
figure;subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
c=1.2;
k=1.25;
image2=c*log(k+im2double(gray));
subplot(2,2,3);
imshow(image2);
title('對數變換后的影像');
subplot(2,2,4);
imhist(image2);
title('對數變換后的直方圖');
%改進對數變換
figure;
subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
v=500;
r=mat2gray(double(gray));
image2=log(1+v*r)/(log(v+1));
subplot(2,2,3);
imshow(image2);
title('改進對數變換后的影像');
subplot(2,2,4);
imhist(image2);
title('改進對數變換后的直方圖');
Gamma變換
imag = imread('sherlock.jpg');
gray = rgb2gray(imag);
figure;
subplot(3,2,1);
imshow(gray);
title('原圖');
subplot(3,2,2);
imhist(gray);
title('原圖灰度直方圖');
image3=imadjust(gray,[],[],0.6);
subplot(3,2,3);
imshow(image3);
title('Gamma=0.6變換后影像');
subplot(3,2,4);
imhist(image3);
title('Gamma=0.6變換后灰度直方圖');
image4=imadjust(gray,[],[],1.8);
subplot(3,2,5);
imshow(image4);
title('Gamma=1.8變換后影像');
直方圖均衡化
imag = imread('foosballraw.tiff');
gray=imag;
figure;
subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
image1=histeq(gray);
subplot(2,2,3);
imshow(image1);
title('均衡化影像');
subplot(2,2,4);
imhist(image1);
title('均衡化后灰度直方圖');
鄰域平均法
imag = imread('yellowlily.jpg');
gray=rgb2gray(imag);
figure;
subplot(5,2,1);
imshow(gray);
title('原圖');
subplot(5,2,2);
imhist(gray);
title('原圖灰度直方圖');
gauss_imag=imnoise(gray,'gaussian');
sp_imag=imnoise(gray,'salt & pepper');
subplot(5,2,3);
imshow(gauss_imag);
title('添加高斯噪聲');
subplot(5,2,4);
imhist(gauss_imag);
title('添加高斯噪聲后直方圖');
subplot(5,2,5);
imshow(sp_imag);
title('添加椒鹽噪聲');
subplot(5,2,6);
imhist(sp_imag);
title('添加高斯噪聲后直方圖');
h_a=fspecial('average');
imag1=imfilter(gauss_imag,h_a);
subplot(5,2,7);
imshow(imag1);
title('鄰域平滑影像');
subplot(5,2,8);
imhist(imag1);
title('鄰域平滑直方圖');
imag2=imfilter(sp_imag,h_a);
subplot(5,2,9);
imshow(imag2);
title('鄰域平滑影像');
subplot(5,2,10);
imhist(imag2);
title('鄰域平滑直方圖');
中值濾波
imag = imread('yellowlily.jpg');
gray=rgb2gray(imag);
figure;
subplot(3,2,1);
imshow(gray);
title('原圖');
subplot(3,2,2);
imhist(gray);
title('原圖灰度直方圖');
gauss_imag=imnoise(gray,'gaussian');
sp_imag=imnoise(gray,'salt & pepper');
subplot(3,2,3);
imshow(gauss_imag);
title('添加高斯噪聲');
subplot(3,2,4);
imhist(gauss_imag);
title('添加高斯噪聲后直方圖');
subplot(3,2,5);
imshow(sp_imag);
title('添加椒鹽噪聲');
subplot(3,2,6);
imhist(sp_imag);
title('添加高斯噪聲后直方圖');
figure;
imag1=medfilt2(gauss_imag);
subplot(2,2,1);
imshow(imag1);
title('高斯噪聲經中值濾波后影像');
subplot(2,2,2);
imhist(imag1);
title('高斯噪聲經中值濾波后直方圖');
imag2=medfilt2(sp_imag);
subplot(2,2,3);
imshow(imag2);
title('椒鹽噪聲經中值濾波后影像');
subplot(2,2,4);
imhist(imag2);
title('椒鹽噪聲經中值濾波后直方圖');
拉普拉斯算子銳化
figure;
imag = imread('football.jpg');
gray=rgb2gray(imag);
subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
im=im2double(gray);
w=fspecial('laplacian');
I1=imfilter(im,w,'replicate');
I2=im-I1;
subplot(2,2,3);
imshow(I2);
title('銳化后影像');
subplot(2,2,4);
imhist(I2);
title('銳化后直方圖');
同態濾波
figure;
imag = imread('riceblurred.png');
gray=imag;
subplot(2,2,1);
imshow(gray);
title('原圖');
subplot(2,2,2);
imhist(gray);
title('原圖灰度直方圖');
I=im2double(gray);
[M,N]=size(I);
rL=0.5;
rH=5;
c=2;
d0=10;
I1=log(I+1);
FI=fft2(I1);
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
D(i,j)=((i-n1).^2+(j-n2).^2);
H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;
end
end
I2=ifft2(H.*FI)
I3=real(exp(I2));
subplot(2,2,3);
imshow(I3,[]);
title('同態濾波后影像');
subplot(2,2,4);
max1 =max(max(I3));
min1=min(min(I3));
I4 = 1/( max1-min1) * I3 - min1/(max1-min1);
imhist(I4);
title('同態濾波后直方圖')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/333544.html
標籤:其他
上一篇:了解CV和RoboMaster視覺組(五)比賽中的CV演算法(中)目標檢測的常見概念和術語
下一篇:數字影像處理習題(一)
