数字图像处理12-白平衡算法

数字图像处理12-白平衡算法
数字图像处理12-白平衡算法

数字图像处理程序若干(matlab)

主程序 clear all close all clc !echo 本次图像处理的菜单如下:! !echo 1,imgsharping! !echo 2,imgnegative! !echo 3,imgsmoothing! !echo 4,imgsubtracting! !echo 5,medianfilting! !echo 6,contraststrength! !echo 7,lineartransform! !echo 8,imgfilp! !echo 9,imgindextransform! iptsetpref('ImshowBorder', 'tight') a=1; img = imread('C:\Users\huanhuan\Desktop\司马.jpg'); figure(1), imshow(img); while(a==1) choose=input('please enter your choosing ranging from 1 to 9: '); switch choose case 1, imgsharping(img); case 2, imgnegative(img); case 3, imgsmoothing(img); case 4, imgsubstract(img); case 5, medianfilting(img); case 6, contraststrength(); case 7, lineartransform(); case 8, imgfilp(img); case 9, imgindextransform(); otherwise disp('Unknown method.'); end a=input('continue(1) or quit(2)');

有关白平衡的理论知识

白平衡在一般的图像处理书籍都很少会提及,因为说到底白平衡只是一种对人眼视觉特性的模拟,说不上是对图像这个二维数据域的空间变换。简言之,白平衡是传感器设备具备正确识别“白色”的能力。 我们先来看白平衡的“白”是什么。不同的光源具有不同的光谱成分和分布,这在色度学上称之为色温(色温是颜色的定义,以K(凯氏)为单位;对黑体(黑铁棒)加热,3200K时黑体发出的颜色定为白色;5600K时定为蓝色等;在Microsoft Picture Managemnet中色温称为色值)。物体本身反射入射光而显示出颜色,若光源色彩成分有变,势必会影响入射光的颜色,也直接或间接地改变了物体本来的颜色,形成色差。如一个白色的物体,在低色温的光线照射下会偏红,而在高色温的光线照射下会偏蓝。 实际生活中,不论是晴天、阴天、室内白炽灯或日光灯下,人们所看到的白色物体总是是白色的,这就是视觉修正的结果。人脑对物体的颜色有一定先验知识,可依据之侦测并且更正这种色差。但对于固体图像传感器而言,没有办法直接修正这种色温的改变,必须依靠内建的“白平衡”功能作调整。 物体颜色的改变特别是在使用人造光源的场合容易发生,因为传感器还是默认做正常光照下的白平衡,而人工光源色温与之的不同会导致拍得的照片会有不同程度的色差。如白炽灯照明下拍出的照片易偏黄;而在户外日光充足则拍摄出来景物也会偏蓝。同理若选用不同色温条件拍摄同一景物,也会呈诸多色差。 白平衡之“平衡”就是要对不同色温所引起的的色差进行校正,从而使白色的物体呈现真正的白色。数码相机中白平衡一般采用光学粗调和电路微调的方法进行。由于CCD、CMOS 图像传感器具有一定的光谱特性,因此必须在镜头前加上匹配的光学滤色镜,将红外等光线滤除,然后进行软件或电路微调。为了提高易用性,数码相机一般还支持自动白平衡。对于CCM来说,添加镜头来做调节不现实,只有靠自动白平衡算法来保证拍摄照片不失真了。因此,必须开发适合数码相机的自动白平衡算法,以保证拍摄照片不会失真。 传统摄影较少提到“白平衡”,主要是在因为底片上已经做了区分,如:大家都知道的富士胶卷适合室外,柯达胶卷适合室内。也可透过不同的滤色片来实现正确的色彩平衡,这需要若干昂贵的镜头。修改白平衡的方法,除了透过机身设定外,还可以透过计算机软件做事后修片;使用色温表测量现场的色温,之后将测量的数值输入到传感器中,完成白平衡的设定;一般白纸纸质不均,因此每次校正的白平衡也不见得相同,18%灰度色板是一种特殊处理过的色板,能表现达到均衡散光的效果,专业摄影人员常开个灰伞,除了是反光还有白平衡之解;现阶段大多数的数码相机、拍照手机的白平衡的功能都已相当准确。 简言之,白平衡就是在信道平衡模块中调整R/B增益,以合G的照度。 白平衡具有三个基本操作:(1) 色温估计,通过手工调节(取一个“标准白”的物体作为参考) 或算法统计的方法,找出图像中的白点,进而以此估计出表达色温的特征量,平均色差(若是设定色温下拍摄,则直接获得传感器中设定的该色温下的特征量);(2) 增益计算,采用查表或迭代的方法,计算出红色和蓝色增益(校正因子);(3)色温校正,通过Camera control在传感器的红色和蓝色通道乘上对应的校正因子,调整通道增益,以达到白平衡的效果. 人眼会去补偿各光源下的不同色温。固体图像传感器则需一参考点来重现白色,基于此参考点来重新计算其它颜色。举例来说,红灯照射白墙,则墙上会投射出红色(事实上这面墙原本应该是白色的)。但如果相机知道这面墙是白的,它将会补偿出所有的其它场景内的其它相应的颜色。知道这面墙是白色这个工作就是“色温估计”。色温估计是自动白平衡算法的三个基本操作中最重要的一环(手工白平衡不需做色温估计),没有正确的“W”,怎么“B”都不达效果。色温估计估算出正确的色差,才能保证后续操作的正确性。特别是在图像充满大面积彩色时,算法必须具有一定的鲁棒性,以保证色彩的完整性。这步工作就是俗称的找白点。一般的算法都是在YUV空间中做,OV2640是在RGB空间做,而MT9M112是在RYB空间(即亮度Y转换后)来做。这样效果会有一些差异。目前,国际上诸多的论文研究热点都

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

