• 大小: 2.79M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-15
  • 语言: C/C++
  • 标签: opencv  VC  图像处理  

资源简介

利用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\link.command.1.tlog

     文件      16868  2020-10-27 13:50  【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\link.read.1.tlog

     文件       1238  2020-10-27 13:50  【50】漫水填充算法综合示例\【50】漫水填充算法综合示例\Debug\【50】漫水填充算法综合示例.tlog\link.write.1.tlog

     文件        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


评论

共有 条评论