资源简介
利用openCV3.0进行图片的漫水填充
代码片段和文件信息
//--------------------------------------【程序说明】-------------------------------------------
// 程序说明:《OpenCV3编程入门》OpenCV3版书本配套示例程序50
// 程序描述:漫水填充算法综合示例
// 开发测试所用操作系统: Windows 7 64bit
// 开发测试所用IDE版本:Visual Studio 2010
// 开发测试所用OpenCV版本: 3.0 beta
// 2014年11月 Created by @浅墨_毛星云
// 2014年12月 Revised by @浅墨_毛星云
//------------------------------------------------------------------------------------------------
//---------------------------------【头文件、命名空间包含部分】----------------------------
// 描述:包含程序所使用的头文件和命名空间
//------------------------------------------------------------------------------------------------
#include “opencv2/imgproc/imgproc.hpp“
#include “opencv2/highgui/highgui.hpp“
#include
using namespace cv;
using namespace std;
//-----------------------------------【全局变量声明部分】--------------------------------------
// 描述:全局变量声明
//-----------------------------------------------------------------------------------------------
Mat g_srcImage g_dstImage g_grayImage g_maskImage;//定义原始图、目标图、灰度图、掩模图
int g_nFillMode = 1;//漫水填充的模式
int g_nLowDifference = 20 g_nUpDifference = 20;//负差最大值、正差最大值
int g_nConnectivity = 4;//表示floodFill函数标识符低八位的连通值
int g_bIsColor = true;//是否为彩色图的标识符布尔值
bool g_bUseMask = false;//是否显示掩膜窗口的布尔值
int g_nNewMaskVal = 255;//新的重新绘制的像素值
//-----------------------------------【ShowHelpText( )函数】----------------------------------
// 描述:输出一些帮助信息
//----------------------------------------------------------------------------------------------
static void ShowHelpText()
{
//输出欢迎信息和OpenCV版本
printf(“\n\n\t\t\t非常感谢购买《OpenCV3编程入门》一书!\n“);
printf(“\n\n\t\t\t此为本书OpenCV3版的第50个配套示例程序\n“);
printf(“\n\n\t\t\t 当前使用的OpenCV版本为:“ CV_VERSION);
printf(“\n\n ----------------------------------------------------------------------------\n“);
//输出一些帮助信息
printf(“\n\n\t欢迎来到漫水填充示例程序~“);
printf(“\n\n\t本示例根据鼠标选取的点搜索图像中与之颜色相近的点,并用不同颜色标注。“);
printf(“\n\n\t按键操作说明: \n\n“
“\t\t鼠标点击图中区域- 进行漫水填充操作\n“
“\t\t键盘按键【ESC】- 退出程序\n“
“\t\t键盘按键【1】- 切换彩色图/灰度图模式\n“
“\t\t键盘按键【2】- 显示/隐藏掩膜窗口\n“
“\t\t键盘按键【3】- 恢复原始图像\n“
“\t\t键盘按键【4】- 使用空范围的漫水填充\n“
“\t\t键盘按键【5】- 使用渐变、固定范围的漫水填充\n“
“\t\t键盘按键【6】- 使用渐变、浮动范围的漫水填充\n“
“\t\t键盘按键【7】- 操作标志符的低八位使用4位的连接模式\n“
“\t\t键盘按键【8】- 操作标志符的低八位使用8位的连接模式\n\n“);
}
//-----------------------------------【onMouse( )函数】--------------------------------------
// 描述:鼠标消息onMouse回调函数
//---------------------------------------------------------------------------------------------
static void onMouse(int event int x int y int void*)
{
// 若鼠标左键没有按下,便返回
//此句代码的OpenCV2版为:
//if( event != CV_EVENT_LBUTTONDOWN )
//此句代码的OpenCV3版为:
if (event != EVENT_LBUTTONDOWN)
return;
//-------------------【<1>调用floodFill函数之前的参数准备部分】---------------
Point seed = Point(x y);
int LowDifference = g_nFillMode == 0 ? 0 : g_nLowDifference;//空范围的漫水填充,此值设为0,否则设为全局的g_nLowDifference
int UpDifference = g_nFillMode == 0 ? 0 : g_nUpDifference;//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 80896 2020-10-27 13:50 【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.exe
文件 480204 2020-10-27 13:50 【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.ilk
文件 1084416 2020-10-27 13:50 【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.pdb
文件 78848 2014-11-10 17:02 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\1.jpg
文件 9004 2020-04-18 20:22 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\50_floodFill2.cpp
文件 222527 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\50_floodFill2.obj
文件 748544 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\vc120.idb
文件 692224 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\vc120.pdb
文件 2792 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.log
文件 1514 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\cl.command.1.tlog
文件 30474 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\CL.read.1.tlog
文件 1318 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\CL.write.1.tlog
文件 5934 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\li
文件 16868 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\li
文件 1238 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\li
文件 214 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\【50】漫水填充算法综合示例.lastbuildstate
文件 4124 2020-04-18 20:22 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\【50】漫水填充算法综合示例.vcxproj
文件 954 2020-04-18 20:22 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\【50】漫水填充算法综合示例.vcxproj.filters
文件 11403264 2020-10-27 14:21 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例.sdf
文件 1060 2020-04-18 20:21 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例.sln
..A..H. 29696 2020-10-27 14:21 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例.v12.suo
目录 0 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog
目录 0 2020-10-27 13:50 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug
目录 0 2020-10-23 16:49 【50】漫水填充算法综合示例\Debug
目录 0 2020-10-23 16:49 【50】漫水填充算法综合示例\【50】漫水填充算法综合示例
目录 0 2020-10-27 14:21 【50】漫水填充算法综合示例
----------- --------- ---------- ----- ----
14896113 26
- 上一篇:51驱动步进电机
- 下一篇:QR二维码C++源码 算法实现
相关资源
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- MFC的异步网络通讯应用程序
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- VC编程助手2010破解版(原名VA_X_10.6.
- opencv激光中心线的提取
- 基于改进的fcm算法的图像分割vc++
- VC++6.0 绿色版,免安装,非常好用。
- Microsoft Visual C++ 2005 Redistributable Pack
- VC++MFC课程设计的学生成绩管理系统
- VC6查找与替换插件
- 大智慧365DLL插件设计
- Microsoft Visual C++ 2010 Redistributable Pack
- VC经典教程等chm格式学习资料包
- 基于VC、MATLAB的汽车制动性能仿真
- VC++6.0汉化包
- Visual+C++数字图像处理-谢凤英-源代码
- VC++完整商业界面源码(再上传)
- OpenCV Computer Vision Application Programming
- VC++编程技术600个大型项目源码.rar
- C++编写的万年历源码
- 基于图割的图像分割OpenCV+MFC实现
- VC++实现RSA加密算法
- VC源码获取WINDOWS系统所有的用户密码
- VC++ 中国象棋经典游戏源代码
- 郁金香VC++游戏辅助视频教程
评论
共有 条评论