imshow(I) J=find(I<150); I(J)=0; J=find(I>=150); I(J)=255; title(' 实验一(4)图像二值化 ( 域值为150 ) '); subplot(2,2,2) imshow(I) clc; I=imread('14499.jpg'); bw=im2bw(I,0.5);%选取阈值为0.5 figure; imshow(bw) %显示二值图象 图象处理变换(二) 1.傅立叶变换 熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布. 2.离散余弦变换 熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换. % 图象的FFT变换 clc; I=imread('005.bmp'); subplot(1,2,1) imshow(I); title('原图'); subplot(1,2,2) imhist(I); title('直方图'); colorbar; J=fft2(I); figure; subplot(1,2,1) imshow(J); title('FFT变换结果'); subplot(1,2,2) K=fftshift(J); imshow(K);

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

Matlab常用白平衡算法

灰色世界法(grey world method) 要计算未知光源的特性必须从图片中提取相关的统计特性。当我们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常简单了。在这种情况下,未知光源必须在整幅图片上都是统一的。均值于是就成为了此类方法之下最好的统计指标。而灰色世界法正是利用了均值作为估算未知光源的关键统计量。 从物理意义上说,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。在给定图片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于可以作为自然界景物的一个缩影。若这幅图片是在经典光源下拍摄的,其均值就应该等于灰色。若这幅图是在非经典光源下拍摄的,那么均值就会大于或者小于灰色值。而该均值对于灰色的偏离程度则反映了未知光源相对于已知光源的特性。 虽然这个方法比较简单,但是仍然可以从一些方面进行调整。一个方面就是对于灰色的定义形式的选择。包括对于光谱的定义、对于光谱成分的定义和在经典光源之下的RGB 的响应。另一个更加重要的调整方面就是对于灰色的选择。不管如何定义灰色,最佳的灰色之选必然是自然界实事上出现的灰色。但是这个值是无法获得的(除非是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重要的区别点。 一个方法是假设这个灰色就是实事上的灰色。也就是说反射光谱是均衡的。给定光源之下的RGB 响应是纯白色对此光源的响应值的

一部分。比方说,可以使用50%作为反射率(虽然这个灰色值对于人眼视觉习惯而言可能过于明亮)。 另一种方法,就是根据大量的数据提炼出一个均值,并把它定义为灰色。这种方法提炼的灰色值可能因为数据库使用的不同而有所不同。最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。确定下来的灰色表达形式可以用Grey i c来表示。下标i 表示信道,上标c 为canonical 的首字母,表示经典光源。 在确定灰色的表达形式后只要用RGB 响应与经典光源下灰色的比值来归一化图片就可以了。假设RGB 响应均值为Ave i u,下标i 表示信道,上标U 为Unknown 的首字母,表示未知光源。那么归一化率的计算式为σ i 如下式所示: σ i = Grey i c Ave i u 根据光源转换理论,从未知光源到经典光源下图片表达式的转换式如下式所定义: ρ?c= [σ 1 σ 2 σ 3 ] ?ρ?u 那么,灰色世界法的计算过程如下图所示:

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

数字图像处理算法汇总

形态学运算:基本思想是具用一定结构形状的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。 腐蚀运算:将结构元素中心遍历整个图像,当图像完全包含结构元素时的中心点的轨迹即为腐蚀后的图像,图像变细。腐蚀运算可用于滤波,选择适当大小和形状的结构元素,可以滤除掉所有不能完全包含结构元素的噪声点。当然利用腐蚀滤除噪声有一个缺点,即在去除噪声的同时,对图像中前景物体形状也会有影响,但当我们只关心物体的位置或者个数时,则影响不大。 膨胀运算:将结构元素中心遍历整个图像边缘,中心点的轨迹即为腐蚀后的图像,图像整体变粗。通常用于将图像原本断裂开来的同一物体桥接起来,对图像进行二值化之后,很容易是一个连通的物体断裂为两个部分,而这会给后续的图像分析造成干扰,此时就可借助膨胀桥接断裂的缝隙。 开运算:先腐蚀后膨胀,可以使图像的轮廓变得光滑,还能使狭窄的连接断开和消除细毛刺;但与腐蚀运算不同的是,图像大的轮廓并没有发生整体的收缩,物体位置也没有发生任何变化。可以去除比结构元素更小的明亮细节,同时保持所有灰度级和较大亮区特性相对不变,可用于补偿不均匀的背景亮度。与腐蚀运算相比,开运算在过滤噪声的同时,并没有对物体的形状轮廓造成明显的影响,但是如果我们只关心物体的位置或者个数时,物体形状的改变不会给我们带来困扰,此时腐蚀滤波具有处理速度上的优势。 闭运算:先膨胀后腐蚀,可以去除比结构元素更小的暗色细节。开闭运算经常组合起来平滑图像并去除噪声。可使轮廓变的平滑,它通常能弥合狭窄的间断,填补小的孔洞。腐蚀运算刚好和开运算相反,膨胀运算刚好和闭运算相反,开闭运算也是对偶的,然而与腐蚀、膨胀不同的是,对于某图像多次应用开或闭运算的效果相同。 击中击不中运算:先由结构元素腐蚀原图像,再将结构元素取反去腐蚀原图像的取反图,最后将两幅处理后的图像取交。主要用于图像中某些特定形状的精确定位。 顶帽变换:原图像减去开运算以后的图像。当图像的背景颜色不均匀时,使用阈值二值化会造成目标轮廓的边缘缺失,此时可用开运算(结构元素小于目标轮廓)对整个图像背景进行合理估计,再用原图像减去开运算以后的图像就会是整个图像的灰度均匀,二值化后的图像不会有缺失。 Sobel算子: Prewitt算子: LOG算子: Canny算子:力图在抗噪声干扰和精确定位之间尊求折中方案,主要步骤如下所示: 1、用高斯滤波器平滑图像; 2、用一阶偏导的有限差分来计算梯度的幅值和方向; 3、对梯度幅值进行非极大值抑制; 4、用双阈值算法检测和连接边缘。 Hough变换: 边缘检测:

matlab数字图像处理程序

数字图像处理程序 实验一 1、图像的缩放: A=imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); subplot(311); imshow(A); title('原图') B=imresize(A,3); subplot(312); imshow(B); title('三倍图'); C=imresize(A,0.5); subplot(313); imshow(C); title('二分之一图'); 2、图像的镜像: A1=imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); figure subplot(2,2,1), imshow(uint8(A1)); H=size(A1); title('原像') A2(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,1:H(2),1:H(3));%垂直镜像subplot(2,2,2), imshow(uint8(A2)); title('垂直镜像') A3(1:H(1),1:H(2),1:H(3))=A1(1:H(1),H(2):-1:1,1:H(3));%水平镜像subplot(2,2,3), imshow(uint8(A3)); title('水平镜像') A4(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,H(2):-1:1,1:H(3));%对角镜像subplot(2,2,4), imshow(uint8(A4)); title('对角镜像') 3、图像的旋转: I = imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); subplot(141); imshow(I); title('原图'); theta1 = 45;%旋转的角度为45度 K1 = imrotate(I,theta1); % 对图像进行旋转 subplot(142);

