OpenCV入门(三)复杂一点的变换

将一幅图像缩小为原来的二分之一

在openCV中,通过cvPyrDown()完成这个功能

/*
将图像缩小到原来的一半
*/

#include "highgui.h"
#include "cv.h"
//#include<assert.h>

void doPyrDown(IplImage* img, int fliter=IPL_GAUSSIAN_5x5)
{
	// 断言
	//assert(img->width%2==0 && img->height%2==0);
	// 命名窗口
	cvNamedWindow("Half");
	// 创建新的图形,大小为原来长和宽的一半
	IplImage* half = cvCreateImage(cvSize(img->width/2, img->height/2),
		img->depth,
		img->nChannels);
	//将原图像缩小为原来的一半
	cvPyrDown(img,half);
	cvShowImage("Half",half);

	cvReleaseImage(&half);
	cvWaitKey(0);
	cvDestroyWindow("Half");

}

结果与原图像相比,为:



提取图像的边缘

使用cvCanny()提取图像的边缘

/*
边缘提取
*/

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

void doCanny(
	IplImage* img,
	double lowThresh,
	double highThresh,
	double aperture
	)
{
	// 命名窗口
	cvNamedWindow("Edge");
	// Canny只能处理单通道图像
	IplImage* edge = cvCreateImage(
		cvSize(img->width, img->height),
		IPL_DEPTH_8U,
		1);
	cvCanny(img,edge,lowThresh,highThresh,aperture);

	cvShowImage("Edge",edge);

	cvReleaseImage(&edge);
	cvWaitKey(0);
	cvDestroyWindow("Edge");

}

结果:




这些变换所用到的函数和使用将在后面的内容中详细说明




资料来源:《学习OpenCV》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值