基于直方图修改的彩色图像增强

对上述图像进行增强、主要增强两方面,一方面是图像的亮度,另一方面就是图像的对比度。

第一种方法:将RGB格式的图像转为HSV或者HSI格式,对于亮度值进行修改。主要是对V值直方图进行均衡化。

clear all;

close all;

RGB=imread('test.jpeg');

HSV=rgb2hsv(RGB);

H=HSV(:,:,1);

S=HSV(:,:,2);

V=HSV(:,:,3);

figure;

subplot(1,3,1),imhist(H);

subplot(1,3,2),imhist(S);

subplot(1,3,3),imhist(V);

V=histeq(V);

figure,imhist(V);

HSV(:,:,1)=H;

HSV(:,:,2)=S;

HSV(:,:,3)=V;

RGB_1=hsv2rgb(HSV);

figure;

subplot(1,2,1),imshow(RGB);

subplot(1,2,2),imshow(RGB_1);

最后的效果如下图:




白云、山脉、河流有了亮度和对比度提升。

第二种方法就是对RGB三个通道直接进行直方图均衡化。

clear all;

close all;

RGB=imread('test.jpeg');

R=double((RGB(:,:,1)))/255;

G=double((RGB(:,:,2)))/255;

B=double((RGB(:,:,3)))/255;

figure;

subplot(1,3,1),imshow(R);

subplot(1,3,2),imshow(G);

subplot(1,3,3),imshow(B);

R=histeq(R);

G=histeq(G);

B=histeq(B);

RGB_1(:,:,1)=R;

RGB_1(:,:,2)=G;

RGB_1(:,:,3)=B;

figure;

subplot(1,2,1),imshow(RGB);

subplot(1,2,2),imshow(RGB_1),brighten(0.6);

figure;

subplot(1,3,1),imhist(R);

subplot(1,3,2),imhist(G);

subplot(1,3,3),imhist(B);

这个处理效果如下:


由上图可以看出、图像的色调已经被修改、这也是RGB值修改的一个缺点。

第三种方法就是目前我采用的,根据HE、BBHE、DSIHE、所采用的一种图像增强方法。其原理简单介绍如下:

首先将RGB图像转为灰度图像、那么每个灰度图像像素的数值根据最大值法即:max(R,G,B)来确定,最大值法(图4)与加权平均(图2)、平均法处理(图3)的对比图如下所示:

由上图可以看出、最大值处理的灰度图像较其余两幅图的亮度有较大的提升。

接着处理灰度图像的直方图、找出该图像的平均值、将直方图划分为两部分、接着分别对两部分的直方图进行均衡化处理。

在处理完成之后、对图像进行恢复、即将灰度图像转化成RGB图像,找出处理之后的图像与之前图像的数值比例关系、然后将其与图像想乘,即得到R、G、B三个分量的数值。最后的对比图如下:

clear all;

close all;

clc;

RGB=imread('test.jpeg');

[row,column,n]=size(RGB);

R=RGB(:,:,1);

G=RGB(:,:,2);

B=RGB(:,:,3);

for i=1:row

for j=1:column

juzhen=[R(i,j),G(i,j),B(i,j)];

intensity_1(i,j)=0.2989*R(i,j)+0.587*G(i,j)+0.114*B(i,j);

intensity_2(i,j)=1/3*(R(i,j)+G(i,j)+B(i,j));

intensity_3(i,j)=max(juzhen);

end

end

figure,

subplot(2,2,1),imshow(rgb2gray(RGB));

subplot(2,2,2),imshow(intensity_1);

subplot(2,2,3),imshow(intensity_2);

subplot(2,2,4),imshow(intensity_3);

Pre_image=intensity_3;

figure;

subplot(2,2,1),imshow(intensity_3);

subplot(2,2,2),imhist(intensity_3);

subplot(2,2,3),imshow(Pre_image);

subplot(2,2,4),imhist(Pre_image);

Pre_image=im2uint8(Pre_image);

[height,width]=size(Pre_image);

XT=round(mean(mean(Pre_image)));

h = zeros(1,256);%统计各灰度数目,共256个灰度级

for m = 1:height

for n = 1: width

h(Pre_image(m,n) + 1) = h(Pre_image(m,n) + 1) + 1;%对应灰度值像素点数量增加一

end

end

SH1=0;

SH2=0;

for x=0:XT

SH1=SH1+h(x+1);

end

for x=(XT+1):255

SH2=SH2+h(x+1);

end

N=height*width;

RSH1=SH1/N;

RSH2=SH2/N;

SEP_P=round(255*RSH1);

DRH1_start=0;

DRH1_end=SEP_P;

DRH2_start=SEP_P+1;

DRH2_end=255;

sum1=0;

CH1=zeros(1,256);

for x_1=0:XT

sum1=sum1+h(x_1+1);

CH1(x_1+1)=sum1/SH1;

end;

sum2=0;

CH2=zeros(1,256);

for x_2=(XT+1):255

sum2=sum2+h(x_2+1);

CH2(x_2+1)=sum2/SH2;

end

for i=1:height

for j=1:width

if Pre_image(i,j)

h(Pre_image(i,j)+1)=DRH1_start+(DRH1_end-DRH1_start)*CH1(Pre_image(i,j)+1);

else

h(Pre_image(i,j)+1)=DRH2_start+(DRH2_end-DRH2_start)*CH2(Pre_image(i,j)+1);

end

end

end

for i=1:height

for j=1:width

Aft_image(i,j)=h(Pre_image(i,j)+1);

end

end

Aft_image=uint8(Aft_image);

subplot(1,2,1),imhist(Aft_image);

subplot(1,2,2),imshow(Aft_image);

for i=1:height

for j=1:width

Alpha(i,j)=double(Aft_image(i,j))./double(intensity_3(i,j));

end

end

intensity_R=Alpha.*double(R);

intensity_G=Alpha.*double(G);

intensity_B=Alpha.*double(B);

RGB_1(:,:,1)=intensity_R;

RGB_1(:,:,2)=intensity_G;

RGB_1(:,:,3)=intensity_B;

figure,

subplot(1,2,2),imshow(uint8(RGB_1));

subplot(1,2,1),imshow(RGB);

这种方法对于图像增强的细节有较好的增强作用。

接下来是通过HSI方面对图像进行增强。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容