资源简介
浅墨出品,分享精神至上~
图片素材为初音,非常萌。
一个演示了用轨迹条来控制轮廓检测,轮廓填充的程序。浅墨将其详细注释,放出来供大家消化研习。
博文《【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浅墨
代码片段和文件信息
//-----------------------------------【程序说明】----------------------------------------------
// 程序名称: createTrackbar函数 官方sample程序【 浅墨优化&详细注释版】
// 说明:【OpenCV入门教程之四】 创建Trackbar &图像对比度、亮度值调整 配套博文源码之【番外篇】
// VisualStudio 2010版 使用OpenCV版本:2.4.8
// 官方原版示例路径:opencv_source_code/samples/cpp/connected_components.cpp
// 配套博文链接:http://blog.csdn.net/poem_qianmo/article/details/21479533
// 2014年3月18 日 Edited by 浅墨
// 浅墨的微博:@浅墨_毛星云
//------------------------------------------------------------------------------------------------
//-----------------------------------【头文件包含部分】---------------------------------------
// 描述:包含程序所依赖的头文件
//----------------------------------------------------------------------------------------------
#include “opencv2/imgproc/imgproc.hpp“
#include “opencv2/highgui/highgui.hpp“
#include
//-----------------------------------【命名空间声明部分】---------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace cv;
using namespace std;
//-----------------------------------【全局函数声明部分】--------------------------------------
// 描述:全局函数声明
//-----------------------------------------------------------------------------------------------
Mat img;
int threshval = 160; //轨迹条滑块对应的值,给初值160
//-----------------------------【on_trackbar( )函数】------------------------------------
// 描述:轨迹条的回调函数
//-----------------------------------------------------------------------------------------------
static void on_trackbar(int void*)
{
Mat bw = threshval < 128 ? (img < threshval) : (img > threshval);
//定义点和向量
vector > contours;
vector hierarchy;
//查找轮廓
findContours( bw contours hierarchy CV_RETR_CCOMP CV_CHAIN_APPROX_SIMPLE );
//初始化dst
Mat dst = Mat::zeros(img.size() CV_8UC3);
//开始处理
if( !contours.empty() && !hierarchy.empty() )
{
//遍历所有顶层轮廓,随机生成颜色值绘制给各连接组成部分
int idx = 0;
for( ; idx >= 0; idx = hierarchy[idx][0] )
{
Scalar color( (rand()&255) (rand()&255) (rand()&255) );
//绘制填充轮廓
drawContours( dst contours idx color CV_FILLED 8 hierarchy );
}
}
//显示窗口
imshow( “Connected Components“ dst );
}
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{
system(“color 5F“);
//载入图片
img = imread(“1.jpg“ 0);
if( !img.data ) { printf(“Oh,no,读取img图片文件错误~! \n“); return -1; }
//显示原图
namedWindow( “Image“ 1 );
imshow( “Image“ img );
//创建处理窗口
namedWindow( “Connected Components“ 1 );
//创建轨迹条
createTrackbar( “Threshold“ “Connected Components“ &threshval 255 on_trackbar );
on_trackbar(threshval 0);//轨迹条回调函数
waitKey(0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 99296 2014-03-18 21:02 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\1.jpg
文件 3243 2014-03-18 21:45 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\main.cpp
文件 4425 2014-03-17 17:34 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar.vcxproj
文件 942 2014-03-17 17:33 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar.vcxproj.filters
文件 143 2014-03-17 17:32 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar.vcxproj.user
文件 842 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\cl.command.1.tlog
文件 2 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\cl.read.1.tlog
文件 398 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\cl.write.1.tlog
文件 3442 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\li
文件 975739 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\main.obj
文件 381 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\OpenCVdemo4_ultra_createTrackbar.exe.intermediate.manifest
文件 86 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\OpenCVdemo4_ultra_createTrackbar.lastbuildstate
文件 3437 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\OpenCVdemo4_ultra_createTrackbar.log
文件 438272 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release\vc100.pdb
文件 963 2014-03-17 17:32 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar.sln
..A..H. 17408 2014-03-17 22:17 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar.suo
文件 99296 2014-03-18 21:02 OpenCVdemo4_ultra_createTrackbar\Release\1.jpg
文件 17408 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\Release\OpenCVdemo4_ultra_createTrackbar.exe
文件 658432 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\Release\OpenCVdemo4_ultra_createTrackbar.pdb
文件 2098688 2013-12-29 12:09 OpenCVdemo4_ultra_createTrackbar\Release\opencv_core248.dll
文件 2080768 2013-12-29 12:10 OpenCVdemo4_ultra_createTrackbar\Release\opencv_highgui248.dll
文件 1905664 2013-12-29 12:10 OpenCVdemo4_ultra_createTrackbar\Release\opencv_imgproc248.dll
目录 0 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar\Release
目录 0 2014-03-18 21:46 OpenCVdemo4_ultra_createTrackbar\OpenCVdemo4_ultra_createTrackbar
目录 0 2014-03-18 21:48 OpenCVdemo4_ultra_createTrackbar\Release
目录 0 2014-03-18 21:48 OpenCVdemo4_ultra_createTrackbar
----------- --------- ---------- ----- ----
8409275 26
相关资源
- OpenCV高级形态学程序 by浅墨
- OpenCV调整图片对比度&亮度 程序 by浅墨
- 云台控制程序,八个方向控制云台,
- 数字图像处理 DIB的读取与显示VC源代
- 猫脸变换算法(Arnold)的简单实现C
- visual c++的几个经典小游戏
- C++Primer第四版书和代码(中文+英文双
- 推箱子小游戏 c++ wxwidgets code:blocks
- Modern C++ Programming Cookbook.pdf
- C++ 源码小游戏 超级玛丽,五子棋
- 可视化编程简单计算器用C++编程 课程
- VC++防火墙源代码
- Visual C++开发基于SNMP的网络管理软件
- 计算机图形学作品vc++
- C++ Templates(侯捷).zip
- C++硬盘扇区读写技术
- c++程序设计第二版 课件 北京邮电大学
- c++builder6.0开发的信息管理系统
- 点云压缩代码
- VC++6.0添加背景音乐的实现
- 数字签名 /C++/源代码
- 酒店管理系统源代码C++
- c++prime课后习题答案PDF版
- 基于OpenCV的步态能量图源代码GEI Gai
- 非线性滤波
- c++链接数据库用二进制存储图像,并
- VC++6.0小游戏--扫雷源代码
- SNAP7 协议说明书
- 基于C++的网络入侵检测系统源码
- C++考勤管理系统源代码
评论
共有 条评论