图像颜色校正设计论文.doc

上传人:b****9 文档编号:111437 上传时间:2022-10-03 格式:DOC 页数:10 大小:265.50KB
下载 相关 举报
图像颜色校正设计论文.doc_第1页
第1页 / 共10页
图像颜色校正设计论文.doc_第2页
第2页 / 共10页
图像颜色校正设计论文.doc_第3页
第3页 / 共10页
图像颜色校正设计论文.doc_第4页
第4页 / 共10页
图像颜色校正设计论文.doc_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

图像颜色校正设计论文.doc

《图像颜色校正设计论文.doc》由会员分享,可在线阅读,更多相关《图像颜色校正设计论文.doc(10页珍藏版)》请在冰豆网上搜索。

图像颜色校正设计论文.doc

河北农业大学

数字图像处理课程设计

图像颜色校正

院系:

信息科学与技术学院

专业班级:

电子0902班

姓名:

刘华平

学号:

2009234020214

2012年12月9日

1设计目标:

图像的颜色使图像的一种重要特征,但是由于物体在不同的光源下呈现不同的原色,往往在拍摄的时候会产生偏色现象,图像颜色校正就是为了消除偏色现象。

2设计原理:

2.1灰度世界算法

假定一幅带有足够多色彩变化的图像,则这幅场景的平面反射能消除偏色。

(1)计算图像R,G,B三个颜色通道的平均通道(,,)

N:

为图像的像素总数。

,,分别为校正前图像第i个像素的红、绿、蓝三个分量值。

令图像的平均灰度值。

(2)求R,G,B三个颜色通道的增益系数()。

则对于图像中每个像素点C,其校正后的三个通道为()

(3)将图像中各个像素的谁分量调整到可显示的范围【0,255】之内。

求出图像所有像素灰度值的最大值。

如果,则对图像中每个像素进行新的调整,由得到。

注:

“灰度世界算法”不适用于大块单一颜色的情况。

2.2基于标准差加权的灰度算法

将图像分为若干宏块,然后计算每一宏块的R、G、B三个通道的平均值和标准差

3设计程序流程图

3.1灰度世界算法

读取图像yumi1.jpg

显示原图像

计算图像大小m*n

计算图像R、G、B分量所有像素点的总和R1、G1、B1

计算R、G、B三个通道所有像素点的平均值R1、G1、B1

计算整幅图像的平均灰度值Greg=(R1+G1+B1)/3

计算三个通道的增益系数kr=Greg/R1

kg=Greg/G1kg=Greg/B1

将图像调整到0—255范围内,先求得三个通道最大值max,令factor=max /255;

如果factor>1,则图像进行调整,R2=R2/factorG2=G2/factorB2=B2/factor,否则R2、G2、B2保持不变

求校正后的三个通道R2、G2、B2

R2=R*kr,G2=G*kg,B2=B*kb

得到校正图像J

输出校正图像J

读取原图像yumi1.jpg

显示原图像yumi1.jpg

获取图像RGB分量

将图像分别对RGB分量进行分块

计算宏块数m=480/16

n=640/16

对每一宏块,计算RGB分量的平均值ra,ga,ba和标准差sr,sg,sb

计算每一宏块的RGB相关系数D

对于每一宏块,设置标识f,如果D大于等于1,则标识f为1,否则为0

计算标准差加权的RGB分量的平均值wr,wg,wb

求出整幅图像的RGB三个通道的增益系数kr,kg,kb

用增益系数进行校正,得到新的RGB分量r3=r*kr,

G3=g*kg,b3=b*kb

将图像调整到0—255范围内,先求得三个通道最大值max,令factor=max /255;

如果factor>1,则图像进行调整,r3=r3/factorg3=g3/factorb3=b3/factor,否则r3、g3、b3保持不变

得到校正后的图像J

橡树校正后图像J

4.设计程序及图像效果分析

4.1I=imread('yumi1.jpg');%读取图像’yumi1.jpg’

imshow(I) %显示原图像I

I=double(I); %将图像变为双精度型

[m,n]=size(I);%计算图像I的大小

n=n/3; %图像列除以3

R1=0; %R1初始化

G1=0; %G1初始化

B1=0; %B1初始化

fori=1:

m

forj=1:

n %设置循环

R1=R1+I(i,j,1);%计算图像R分量所有像素点的灰度值总和

G1=G1+I(i,j,2);%计算图像G分量所有像素点的灰度值总和

B1=B1+I(i,j,3);%计算图像B分量所有像素点的灰度值总和

end

end %循环结束