手动白平衡设置方法

手动白平衡设置方法 手动白平衡灰色物体(如灰板)或白色物体(如灰板的背面)面积应至少占据取景器2/3大小,手动设置白平衡不需要相机对参照物聚焦,所以可以把相机改为手动对焦模式,把镜头设置为无限远对焦,只要拿一个名片就可以凑在镜头前完成手动设置。手动设置白平衡要注意关闭相机曝光补偿,尤其是正补偿要关闭。如果相机在+0.5档补偿情况下对白色物体设置白平衡,将会失败出现“no Gd”。但相机在ISO200的情况下,作-3档补偿仍可以正确读取白平衡数据。但在高ISO时负补偿相机会得出错误的白平衡数据。所以在设置手动白平衡时最好关闭曝光补偿。 正确使用白平衡: 在使用闪光灯拍摄时,因为电子闪光灯发出光线的色温与日光基本相同,所以应把白平衡设置为日光,即使是在拍摄夜景时也应如此,这样的设置对近景人物色彩的还原也比较好,而远景灯光在照片上一般表现为温暖的黄色,为大多数人所喜欢。如果你在拍摄夜景时只有远景而没有近景人物的话,则可以把白平衡设置为白炽灯。 花草是摄影爱好者经常拍摄的东西,拍花时不要用自动白平衡,根据当时的光源调整就行了。如果在日光下拍花而把白平衡设置为白炽灯,则可以让白色的花拍摄出来带一些蓝色,如同情人节花店出售的“蓝色妖姬”! 现在学校教室、单位办公室基本是用日光灯照明。日光灯看上去是白色,其实是我们的眼睛在“自动白平衡”。 日光灯发出的光的光谱不是连续光谱,只能用近似色温大约4000K来表示。在日光灯下拍摄时可以设置白平衡为日光灯;如果你嫌拍出来的照片有点偏绿色,也可以设置白平衡为日光,然后在镜头前面加一个专用的日光灯滤光镜,它是品红色(Magenta)的,只是市面上不常有卖。

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 1. 了解MA TLAB图像处理工具箱; 2. 掌握MA TLAB的基本应用方法; 3. 掌握MA TLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 三、源代码 I=imread('cameraman.tif') imshow(I); subplot(221), title('图像1'); imwrite('cameraman.tif') M=imread('pout.tif') imview(M) subplot(222), imshow(M); title('图像2'); imread('pout.bmp') N=imread('eight.tif') imview(N) subplot(223), imshow(N); title('图像3'); V=imread('circuit.tif') imview(V) subplot(224), imshow(V); title('图像4');

