版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我们立即下架或删除。
简介:图像增强及评价指标含Matlab程序说明
第1部分 图像增强方法及程序
非线性增强、彩色图像滤波增强、MSR增强、暗通道去雾算法增强、直方图规定化算法、自适应直方图均衡化、小波变换增强、模糊增强
第2部分 图像增强评价指标及程序
对比度提升指数CII、熵等
P1 图像增强方法及程序
非线性增强程序
%**************************************************************************
% filename: zenqiangcontrast.m
% function: 实现对比度展宽,采用非线性调整,要输入的参数为模型阶数
% date: 2019.11.22
% programmer:xxx
%**************************************************************************
clc;
clear all;
I=imread('sample.jpg');
imshow(I);
figure(2);
[m n]=size(I);
I=double(I);
%p=4.5;
p=1.3;
f=I;
g=zeros(size(I));
unit=f./255;
g=unit.^p;
subplot(1,1,1);
imshow(g,[]);
title('调整后的图像');
figure(1);
%imwrite(g,'C:\Documents and Settings\Administrator\桌面\彩色医学图像增强效果\28.jpg');
彩色图像滤波增强
以下为滤波增强程序,包含一个子函数guidedfilter.m
% example: detail enhancement
% figure 6 in our paper
clc;
clear all;
close all;
I = double(imread('10.jpg'))/ 255;
p = I;
figure(1);
imshow(I);
r = 16;%r = 16;
eps = 0.1^2;
q = zeros(size(I));
q(:, :, 1) = guidedfilter(I(:, :, 1), p(:, :, 1), r, eps);
q(:, :, 2) = guidedfilter(I(:, :, 2), p(:, :, 2), r, eps);
q(:, :, 3) = guidedfilter(I(:, :, 3), p(:, :, 3), r, eps);
I_enhanced = (I - q) * 5 + q;
%figure();
%imshow([I, q, I_enhanced], [0, 1]);
%figure(2);
%imshow(q);
figure(2);
imshow(I_enhanced);
%imwrite(I_enhanced,'hkmtx10.jpg')
========子函数guidedfilter.m===========
function q = guidedfilter(I, p, r, eps)
% GUIDEDFILTER O(1) time implementation of guided filter.
%
% - guidance image: I (should be a gray-scale/single channel image)
% - filtering input image: p (should be a gray-scale/single channel image)
% - local window radius: r
% - regularization parameter: eps
[hei, wid] = size(I);
N = boxfilter(ones(hei, wid), r); % the size of each local patch; N=(2r+1)^2 except for boundary pixels.
mean_I = boxfilter(I, r) ./ N;
mean_p = boxfilter(p, r) ./ N;
mean_Ip = boxfilter(I.*p, r) ./ N;
cov_Ip = mean_Ip - mean_I .* mean_p; % this is the covariance of (I, p) in each local patch.
mean_II = boxfilter(I.*I, r) ./ N;
var_I = mean_II - mean_I .* mean_I;
a = cov_Ip ./ (var_I + eps); % Eqn. (5) in the paper;
b = mean_p - a .* mean_I; % Eqn. (6) in the paper;
mean_a = boxfilter(a, r) ./ N;
mean_b = boxfilter(b, r) ./ N;
q = mean_a .* I + mean_b; % Eqn. (8) in the paper;
end
MSR方法进行增强
f=imread('E:\work\OriginalImages\1.jpg');
fr=f(:, :, 1); fg=f(:, :, 2); fb=f(:, :, 3);%RGB通道
mr=mat2gray(im2double(fr)); mg=mat2gray(im2double(fg)); mb=mat2gray(im2double(fb));%数据类型归一化
alf1=1458; %定义标准差alf=a^2/2 a=54
n=161;%定义模板大小
n1=floor((n+1)/2);%计算中心
for i=1:n
for j=1:n
b(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1); %高斯函数
... 更多>>