1基于opencv实现对图像的的预处理基于opencv对图像的预处理1
问题描述本次设计是基于opencv结合c++语言实现的对图像的预处理,opencv是用于开发实时的图像处理、计算机视觉及模式识别程序;其中图像的预处理也就是利用opencv对图像进行简单的编辑操作;例如对图像的对比度、亮度、饱和度进行调节,同时还可以对图像进行缩放和旋转,这些都是图像预处理简单的处理方法;首先通过opencv加载一幅原型图像,显示出来;设置五个滑动控制按钮,当拖动按钮时,对比度、亮度、饱和度的大小也会随之改变,也可以通过同样的方式调节缩放的比例和旋转的角度,来控制图像,对图像进行处理,显示出符合调节要求的图像,进行对比观察他们的之间的变化
模块划分此次设计的模块分为五个模块,滑动控制模块、对比度和亮度调节模块、饱和度调节模块、缩放调节模块、旋转调节模块,他们之间的关系如下所示:图一、各个模块关系图滑动控制模块处于主函数之中,是整个设计的核心部分,通过createTrackbar创建五个滑动控制按钮并且调用每个模块实现对图像相应的调节
算法设计(1)滑动控制:滑动控制是整个设计的核心部分,通过创建滑动控制按钮调节大小来改变相应的数据,进行调用函数实现对图像的编辑,滑动控制是利用createTrackbar(),函数中包括了滑动控制的名称,滑动控制显示在什么窗口上,滑动变量的地址和它调节的最大范围,以及每个控制按钮应该调用什么函数实旋转调节模块缩放调节模块饱和度调节模块对比度和亮度调节滑动控制模块调用调用调用调用2基于opencv实现对图像的的预处理现什么功能;(2)对比度和亮度的调节:对比度和亮度的调节的原理是依照线性理论,它的公式如下所示:g(x)=a*f(x)+b,其中f(x)表示源图像的像素,g(x)表示输出图像的像素,参数a(需要满足a>0)被称为增益(gain),常常被用