N=imread('C:\Users\Administrator\Desktop\1.jpg') imshow(N); I=rgb2gary(GRB) [X.map]=gary2ind(N,2) RGB=ind2 rgb(X,map) [X.map]=gary2ind(I,2) I=ind2 gary(X,map) I=imread('C:\Users\dell\Desktop\111.jpg'); subplot(231),imshow(I); title('原图'); M=rgb2gray(I); subplot(232),imshow(M); [X,map]=gray2ind(M,100); subplot(233),imshow(X); RGB=ind2rgb(X,map); subplot(234),imshow(X); [X,map]=rbg2ind(I); subplot(235),imshow(X); 四、实验效果

白平衡

一、原始的灰色世界算法 要计算未知光源的特性必须从图片中提取相关的统计特性。当我们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常简单了。在这种情况下,未知光源必须在整幅图片上都是统一的。均值于是就成为了此类方法之下最好的统计指标。而灰色世界法正是利用了均值作为估算未知光源的关键统计量。 从物理意义上说,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。在给定图片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于可以作为自然界景物的一个缩影。若这幅图片是在经典光源下拍摄的,其均值就应该等于灰色。若这幅图是在非经典光源下拍摄的,那么均值就会大于或者小于灰色值。而该均值对于灰色的偏离程度则反映了未知光源相对于已知光源的特性。 (就是因为这个假设,实际上灰度世界对图片色彩不丰富的情况,效果不是很好) 虽然这个方法比较简单,但是仍然可以从一些方面进行调整。一 个方面就是对于灰色的定义形式的选择。包括对于光谱的定义、对于光谱成分的定义和在经典光源之下的 RGB 的响应。另一个更加重要的调整方面就是对于灰色的选择。不管如何定义灰色,最佳的灰色之选必然是自然界实事上出现的灰色。但是这个值是无法获得的(除非是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重要的区别点。

一个方法是假设这个灰色就是实事上的灰色。也就是说反射光谱是均衡的。给定光源之下的 RGB响应是纯白色对此光源的响应值的一部分。比方说,可以使用50%作为反射率(虽然这个灰色值对于人眼视觉习惯而言可能过于明亮)。 另一种方法,就是根据大量的数据提炼出一个均值,并把它定义为灰色。这种方法提炼的灰色值可能因为数据库使用的不同而有所不同。最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。确定下来的灰色表达形式可以用来表示。下标 i 表示信道,上标 c为canonical的首字母,表示经典光源。 在确定灰色的表达形式后只要用 RGB响应与经典光源下灰色的比值来归一化图片就可以了。假设 RGB响应均值为,下标 i 表示信道,上标 U为Unknown的首字母,表示未知光源。那么归一化率的计算式为如下式所示: 根据光源转换理论,从未知光源到经典光源下图片表达式的转换式如下式所定义:

数字图像处理代码大全

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]的灰度拉伸为[0 1]

subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1);

关于白平衡的调整方法

最简单的可以使用全自动模式,在摄像机左侧面板的下方有一个"Auto、Manual"拨钮,你选到 “Auto"就可以“白平衡自动、光圈自动、电子快门自动、增益自动” 在这种情况下,你只需要聚焦、变焦,按Recorder拍摄就可以了。 如果想手动调白,需要先将上面的拨钮调到“Manual”,然后按下“AUTO BAL”按钮,再选择A档 按下机器前面的一个按钮就可以调白了。 画面比的调整在菜单中 按下“MENU“按钮,进入菜单,选择最后一个“其它”菜单,进入。 调“HD/SD模式”,选择SD是标清,HD是高清 然后调“视频模式”,标清的选DVCAM50i SQ,就可以了。720*576 4:3格式 高清选HQ 1920/50i就可以了。 关于EX1R使用方面的资料,你可以参考我的百度空间。 追问 前两天我拍了条短片,室外的景物偏绿,我想问下,A、B、还有个PRST这三个是什么意思,你刚说机器前面的按钮时不是机身前面的自动调制那个按钮?麻烦你把手动调节讲的在详细点,真的是新手呀~~~! 回答 A是手动调白,B是机器自动调白(菜单可改),PRST是预设。 如果你是新手,那么用B,自动最好。 用A,然后在机器前面放一张白卡(纸),然后变焦将镜头推上去,拍白纸,然后按下机身前面自动调整的按钮,摄像机的液晶屏幕上白平衡显示会闪动,然后定下来,就是完成白平衡了。 不要用PRST。 追问 那明天的外景我直接调到B挡对吧,还用不用调Auto、Manual中的Auto 键,不用的话是不是直接调到B挡然后按机身前面的自动调整按键就行了,

手动的话先选择Manual这个,然后对白纸调A挡,自动调整就行了对吧,调白以后是不是可以一直不用管了还是要间隔短时间就要调一次~! 回答 Auto、Manual中的Auto 键是摄像机全自动。控制权要比B大。 所以如果你选了Aotu,那个B就不起作用了。 选到B就是机器定白了,你不用按了。 如果你想手动调 先选Manual,那么选A,再用白纸调。 变了环境要再调白。

数字图像处理实验

学院计算机与通信工程学院专业生物医学工程专业 班级51111 学号5111133 姓名杨静 指导教师贾朔 2014年04月21日

实验一图像的基本运算 一、实验目的: 1、掌握图像处理中的点运算、代数运算、逻辑运算和几何运算及应用。 2、掌握各种运算对于图像处理中的效果。 二、实验内容: 1、(1)选择一幅图像lena8.jpg,设置输入/输出变换的灰度级范围,a=0.2,b=0.6,c=0.1,d=0.9. (2)设置非线性扩展函数的参数c=2. (3)采用灰度级倒置变换函数s=255-r进行图像变换 (4)设置二值化图像的阈值,分别为level=0.4,level=0.7 解:参考程序如下: I=imread('C:\lena8.jpg'); figure; subplot(2,3,1); imshow(I); title('原图'); J=imadjust(I,[0.3;0.6],[0.1;0.9]); %设置灰度变换的范围 subplot(2,3,2); imshow(J); title('线性扩展'); I1=double(I); %将图像转换为double类型 I2=I1/255; %归一化此图像 C=2; K=C*log(1+I2); %求图像的对数变换 subplot(2,3,3); imshow(K); title('非线性扩展'); M=im2bw(I,0.5); M=~M; %M=255-I; %将此图像取反 %Figure subplot(2,3,4); imshow(M); title('灰度倒置'); N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5); imshow(N1); title('二值化阈值0.4'); subplot(2,3,6); imshow(N2); title('二值化阈值0.7');

