CVAPI(void) cvPyrSegmentation( IplImage* src, IplImage* dst,
                              CvMemStorage* storage, CvSeq** comp,
                              int level, double threshold1,

double threshold2 );

使用注意:

1.头文件要加入:#include <opencv2/legacy/legacy.hpp>

2.图像的宽和高必须至少被2整除,而且level决定要被2整除的次数

测试用图:

程序代码:

#include <highgui.h>
#include<cv.h>
#include <opencv2/legacy/legacy.hpp>int t;
int level=1;
int threshold1=10;
int threshold2=10;  IplImage *img_in;
IplImage *img_out;
IplImage *img2;
CvMemStorage *stoage ;
CvSeq* comp=NULL; using namespace std;void on_trackbar_1(int level_pos)
{level=level_pos;cvPyrSegmentation(img_in,img_out,stoage,&comp,level,threshold1,threshold2); cvNamedWindow("img_out",CV_WINDOW_AUTOSIZE);cvShowImage("img_out",img_out);
}void on_trackbar_2(int threshold1_pos)
{threshold1=threshold1_pos;cvPyrSegmentation(img_in,img_out,stoage,&comp,level,threshold1,threshold2); cvNamedWindow("img_out",CV_WINDOW_AUTOSIZE);cvShowImage("img_out",img_out);
}void on_trackbar_3(int threshold2_pos)
{threshold2=threshold2_pos;cvPyrSegmentation(img_in,img_out,stoage,&comp,level,threshold1,threshold2); cvNamedWindow("img_out",CV_WINDOW_AUTOSIZE);cvShowImage("img_out",img_out);
}int main()
{stoage = cvCreateMemStorage();img_in = cvLoadImage("test.jpg");img_out = cvCreateImage(cvSize(img_in->width,img_in->height),IPL_DEPTH_8U,3);img2 = cvCreateImage(cvSize(500,500),IPL_DEPTH_8U,3);cvNamedWindow("img_in",CV_WINDOW_AUTOSIZE);cvShowImage("img_in",img_in);cvNamedWindow("img2",CV_WINDOW_AUTOSIZE);cvCreateTrackbar("Level","img2",&t,4,on_trackbar_1);cvCreateTrackbar("threshold1","img2",&t,200,on_trackbar_2);cvCreateTrackbar("threshold2","img2",&t,100,on_trackbar_3);cvWaitKey(0);cvDestroyAllWindows();cvReleaseImage(&img_in);//cvReleaseImage(&img2);return 0;
}

运行结果:

cvPyrSegmentation() 图像金字塔分割相关推荐

  1. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结

    我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: <1> resize函数.这是最直接的方式, &l ...

  2. OpenCV+python:图像金字塔

    1,图像金字塔的概念 图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构.应用于图像分割,机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图 ...

  3. OpenCV 【十九】图像金字塔/基本的阈值操作/实现自己的线性滤波器

    目录 1.part one 图像金字塔 1.1原理 1.1.1图像金字塔 1.1.2高斯金字塔 1.2代码 1.3运行结果 2.part two 基本的阈值操作¶ 2.1原理 2.1.1阈值化的类型: ...

  4. 【OpenCV 4开发详解】分割图像——Mean-Shift分割算法

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  5. 滤波、漫水填充、图像金字塔、图像缩放、阈值化

      imgpro 组件是 Image 和 Process 这两个单词的缩写组合,即图像处理模块,这个模块包含了如下内容: 文章目录 1.线性滤波:方框滤波.均值滤波.高斯滤波 1.1 平滑处理 1.2 ...

  6. 最强通道注意力来啦!金字塔分割注意力模块,即插即用,效果显著,已开源!...

    导读 本文是通道注意力机制的又一重大改进,主要是在通道注意力的基础上,引入多尺度思想,本文主要提出了金字塔分割注意力模块,即PSA module.进一步,基于PSA ,我们将PSA注意力模块替换Res ...

  7. OpenCV之imgproc 模块. 图像处理(1)图像平滑处理 腐蚀与膨胀(Eroding and Dilating) 更多形态学变换 图像金字塔 基本的阈值操作

    图像平滑处理 目标 本教程教您怎样使用各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下: blur GaussianBlur medianBlur bilateralFilter 原理 No ...

  8. 笔记:基于DCNN的图像语义分割综述

    写在前面:一篇魏云超博士的综述论文,完整题目为<基于DCNN的图像语义分割综述>,在这里选择性摘抄和理解,以加深自己印象,同时达到对近年来图像语义分割历史学习和了解的目的,博古才能通今!感 ...

  9. 图像目标分割_5 DeepLab V2 V3 V3+

    6.5.1 DeepLab V2 6.5.1.1 改变特点 atrous convolution 采用ASPP ( atrous spatial pyramid pooling) 多尺度获得更好的分割 ...

  10. OpenCV_04 几何变换:图像缩放+图像平移+图像旋转+仿射变换+透射变换+图像金字塔

    1 图像缩放 缩放是对图像的大小进行调整,即使图像放大或缩小. API cv2.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR) 参 ...

最新文章

  1. dataframe 转json
  2. ocp 042 第七章:管理方案对象
  3. vue-cli watch/timer
  4. 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)
  5. Python二级笔记(15)
  6. mysql profiling详解_使用mysql profiling功能剖析单条查询
  7. 单片机51keil编程流程
  8. 常用 MQTT 客户端库简介
  9. UE4 - 默认鼠标指针的样式修改自定义
  10. 软件系统设计-12-软件设计体系结构概述
  11. 使用AdoptOpenJDK替代Oracle JDK
  12. Winhex手动恢复删除数据
  13. 蓝桥杯单片机—— PCF8591的基本原理及A/D转换应用(14)
  14. v-model 自带绑定的number 、lazy 、debounce属性
  15. 免费录屏软件Captura下载安装及分享
  16. Web大学生网页作业成品:基于html制作中国科技发展网站设计题材【航天之路7页】HTML+CSS+JavaScript
  17. 获取拼音首字母(含生僻字)工具类
  18. keilU5中.lib文件的生成与调用
  19. c语言压缩文本文件北京理工大学,北京理工大学C语言程序设计第十二章文件.ppt...
  20. 第101篇 盲盒智能合约(ERC1155)

热门文章

  1. FAT文件系统“格式化”的恢复方法
  2. systemctl 管理服务命令
  3. npm 更新_npm 的安全困扰:仅有 9.27% 的 npm 开发者使用 2FA
  4. 如何自己去写一个鼠标驱动_方法 - 做手写电子笔记的方法——如何在Windows电脑/平板上做手写笔记(包括非触屏电脑)(MacOS也可以)...
  5. ukf实测信号的预测 matlab,无迹卡尔曼滤波UKF无线传感器网络定位跟踪matlab源码实现.pdf...
  6. CMU 15-213 Introduction to Computer Systems学习笔记(17) Virtual Memory:System
  7. html音乐播放标签,html5 视频和音乐播放器标签属性
  8. hash redis springboot_在SpingBoot中使用Redis对接口进行限流
  9. 十一、垃圾回收策略配置
  10. iOS:segment对齐原则