均值漂移图像分割
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
using namespace cv;
using namespace std;
//颜色通道分离
static void MergeSeg(Mat& img, const Scalar& colorDiff = Scalar::all(1))
{CV_Assert(!img.empty());RNG rng = theRNG();// 定义掩码图像Mat mask(img.rows + 2, img.cols + 2, CV_8UC1, Scalar::all(0));for (int y = 0; y < img.rows; y++){for (int x = 0; x < img.cols; x++){if (mask.at<uchar>(y + 1, x + 1) == 0){// 颜色定义Scalar newVal(rng(256), rng(256), rng(256));// 泛洪合并floodFill(img, mask, Point(x, y), newVal, 0, colorDiff, colorDiff);}}}
}
int main(int argc, char** argv)
{cv::Mat srcImg = imread("..\\images\\sea.jpg");if (srcImg.empty())return -1;// 参数设定int spatialRad = 20;int colorRad = 20;int maxPyrLevel = 6;cv::Mat resImg;// 均值漂移分割pyrMeanShiftFiltering(srcImg, resImg, spatialRad, colorRad, maxPyrLevel);// 颜色通道分离合并MergeSeg(resImg, Scalar::all(2));cv::imshow("src", srcImg);cv::imshow("resImg", resImg);cv::waitKey();return 0;
}
转载:http://blog.csdn.net/zhuwei1988
相关文章:

Unreal Engine 4 优化教程
本教程旨在帮助开发人员提升基于虚幻引擎(Unreal Engine*4 (UE4))开发的游戏性能。在教程中,我们对引擎内部及外部使用的一系列工具,以及面向编辑器的最佳实践加以概述,还提供了有助于提高帧速率和项目稳定性的脚本。查看详情 转载于:https:/…

Gitlab CI更多内容学习(二)
文章目录1 CI含义2.1 多平台统一发布2.2 平台解耦单一发布3. CI job按需触发4. Gitlab CI/CD管道配置5. Job和Runner6. Gitlab CI预定义变量1 CI含义 GitLab CI / CD管道配置参考 GitLab CI/CD pipeline configuration reference 使用在每个项目中调用的YAML文件配置GitLab …

spring读取配置文件的几种方式
场景 假如有以下属性文件dev.properties, 需要注入下面的tag tag123 通过PropertyPlaceholderConfigurer <bean class"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name"location" value"dev.prop…