R1=R1/(m*n); %计算R通道的平均值R1

G1=G1/(m*n);%计算G通道的平均值G1

B1=B1/(m*n);%计算B通道的平均值B1

Greg=(R1+G1+B1)/3;%计算整个图像的灰度平均值Greg

Kr=Greg/R1; %计算R通道的增益系数Kr

Kg=Greg/G1;%计算R通道的增益系数Kg

Kb=Greg/B1;%计算R通道的增益系数kb

fori=1:

m

forj=1:

n %设置循环体

R2(i,j)=I(i,j,1)*Kr;%对于图像中每个像素点,计算校正后R通道的值R2(i,j)

G2(i,j)=I(i,j,2)*Kg;%对于图像中每个像素点,计算校正后G通道的值G2(i,j)

B2(i,j)=I(i,j,3)*Kb;%对于图像中每个像素点,计算校正后B通道的值B2(i,j)

end

end %循环结束

fori=1:

m %设置循环体

forj=1:

n

MAX(i,j)=max(R2(i,j),G2(i,j));%对于每一个像素点,计算其R2,G2,B2分MAX(i,j)=max(MAX(i,j),B2(i,j));  %量的最大值

end

end %循环结束

MAX1=max(max(MAX)); %计算图像中所有R2,G2,B2的最大值

Factor=MAX1/255; %令Factor=MAX1/255

ifFactor>1 %如果Factor>1

fori=1:

m %设置循环体

forj=1:

n

J(i,j,1)=R2(i,j)/Factor; %调整图像R2分量

J(i,j,2)=G2(i,j)/Factor; %调整图像G2分量

J(i,j,3)=B2(i,j)/Factor; %调整图像B2分量,得到校正图像J

end

end %循环结束

else %如果Factor<=1

fori=1:

m

forj=1:

n%设置循环体

J(i,j,1)=R2(i,j); %R2分量保持不变

J(i,j,2)=G2(i,j); %G2分量保持不变

J(i,j,3)=B2(i,j); %B2分量保持不变,得到校正图像J

end

end

end %循环结束

J=uint8(J); %对校正后图像取整

Figure

imshow(J) %显示校正后图像J

图像效果分析:

原图像改进后图像

对于灰度世界算法:

一副带有足够色彩变化的图像,利用平均反射可以抵消偏色,而对比利用灰度世界算法改进前后的这两幅图像可看出,虽然图像被校正了,但图像校正后的颜色偏蓝,校正效果不理想,这是由于增益系数小于1造成的结果

4.2基于标准差加权的灰度算法

I=imread('yumi1.jpg');%读取原图像yumi1.jpg

imshow(I)%显示原图像yumi1.jpg

I=double(I);%将图像I变为双精度型

m=480/16;%计算分块行数

n=640/16;%计算分块列数

fori=1:

480

forj=1:

640

r(i,j)=I(i,j,1);%读取图像中的红色分量

g(i,j)=I(i,j,2);%读取图像中的绿色分量

b(i,j)=I(i,j,3);%读取图像中的蓝色分量

end

end

rf=mat2cell(r,ones(1,m)*16,ones(1,n)*16);%对红色分量分块

gf=mat2cell(g,ones(1,m)*16,ones(1,n)*16);%对绿色分量分块

bf=mat2cell(b,ones(1,m)*16,ones(1,n)*16);%对蓝色分量分块

fori=1:

m

forj=1:

n

r1=rf{i,j};

g1=gf{i,j};

b1=bf{i,j};%将每一宏块的红、绿、蓝分量分别赋予r1,g1,b1

ra(i,j)=sum(r1(:

)); %计算每一宏块红色分量总和

ga(i,j)=sum(g1(:

)); %计算每一宏块绿色分量总和

ba(i,j)=sum(b1(:

)); %计算每一宏块蓝色分量总和

ra(i,j)=ra(i,j)/(16*16); %每一宏块,红色分量平均值

ga(i,j)=ga(i,j)/(16*16); %每一宏块,绿色分量平均值

ba(i,j)=ba(i,j)/(16*16); %每一宏块,蓝色分量平均值

sr(i,j)=std(r1(:

)); %每一宏块,红色分量标准差

sg(i,j)=std(g1(:

)); %每一宏块,绿色分量标准差

sb(i,j)=std(b1(:

)); %每一宏块,蓝色分量标准差

end

end

fori=1:

m

forj=1:

n-1

d1(i,j)=abs(sr(i,j)-sr(i,j+1))+abs(sg(i,j)-sg(i,j+1))+abs(sb(i,j)-sb(i,j+1));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1