学习OpenCV——金字塔分割(Trackbar)

原创 2012年03月23日 11:32:44

 运行结果可能会出问题,还是用上一篇的定值效果比较好。

#include"cv.h"
#include"highgui.h"

char wndname[] = "Show";
char tbarname0[] = "Level";
char tbarname1[] = "Threshold1";
char tbarname2[] = "Threshold2";
int edge_thresh0 = 1;
int edge_thresh1 = 50;

IplImage* resize=0;
IplImage* dst=0;

void on_trackbar(int h)
{
	cvNamedWindow( "resize", 1 );      
	// Show the image in the named window       
	cvShowImage( "resize", resize );
	cvWaitKey(0);
	CvMemStorage* storage = cvCreateMemStorage(0);
	CvSeq* comp = NULL;
	cvPyrSegmentation(resize,dst,storage,&comp,edge_thresh0, edge_thresh1, edge_thresh1*3);
	cvReleaseMemStorage(&storage);
        
	// Show the image in the named window       
	cvShowImage( wndname, dst );
	
}

int main()
{
	IplImage* src=cvLoadImage("D:/1.jpg",1);
	//图像大小必须能被2^level整除
	resize=cvCreateImage(cvSize(512,512),8,3);
	dst=cvCreateImage(cvSize(512,512),8,3);
	cvResize(src,resize);
	 cvNamedWindow( wndname, 1 );
	 cvCreateTrackbar(tbarname0, wndname, &edge_thresh0, 8, on_trackbar);
	 cvCreateTrackbar(tbarname1, wndname, &edge_thresh1, 100, on_trackbar);
	  
	on_trackbar(1);
    // Wait for a key stroke; the same function arranges events processing
	// Press any key to exit.         
	// Clean up and don’t be piggies   
    cvWaitKey(0);
	  
	cvReleaseImage( &src );  
    cvReleaseImage( &dst ); 
	cvDestroyWindow(wndname);
	return 0;  
}

相关文章推荐

学习Opencv——图像金字塔

图像

Python下使用OpenCV——使用Trackbar实现绘图板

本次实验利用到了createTrackbar和getTrackbarPos函数实现一个绘图板的功能,用户可以选择矩形或是画笔模式,并设置调色板中值来选择颜色,选择画笔大小,进行绘图。除此之外,还可以用...

opencv基本图像处理——添加滑动条trackbar

int cvCreateTrackbar( const char* trackbar_name, //滑动条的名称 const char* window_name, //窗口的名称,滑动条不会遮挡...

【opencv学习】lucas金字塔光流算法的实现——基于opencv3.0+vs2013+windows10

1. 代码简介 程序平台:vs2013 opencv3.0 win10 安装与配置方法:http://blog.csdn.net/poem_qianmo/article/details/19809...

学习OpenCV(六)TrackBar的使用

在以前的几个例子里面,我们并没有实现与计算机的交互。在OpenCV中,我们可以使用TrackBar来进行交互,调整一些参数的大小。这篇文章主要介绍了如何使用TrackBar。 举一个均值滤波blur...
  • xmfthu
  • xmfthu
  • 2013年12月04日 13:38
  • 2458

【Ubuntu+OpenCV】HighGUI之trackbar(滑动条)的创建--学习笔记【2】

一、要在一副图像上加一个滑动条的步骤:1.先建立一个窗口,该窗口就是而后要把trackba放上去的父窗口。即trackbar属于那个窗口。2.创建trackbar。要用到函数cvCreateTrack...

OpenCV3.2学习笔记之TrackBar

OpenCV3.2中TrackBar的使用

OpenCV学习:创建Trackbar & 图像对比度、亮度值调整

如何在OpenCV中用createTrackbar函数创建和使用轨迹条,以及图像对比度、亮度值的动态调整。...

OpenCV实践之路——TrackBar调整图像的亮度和对比度(OpenCV1和OpenCV2两种版本)

由于最开始接触的就是opencv2.0之后的版本,所以之前在看到Opencv1.0版本的C接口写就的代码时,感觉到诸多的不适应不习惯。今天做出了一个小小的突破,那就是见到opencv1.0的代码,我竟...

opencv——图像金字塔

什么是图像金字塔(pyramid)?         一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到某个终止条件才停止采样。    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习OpenCV——金字塔分割(Trackbar)
举报原因:
原因补充:

(最多只允许输入30个字)