特征尺度变换实现
void CreateScaleSpace(cv::Mat srcImage,std::vector< std::vector<Mat> > &ScaleSpace,std::vector< std::vector<Mat> > &DoG) {cv::Size ksize(5, 5);double sigma; Mat srcBlurMat, up, down;// 高斯平滑GaussianBlur(srcImage, srcBlurM…

Flask基础-(模板)
概念:包含变量和运算逻辑的HTML,执行这些变量替换和逻辑计算工作的过程称为渲染 1.基本语法 a.{{ 。。。}}用来标记变量 b.{% %}用来标记语句 c.{{ 变量|过滤器 }} d.{# #}注释复制代码2.过滤器 safe:禁用转义;<p>{{ <em>…

GitLab CI流水线配置文件.gitlab-ci.yml详解(三)
GitLab CI流水线配置文件.gitlab-ci.yml详解 … contents:: 目录 本文讲解在 :ref:GitLab的汉化与CI持续集成gitlab-runner的配置 <configure_gitlab_i18n_and_create_gitlab_ci_with_gitlab_runner> 的基础上,对GitLab CI流水线配置文件 .gitlab-ci.yml 进…

elasticsearch-.yml(中文配置详解)
此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # Elasticsearch Configuration ## NOTE: Elasticsearch comes with reasonable defaults for most settings.# Before you set out to tweak and t…

SIFT 特征检测及匹配
#<opencv2/opencv.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/xfeatures2d/nonfree.hpp> #include <iostream>//using namespace cv::features2d; using namespace std; using namespace cv; // 计算图像的SIFT特征及匹配 …

详解Java中的复合视图设计模式
使用由多个子视图组成的复合视图。整个模板的每个子视图可以整体动态地包括在内,并且可以独立于内容来管理页面的布局。 Apache Tiles和SiteMesh 框架使用Composite View Design Pattern。 为简单起见,这种模式分为若干部分,如问题࿰…

CI流水线配置文件参数详解(一)
文章目录4. 参数详解(一)4.1 script4.2 image 指定使用Docker镜像。如 iamge:name ,暂时忽略。4.3 before_script 用于定义在所有作业之前需要执行的命令,比如更新代码、安装依赖、打印调试信息之类的事情。4.4 after_script4.5 stages 定义流水线全局可…

Elasticsearch的前后台运行与停止(rpm包方式)
对应,这es的下载,需要rpm包。 Elasticsearch-2.4.3的下载(图文详解) 建议用root用户 [rootdjt002 elasticsearch-2.4.3]$ pwd/usr/local/elasticsearch/elasticsearch-2.4.3 [rootdjt002 elasticsearch-2.4.3]$ rpm -ivh elastic…

SURF 特征检测及匹配
#include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> #include <opencv2/xfeatures2d/nonfree.hpp> #include <iostream>using namespace cv::xfeatures2d; using namespace std; using namespace cv;// 计算图像的SURF特征及匹配 floa…

Mybatis源码阅读之三
2019独角兽企业重金招聘Python工程师标准>>> 由前面的系列二分析到MapperMethod的execute方法,我们接着分析MapperMethod。如下List-1: List-1 public class MapperMethod {private final SqlCommand command;private final MethodSignature method;publ…

Vim快捷键键位图
https://www.runoob.com/w3cnote/all-vim-cheatsheat.html

简单几步写一个laravel扩展包
为什么80%的码农都做不了架构师?>>> laravel使用composer来管理扩展包,理解composer和laravel的开发模式,可以通过简单的几个步骤,快速写出一个laravel扩展包。 全新的laravel5.4环境安装 composer create-project la…

ORB 特征检测与匹配
#include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> #include <opencv2/xfeatures2d/nonfree.hpp> #include <iostream>using namespace cv::xfeatures2d; using namespace std; using namespace cv; // 计算图像的ORB特征及匹配 cv::…

数据结构(队列实现篇)
在数据结构与算法中,队列queue是一种受限的线性储存结构,特殊之处在于它只允许在表的前端front进行删除操作,而在表的后端rear进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾…
Markdown编辑器使用
Markdown编辑器使用欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚…

HOGDescriptor 描述类
struct CV_EXPORTS HOGDescriptor {// 高斯平滑参数enum { DEFAULT_WIN_SIGMA -1 };// 检测窗口的最大数量enum { DEFAULT_NLEVELS 64 };// 描述符存储格式enum { DESCR_FORMAT_ROW_BY_ROW, DESCR_FORMAT_COL_BY_COL };// 创建了特征描述符和检测器HOGDescriptor(Size win_si…

Linux----进程概念
程序 : 程序指的是一系列有逻辑, 有顺序结构的指令.进程 : 进程从两个角度来说:1 用户角度: 进程从用户角度来说就是运行中的程序2 操作系统的角度: 进程是操作系统对运行中程序的描述信息, 叫做进程描述符(程序控制块)简称PCBPCB : 在Linux下PCB指的是在内核中的task_struct 结…

codecheck
codecheck scan-build: clang-tools集成的静态检查工具, 使用clang static analyzer进行静态检查,使用方便 https://clang-analyzer.llvm.org/scan-build.html https://manpages.ubuntu.com/manpages/bionic/man1/scan-build.1.html CodeChecker: 爱立信推出的静…

ubuntu安装chrome浏览器
PPA方法,免FQ,否则,你得FQ下载chrome,你Firefox VPN配置好了吗!!! wget -q -O - https://raw.githubusercontent.com/longhr/ubuntu1604hub/master/linux_signing_key.pub | sudo apt-key add s…

java中的注解(二)
今天我继续来介绍java中的注解。注解与接口和类不同的是注解是不允许继承的,但是注解中有一个和继承有关的元注解:Inherited。如果我们在定义注解时候加上这个元注解那么我们就可以在子类中监测到该注解的存在。 Target(ElementType.TYPE) Inherited Ret…

【C++】random随机数与【C++11】/rand()和srand()的用法
文章目录随机数1. c 11 random随机数的使用(推荐使用)1.11.21.31.42.1 C中随机函数rand()和srand()的用法(老本版)2.2 限制随机数的范围随机数 C 提供了一组函数以生成和使用随机数字。随机数字就是从一组可能的值中进行随机选择…

快速区域积分直方图实现
void cacHOGinCell(Mat& HOGCellMat,Rect roi,std::vector<Mat>& integrals) {// 实现快速积分HOGint x0 roi.x,y0 roi.y;int x1 x0 roi.width;int y1 y0 roi.height;for(int i 0; i < NBINS; i){// 根据矩阵的上下左右坐标计算Mat integra…

Resultset获取行数和列数
为什么80%的码农都做不了架构师?>>> 在Java中,获得ResultSet的总行数的方法有以下几种。 第一种:利用ResultSet的getRow方法来获得ResultSet的总行数 Statement stmt con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,Re…

object.create()
语法: Object.create(proto, [propertiesObject]) //方法创建一个新对象,使用现有的对象来提供新创建的对象的proto。 参数:proto : 必须。表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象,或说是最后返回…

codecheck_use_record
文章目录Step 1: Integrate CodeChecker into your build systemStep 2: Analyze your codeStep 3: Run the analysisStep 4: View the analysis results in the command lineStep 5: Hint: You can do the 1st and the 2nd step in one round by executing checkstep 6: Expor…

centos6.5 rsync+inotify同步配置笔记
以两台服务器为例: 主服务器: 192.168.1.100 从服务器: 192.168.1.101 1.安装rsync (主服务器与从服务器同时安装) 使用xinetd管理rsync yum install rsync xinetd 设置开机启动 vi /etc/xinetd.d/rsync ... 修改为 disable no ... 启动xin…

HOG 特征计算实现
// 获取HOG直方图 cv::Mat getHog(Point pt,std::vector<Mat> &integrals) {// 判断当前点的位置是否符合条件 if( pt.x - R < 0 ||pt.y - R < 0 ||pt.x R > integrals[0].cols ||pt.y R > integrals[0].rows ){return Mat();}// 直方图Mat hist(Size(…