还剩3页未读,继续阅读
文本内容:
及升)享F7XPAN TFCHNOIOQICAI IJNIVFRSITY图像处理》实验报告toPENCV院(系)理学院专业信息与计算科学指导老师刘建伟班级101001班姓名龙云祥时间2013年9月11日改变图像的对比度和亮度
一、实验名称改变图像的对比度和亮度
二、实验目的
1.学习opencv的一些基本操作
2.通过学习改变图像对比度和亮度可以访问像素值,用0初始化矩阵,以及saturate_cast函数是做什么用的,还有一些有关像素变换的精彩内容
三、实验原理
1.图像处理一般来说,图像处理算子是带有一幅或多幅输入图像、产生一幅输出图像的函数图像变换可分为以下两种点算子(像素变换)、领域(基于区域的)算子
2.像素变换在这一类图像处理变换中,仅仅根据输入像素值(有时可加上某些全局信息或参数)计算相应的输出像素值这类算子包括亮度和对比度调整,以及颜色校正和变换
3.亮度和对比度调整两种常用的点过程(即点算子),是用常数对)()点进行乘法和加法运算9(x=af x+P两个参数a0和0一般称作增益和偏置参数我们往往用这两个参数来分别控制对比度和亮度)()你可以把f(x看成源图像像素,把g x看成输出图像像素这样一来,上面的式子就能写得更清楚些gi,j=a・fi,j+0
四、实验运行环境:其中,i和j表示像素位于第i行和第j歹人Windows2007操作系统,Visual Studio2012
五、实验源代码#include stdafx.h〃^include opencv2/core/core.hpp#include opencv2/highgui/highgui.hpp#include iostreamusing namespace std;usingnamespacecv;double alpha;int beta;int mainintargc,char**argvMat image=imread,zlena.jpgz/;Mat new_image=Mat::zeros image,size,image,type;cout/zBasic LinearTransforms endl;cout z/z,endl;cout〃*Enter thealpha value[
1.0-
3.0],z;cin alpha;cout〃*Enter the beta value[0T00]cinbeta;〃;for inty=0;yimage.rows;y++for intx=0;ximage.cols;x++for intc=0;c3;c++new image.atVec3by,x[c]二saturate_castucharalpha*image.atVec3by,x[c]+beta;namedWindowOriginal Image”,1;namedWindow/zNew Image”,1;imshowOriginal Image”,image;imshowzNew Imagez,,new_image;waitKey;return0;
六、实验结果:■g:\UserData\my documents\visual studio2012\Projects\long\Debug\long.exeBasic LinearTransforms*Enter thealpha ualue[
1.0-
3.032k Enterthebetavalue[0-100330
七、实验总结:通过本次实验,我基本上掌握opencv和Visual Studio2012的环境配置,通过opencv的学习,能操作一些基本的图像显示,及其图像处理,但仍有较多编程的知识学习,代码都是通过查阅资料得到,在以后的学习中我应该加强下自学的能力。