数字图像处理实验程序MATLAB.

实验一 内容(一) (1)彩色图像变灰度图像 A=imread('1.jpg'); B=rgb2gray(A); figure subplot(1,2,1), imshow(A) title('原图') subplot(1,2,2), imshow(B) title('原图灰度图像') (2)彩色图像变索引图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') [X,map]=rgb2ind(A,128); subplot(1,2,2), imshow(X,map) title('原图索引图像') (3)彩色图像变二值图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') C=im2bw(A,0.2); subplot(1,2,2), imshow(C) title('原图二值图像') (4)灰度图像变索引图像(一) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=grayslice(B,39); subplot(1,2,2), imshow(C) title('灰度变索引图像')

(5)灰度图像变索引图像(二) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') [X,map]=gray2ind(B,63); subplot(1,2,2), imshow(X,map) title('灰度变索引图像') (6)灰度图像变彩色图像 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=gray2rgb(B,map); subplot(1,2,2), imshow(C) title('灰度变彩色图像') 内容(二) (1)灰度平均值 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') B=double(B); [m,n]=size(B); sumg=0.0; for i=1:m; for j=1:n; sumg=sumg+B(i,j); end end avg=sumg/(m*n) % 均值 maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度 (2)彩色平均值

白平衡调整 实验报告

电视摄像实验报告 实验名称:白平衡调整及跟移镜头的拍摄练习 院系:班级专业: 学生姓名:学号: 同组人:实验日期: 指导教师:

一.实验目的及要求 1. 通过三种执机方法、三种拍摄方式练习移镜头和跟镜 头拍摄,掌握在移动条件下手持稳定拍摄,拍摄出不同含义的镜头画面。 2. 通过了解色彩平衡原理及光圈、快门与进光量的关系, 认识掌握在不同光线环境下白平衡的调节方法,以保证在不同拍摄条件及环境下所拍摄图像色彩还原正确。 3. 通过改变白平衡,调整光圈、快门在白天拍摄夜景画 面,以体会在一定光照条件下拍出不同色彩效果的镜头画面。 二.实验原理 1.手持摄像机靠脚步移动拍摄移镜头、跟镜头及固定画面,同时通过“旋转”拍摄写意镜头。 2.不同的拍摄环境有不同的光色成分,要使所摄图像色彩还原正确,需要掌握白平衡调整的方法和技巧。三.主要仪器设备 索尼摄像机三脚架摄像机电池 摄像带白平衡色谱 四.实验过程 1.(1)领取器材,检查安装好摄像机、电池、摄像带等, 确保机器正常无误,准备拍摄练习; (2)进行固定镜头及推拉镜头达到基本拍摄练习,熟

悉掌握基本功。 2.(1)运用三种执机方法和三种拍摄方法,通过脚的过 渡,与被摄者呈平行、同向、逆向拍摄关系,分别将摄像机端着、抱着、提着,进行移镜头和跟镜头拍摄; (2)利用移动镜头进行固定画面的拍摄练习,展现出拍摄场景及人物关系。 3. 拍摄者与被摄者拉手分别“旋转”,练习唯美的写意画 面拍摄。 4.(1)按WHT BAL键调节白平衡,摄像机镜头对准白 色平衡色谱本,使用推镜头使白纸充满画面,自定义的图标停止闪动即完成; (2)将摄像机对准白平衡色谱本“黄5”,然后将光圈(IRIS)设置为F11,快门(SHUTTER SPEED)为10000,令其在白天拍摄出夜晚的效果;结束后,还原白平衡,调节光圈为F5.6,快门为50。 五.实验现象及处理结果 1.移镜头和跟镜头拍摄时画面晃动严重,要保持画面拍摄平稳就要注重脚步移动,脚的方向与前进方向呈30度左右可以改善拍摄状况。 2.调整白平衡能产生特殊的影调效果,用黄色调整时产生蓝色影调的感觉,达到特殊的拍摄效果,更好的展现场景。

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

相关文档
最新文档