matlab常见的图像增强技术(包括基于幂次变换,对图像进行均衡化处理,巴特沃斯低通,理想低通,梯形低通滤波, 均值滤波,中值滤波,最大,最小值滤波,修正后的阿尔法滤波器)
1.基于幂次变换中的r值,比较不同r 值下图像增强的效果
代码 :
I = imread('D:\图片\TH.JFIF');subplot (1,4,1);imshow(I);title('原始图像','fontsize', 9);subplot(1,4,2);imshow(imadjust(I,[],[],0.5));title('Gamma=0.5');subplot(1,4,3);imshow(imadjust(I,[],[],1));title('Gamma=1');subplot (1,4,4);imshow(imadjust(I,[],[],1.5));title('Gamma=1.5');
2.对图像进行均衡化处理,灰度等级为64,输出均衡化前的图像,直方图和均衡化后的图像和直方图
代码 :
I=imread('D:\图片\TH.JFIF');
G=rgb2gray(I);
imhist(G);
K=16;H=histeq(G,K);
figure,subplot(2,2,1),imshow(G,[])
subplot(2,2,2),imshow(G,[]),hold on
subplot(2,2,3),hist(double(G),64),subplot(2,2,4),hist(double(H),64)....
1巴特沃斯低通
代码 :
I=rgb2gray(imread('C:\Users\Desktop\1.jpg'));
I=imnoise(I,'salt & pepper',0.001);
figure,subplot(1,2,1);imshow(I);
I1=fftshift(fft2(I));
[M,N]=size(I1);
n=2;d0=80;
n1=floor(M/2);
n2=floor(N/2);
for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);H=1/(1+(d/d0)^2*n);I2(i,j)=H*I1(i,j);end
end
I2=ifftshift(I2);
I3=real(ifft2(I2));
subplot(1,2,2);imshow(I3,[]);
2理想低通
%理想低通
I = imread('C:\Users\Desktop\1.jpg');
I=rgb2gray(I);
figure(1);
subplot(221),imshow(I);
title('原图像');
I=imnoise(I,'gaussian');%%加入高斯白噪声
subplot(222),imshow(I);
title('加入噪声后的图像');
s=fftshift(fft2(I));
subplot(223), imshow(log(abs(s)),[]);
title('图像傅里叶变换取对数所得频谱');
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d=50;
for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2);if distance<=dh=1;elseh=0;ends(i,j)=h*s(i,j);end
end
s=uint8(real(ifft2(ifftshift(s))));
subplot(224),imshow(s);
title('理想低通滤波所得图像');
梯形低通滤波:
I = imread('C:\Users\Desktop\1.jpg');
I=rgb2gray(I);
figure(1);
subplot(221),imshow(I);
title('原图像');
I=imnoise(I,'gaussian');%%加入高斯白噪声
subplot(222),imshow(I);
title('加入噪声后的图像');
s=fftshift(fft2(I));
%subplot(223), imshow(log(abs(s)),[]);
%title('图像傅里叶变换取对数所得频谱');
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d=50;d1=100;
for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2);if distance<=dh=1;else if d<=distance&distance<=d1h= (distance-d)/(d1-d);elseh=0;s(i,j)=h*s(i,j);endendend
end
s=uint8(real(ifft2(ifftshift(s))));
subplot(224),imshow(s);
title('梯形低通滤波所得图像');
均值滤波
clear;
I=imread('C:\Users\Desktop\1.jpg');
I=im2double(I);
I=rgb2gray(I);
%MappedData = mapminmax(I ,0, 255)
h=figure(1);
%显示原图
subplot(2,2,1);
imshow(I,[]);%[]自动产生适当的比例显示图像
title('原图');
%添加高斯噪声
subplot(2,2,2);
I_noise=double(imnoise(I,'gaussian',0.02));%salt & pepper注意中间的空格 无空格报错
imshow(I_noise,[]);title('高斯噪声');
%均值滤波
subplot(2,2,3);
I_3=fspecial('average',[3,3]);%3*3均值滤波 建立预定义的滤波算子
I_3=imfilter(I_noise,I_3);%(待处理矩阵,滤波器)
imshow(I_3,[]);title('3*3均值滤波');
subplot(2,2,4);
I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
imshow(I_,[]);title('3*3几何均值滤波');
最大值,最小值滤波:
clear;
clc;
img = imread('C:\Users\Desktop\1.jpg');
[M,N] = size(img);
% 最大值滤波
for i = 2:M-1for j=2:N-1t = img(i-1:i+1,j-1:j+1);new_img_max(i,j) =max(t(:));end
end
% 最小值滤波
for i = 2:M-1for j=2:N-1t = img(i-1:i+1,j-1:j+1);new_img_min(i,j) =min(t(:));end
end
subplot(1,3,1);
imshow(img);
title('原图像');
subplot(1,3,2)
imshow(new_img_max)
title('最大值滤波')
subplot(1,3,3)
imshow(new_img_min)
title('最小值滤波')
中值滤波:
%% 滤波窗口选择展示
clear; clc; close all;
rawimg = imread('C:\Users\Desktop\1.jpg');
[~,~,index] = size(rawimg);
if index ~= 1rawimg = rgb2gray(rawimg); % 转化为灰度图
end
% 添加噪声
salt_img=imnoise(rawimg,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声
figure;subplot(1,2,1);imshow(rawimg);title('原图');
subplot(1,2,2);imshow(salt_img);title('添加椒盐噪声');
% 进行滤波
min_fit = medfilt2(salt_img,[3 3]); % 采用二维中值滤波函数对图像滤波,滤波窗口是3*3
max_fit = medfilt2(salt_img,[9,9]); % 滤除高斯噪声
% 滤波效果:
figure;subplot(1,2,1);imshow(min_fit);title('3*3滤波窗口效果');
subplot(1,2,2);imshow(max_fit);title('9*9滤波窗口效果');
修正后的阿尔法滤波器:
clc;
img = imread('C:\Users\Desktop\1.jpg');
[M,N] = size(img);
% 最大值滤波
for i = 2:M-1for j=2:N-1t = img(i-1:i+1,j-1:j+1);new_img_max(i,j) =max(t(:));end
end
% 最小值滤波
for i = 2:M-1for j=2:N-1t = img(i-1:i+1,j-1:j+1);new_img_min(i,j) =min(t(:));end
end
subplot(1,3,1);
imshow(img);
title('原图像');
subplot(1,3,2)
imshow(new_img_max)
title('最大值滤波')
subplot(1,3,3)
imshow(new_img_min)
title('最小值滤波')
matlab常见的图像增强技术(包括基于幂次变换,对图像进行均衡化处理,巴特沃斯低通,理想低通,梯形低通滤波, 均值滤波,中值滤波,最大,最小值滤波,修正后的阿尔法滤波器)相关推荐
- Win8 Metro(C#)数字图像处理--2.70修正后的阿尔法滤波器
原文:Win8 Metro(C#)数字图像处理--2.70修正后的阿尔法滤波器 /// <summary>/// Alpha filter./// </summary>/// ...
- matlab 修正后阿尔法,修正后的阿尔法均值滤波器Alpha.ppt
修正后的阿尔法均值滤波器Alpha 数字图像处理Digital Image Processing 第6章 图像复原(Image Restoration) 第6章 图像复原(Image Restorat ...
- matlab 修正后阿尔法,修正后的阿尔法均值滤波器alpha-trimmedmeanfilter.ppt
修正后的阿尔法均值滤波器alpha-trimmedmeanfilter 数字图像处理Digital Image Processing 第6章 图像复原(Image Restoration) 第6章 图 ...
- 灰度图像复原——空间滤波——修正后的阿尔法均值滤波器(Matlab)
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=i ...
- matlab gui 图像增强,基于MATLAB GUI的图像增强技术的实现
基于MATLAB GUI的图像增强技术的实现 英英 [期刊名称]<内蒙古广播与电视技术> [年(卷),期]2017(034)003 [摘要]随着数字化时代的到来,人们对图像处理的要求越来越 ...
- 用幂次变换来增强图像matlab,基于幂次变换及MSR光照不均图像增强.doc
基于幂次变换及MSR光照不均图像增强 基于幂次变换及MSR光照不均图像增强摘要:针对光照不均图像暗区细节丢失的问题,提出了基于幂次变换和MSR(多尺度Retinex)的光照不均图像增强算法.首先对光照 ...
- 滤波算法、中值和均值滤波区别
滤波算法: 这里所讲的算法都是针对图像空间的滤波算法,其中模板,可以理解为图像形态学中的结构元素,是用来选取图像中的那些像素点被用来操作的.空间滤波根据其功能划分为平滑滤波和锐化滤波.平滑滤波:能减 ...
- NR基础篇下——中值滤波、多级中值滤波、多级中值混合滤波、加权中值滤波、中值有理滤波
上一篇分享了一些均值滤波相关的算法,均值滤波作为一种线性滤波器,在滤除噪声的同时也会导致边缘模糊问题.而且均值滤波对高斯噪声的效果很好,但是对于椒盐噪声的效果就很一般.但是中值滤波作为一种顺序滤波器, ...
- 图像处理:推导五种滤波算法(均值、中值、高斯、双边、引导)
目录 概论 算法原理 1.均值滤波 2.中值滤波 3.高斯滤波 4.双边滤波 5.引导滤波 手写代码 Opencv代码实现 最后的总结 参考文章 概论 本来打算是分开推导的,但我觉得还是整个合集吧,避 ...
最新文章
- 买了一个软件测试就业班课程,不知道值不值
- 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
- 快速排序的三种实现方法
- 系统工具源码设计页面
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
- 新一届暑期积分赛题目记录
- php 逗号编码,php有几种编码
- 一个深入学习Linux/C/C++的原创技术号
- python3.4和3.6的区别_详解Python3.6正式版新特性
- 花了10块钱,我在朋友圈成为了富豪...
- fiddler命令cls/select
- java设置请求头_前端需要知道的 HTTP 安全头配置
- android 万能播放器
- Spring之Bean后处理器——BeanPostProcessor的使用与源码解析
- c语言void* arg,void * arg什么意思
- c语言输出成绩与排名,C语言算成绩 要求输完两个分数后 同时输出两个分数换算出来的成绩...
- 情感分析技术:让智能客服更懂人类情感
- 【音乐检索】基于matlab音乐检索系统【含Matlab源码 435期】
- 计算机褐色,脂肪也有“好坏”之分?看颜(yán)值(sè),看分布
- python狗品种识别_kaggle之本地运行识别狗品种