资源简介
浅墨出品,分享精神至上~
利用OpenCV和滚动条动态调整动漫人物图片的对比度和亮度。
博文《【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整》的配套详细注释源代码。
博文链接:
http://blog.csdn.net/poem_qianmo/article/details/21479533
1.已将dll打包到Release文件夹下,运行Release文件夹中的exe可以直接看到运行结果.
2.源代码运行需要进行OpenCV+VS开发环境的配置。可以参看我写的配置博文:
http://blog.csdn.net/poem_qianmo/article/details/19809337
3.写作当前代码时配套使用的OpenCV版本: 2.4.8
4.推荐代码结合博文一起看,学习效果更佳。
by浅墨

代码片段和文件信息
//-----------------------------------【程序说明】----------------------------------------------
// 程序名称::【OpenCV入门教程之四】 创建Trackbar &图像对比度、亮度值调整 配套博文源码
// VS2010版 OpenCV版本:2.4.8
// 2014年3月18 日 Create by 浅墨
// 配套博文链接:http://blog.csdn.net/poem_qianmo/article/details/21479533
// 浅墨的微博:@浅墨_毛星云
//------------------------------------------------------------------------------------------------
//-----------------------------------【头文件包含部分】---------------------------------------
// 描述:包含程序所依赖的头文件
//----------------------------------------------------------------------------------------------
#include
#include
#include “opencv2/imgproc/imgproc.hpp“
#include
//-----------------------------------【命名空间声明部分】---------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace std;
using namespace cv;
//-----------------------------------【全局函数声明部分】--------------------------------------
// 描述:全局函数声明
//-----------------------------------------------------------------------------------------------
static void ContrastAndBright(int void *);
//-----------------------------------【全局变量声明部分】--------------------------------------
// 描述:全局变量声明
//-----------------------------------------------------------------------------------------------
int g_nContrastValue; //对比度值
int g_nBrightValue; //亮度值
Mat g_srcImageg_dstImage;
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{
//改变控制台前景色和背景色
system(“color 5F“);
// 读入用户提供的图像
g_srcImage = imread( “pic1.jpg“);
if( !g_srcImage.data ) { printf(“Oh,no,读取g_srcImage图片错误~! \n“); return false; }
g_dstImage = Mat::zeros( g_srcImage.size() g_srcImage.type() );
//设定对比度和亮度的初值
g_nContrastValue=80;
g_nBrightValue=80;
//创建窗口
namedWindow(“【效果图窗口】“ 1);
//创建轨迹条
createTrackbar(“对比度:“ “【效果图窗口】“&g_nContrastValue 300ContrastAndBright );
createTrackbar(“亮 度:“ “【效果图窗口】“&g_nBrightValue 200ContrastAndBright );
//调用回调函数
ContrastAndBright(g_nContrastValue0);
ContrastAndBright(g_nBrightValue0);
//输出一些帮助信息
cout< <<“\t按下“q”键时,程序退出~!\n“
<<“\n\n\t\t\t\t by浅墨“;
//按下“q”键时,程序退出
while(char(waitKey(1)) != ‘q‘) {}
return 0;
}
//-----------------------------【ContrastAndBright( )函数】------------------------------------
// 描述:改变图像对比度和亮度值的回调函数
//-----------------------------------------------------------------------------------------------
static void ContrastAndBright(int void *)
{
// 创建窗口
namedWindow(“【原始图窗口】“ 1);
// 三个for循环,执行运算 g_dstImage(ij) = a*g_srcImage(ij) + b
for( int y = 0; y < g_srcImage.rows; y++ )
{
for( int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3697 2014-03-18 21:45 OpenCVdemo4\OpenCVdemo4\main.cpp
文件 4887 2014-03-17 11:09 OpenCVdemo4\OpenCVdemo4\OpenCVdemo4.vcxproj
文件 942 2014-03-16 11:12 OpenCVdemo4\OpenCVdemo4\OpenCVdemo4.vcxproj.filters
文件 143 2014-03-16 11:08 OpenCVdemo4\OpenCVdemo4\OpenCVdemo4.vcxproj.user
文件 217636 2014-03-18 17:39 OpenCVdemo4\OpenCVdemo4\pic1.jpg
文件 674 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\cl.command.1.tlog
文件 2 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\cl.read.1.tlog
文件 230 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\cl.write.1.tlog
文件 3866 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\li
文件 952389 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\main.obj
文件 593 2014-03-17 11:06 OpenCVdemo4\OpenCVdemo4\Release\OpenCVdemo4.Build.CppClean.log
文件 381 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\OpenCVdemo4.exe.intermediate.manifest
文件 65 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\OpenCVdemo4.lastbuildstate
文件 3376 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\OpenCVdemo4.log
文件 413696 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release\vc100.pdb
文件 900 2014-03-16 11:08 OpenCVdemo4\OpenCVdemo4.sln
..A..H. 18944 2014-03-17 22:17 OpenCVdemo4\OpenCVdemo4.suo
文件 15872 2014-03-18 21:46 OpenCVdemo4\Release\OpenCVdemo4.exe
文件 617472 2014-03-18 21:46 OpenCVdemo4\Release\OpenCVdemo4.pdb
文件 2098688 2013-12-29 12:09 OpenCVdemo4\Release\opencv_core248.dll
文件 2080768 2013-12-29 12:10 OpenCVdemo4\Release\opencv_highgui248.dll
文件 1905664 2013-12-29 12:10 OpenCVdemo4\Release\opencv_imgproc248.dll
文件 217636 2014-03-18 17:39 OpenCVdemo4\Release\pic1.jpg
目录 0 2014-03-18 21:46 OpenCVdemo4\OpenCVdemo4\Release
目录 0 2014-03-18 21:48 OpenCVdemo4\OpenCVdemo4
目录 0 2014-03-18 21:48 OpenCVdemo4\Release
目录 0 2014-03-18 21:46 OpenCVdemo4
----------- --------- ---------- ----- ----
8558521 27
............此处省略0个文件信息
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 用C语言进行数字图像处理
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 人脸识别(opencv_facedetect_v4l2)
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
评论
共有 条评论