当前位置: 首页 > news >正文

openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 二(51-)

环境:OpenCV3.2.0 + VS2015

51、Mean-Shift算法分割图像 cv::pyrMeanShiftFiltering()

参考链接:【从零学习OpenCV 4】分割图像——Mean-Shift分割算法

Mean-Shift算法又被称为均值漂移法,是一种基于颜色空间分布(彩色图像的像素值)图像分割算法。该算法的输出是一个经过滤色的“分色”图像,其颜色会变得渐变,并且细纹纹理会变得平缓(颜色分布平滑的图像)。

// pyrMeanShiftFiltering()函数原型
void cv::pyrMeanShiftFiltering(InputArray  src,			//待分割的输入图像,必须是三通道CU_8U的彩色图像OutputArray  dst,		//分割后的输出图像,与输入图像具有相同的尺寸和数据类型double  sp,				//滑动窗口的半径double  sr,				//滑动窗口颜色幅度int  maxLevel = 1,		//分割金字塔缩放层数TermCriteria  termcrit = //迭代算法终止条件TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1)  )

TermCriteria变量可以通过TermCriteria()函数进行赋值,函数原型如下:

// TermCriteria()函数原型
cv::TermCriteria::TermCriteria(int  type,		//终止条件的类型标志,可以选择的参数及含义在表8-6中给出int  maxCount,	//最大迭代次数或者元素数double  epsilon 	//迭代算法停止时需要满足的精度或者参数变化)

该函数可以表示迭代算法的终止条件,主要分为满足迭代次数和满足计算精度两种。

表8-6 TermCriteria()函数中终止条件的类型标志可选参数及含义
	//分割处理Mat result1, result2;TermCriteria T10 = TermCriteria(TermCriteria::COUNT|TermCriteria::EPS, 10, 0.1); pyrMeanShiftFiltering(img, result1, 20, 40, 2, T10);  //第一次分割pyrMeanShiftFiltering(result1, result2, 20, 40, 2, T10);  //第一次分割的解雇再次分割 //显示分割结果imshow("img", img);imshow("result1", result1);imshow("result2", result2);//对图像提取Canny边缘Mat imgCanny,result1Canny,result2Canny;Canny(img, imgCanny, 150, 300);Canny(result1, result1Canny, 150, 300);Canny(result2, result2Canny, 150, 300);//显示边缘检测结果imshow("imgCanny", imgCanny);imshow("result1Canny", result1Canny);imshow("result2Canny", result2Canny);

52、

http://www.lryc.cn/news/384458.html

相关文章:

  • 读AI新生:破解人机共存密码笔记13有益机器
  • Spring Boot中使用Swagger生成API文档
  • 解决 macOS 中“无法验证开发者”的问题
  • Emp.dll文件丢失?理解Emp.dll重要性与处理常见问题
  • 知识平台管理系统设计
  • Python 中字符串修饰符
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇Kerberos委派安全RBCD资源Operators组成员HTLMRelay结合
  • Manjaro Linux系统简介和archlinux哲学
  • 【Windows 常用工具系列 17 -- windows bat 脚本多参数处理】
  • 《Windows API每日一练》6.3 非客户区鼠标消息
  • Http客户端-Feign 学习笔记
  • 【Linux】进程信号_2
  • 关于五度圈
  • 电脑突然提示dll文件丢失,怎么选择正确的恢复方法?
  • HTML(12)——背景属性
  • C语言 指针——从函数返回字符串
  • java:aocache:基于aspectJ实现的方法缓存工具
  • UE4_材质_湿度着色器及Desaturation算法_ben材质教程
  • AI问答-ERP:理解 ERP / 我国ERP发展现状 / ERP软件有哪些 / 华为自研ERP
  • C语言 | Leetcode C++题解之第199题二叉树的右视图
  • java:aocache的单实例缓存
  • c++11 abi 兼容性
  • 获取个人免费版Ubuntu Pro
  • Pinia的基本用法
  • 正版软件 | DeskScapes:将您的桌面变成生动的画布
  • OpenCV cv::Mat到 Eigen 的正确转换——cv2eigen
  • PostgreSQL的扩展(extensions)-常用的扩展-pg_pathman
  • 数据结构之树
  • 6毛钱SOT-23封装28V、400mA 开关升压转换器,LCD偏置电源和白光LED应用芯片TPS61040
  • saga模型