OpenCV图像处理

OpenCV图像处理

ID:47193546

大小:319.00 KB

页数:5页

时间:2019-08-20

OpenCV图像处理_第1页
OpenCV图像处理_第2页
OpenCV图像处理_第3页
OpenCV图像处理_第4页
OpenCV图像处理_第5页
资源描述:

《OpenCV图像处理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《OpenCV图像处理》---上机实验报告11.实验题目:改变图像的对比度和亮度2.实验目的:(1)访问像素值;(2)用0初始化矩阵;(3)saturatecast是做什么用的,以及它为什么有用。3.实验原理:(1)图像处理:一般来说,图像处理算子是带有一幅或多幅输入图像、产生一幅输出图像的函数。图像变换可分为以下两种:点算子(像素变换)、领域(基于区域的)算子;(2)像素变换:在这一类图像处理变换中,仅仅根据输入像素值(有时可加上某些全局信息或参数)计算相应的输出像素值。这类算子包括亮度和对比度调整,以及颜色校正和变换;(3)亮度和对比度调整:两种常用的点过程(即点算子),是用常数对点进行

2、乘法和加法运算g(x)=αf(x)+ß;(4)两个参数>0和一般称作增益和偏置参数。我们往往用这两个参数来控制对比度和亮度;(5)你可以把看成源图像像素,把g(x)看成输出图像像素。这样一来,上面的式子就能写的更清楚些g(i,j)=α*f(i,j)+β,其中i,j表示像素位于第i行和第j列。4.实验步骤:(1)建立两个变量,以便存储用户输入的α和β:(2)用imread载入图像,并将其存入一个Mat对象:(3)此时,因为要对图像进行变换,所以我们需要一个新的Mat对象,以存储变换后的图像,我们希望这个Mat对象具有如下性质:1)像素值初始化为0;2)与原图像有相同的大小和类型。注意到:Mat

3、::Zeros采用Matlab风格的初始化方式,用image.size()和image.type()来对Mat对象进行0初始化。(4)现在为了执行运算g(i,j)=α*f(i,j)+β,我们要访问图像的每一个像素,因为是对RGB图像进行运算,每个像素有三个值(R,G,B),所以要分别访问他们,下面是访问像素的代码片段:注意:为了访问图像的每一个像素,我们使用如下语法image.at(y,x)[c],其中,y是像素所在的行,x是像素所在的列,c是R、G、B(0、1、2)之一,因为α*p(i,j)+β的运算结果可能超出像素取值范围,还可能是非整数(如果α是浮点数的话),所以我们要用

4、saturate-cast对结果进行转换,以确保他为有效值。(5)最后,用传统方法创建窗口并显示图像:5.实验结果:6.源程序:#include#include#include#include#include#includeusingnamespacestd;usingnamespacecv;Matsrc,erosion_dst,dilation_dst;interosion_elem=0;inte

5、rosion_size=0;intdilation_elem=0;intdilation_size=0;intconstmax_elem=2;intconstmax_kernel_size=21;voidErosion(int,void*);voidDilation(int,void*);intmain(intargc,char**argv){src=imread("guo.jpg");if(!src.data){return-1;}namedWindow("ErosionDemo",CV_WINDOW_AUTOSIZE);namedWindow("DilationDemo",CV_WIND

6、OW_AUTOSIZE);cvMoveWindow("DilationDemo",src.cols,0);createTrackbar("Element:0:Rect1:Cross2:Ellipse","ErosionDemo",&erosion_elem,max_elem,Erosion);createTrackbar("Kernelsize:2n+1","ErosionDemo",&erosion_size,max_kernel_size,Erosion);createTrackbar("Element:0:Rect1:Cross2:Ellipse","Dil

7、ationDemo",&dilation_elem,max_elem,Dilation);createTrackbar("Kernelsize:2n+1","DilationDemo",&dilation_size,max_kernel_size,Dilation);Erosion(0,0);Dilation(0,0);waitKey(0);return0;}voidErosion(int,void*){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。