几种方法用来提取图像轮廓的例子

本文整理了从不同角度提取图像轮廓的几种方法,包括理论与实践,适用于图像处理和计算机视觉领域的初学者。
摘要由CSDN通过智能技术生成

参考了许多博客,自己整理了一下几种方法用来提取图像轮廓的方法,记录一下

#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<iostream>

using namespace cv;
using namespace std;


//方法1
void Contours1(Mat &image)
{

	//将image由彩色图像转换成灰度图像
	cvtColor(image,image,CV_BGR2GRAY);
	//再通过阈值函数将其转换为二值图像
	threshold(image,image,160,255,THRESH_BINARY);//设置阈值为160,最大像素值为255
	vector<vector<Point>> contours;
	//find轮廓
	findContours(image,contours,1,CHAIN_APPROX_SIMPLE);
	//draw轮廓
	Mat result=Mat::zeros(image.size(),CV_8UC1);
	if(!contours.empty())
	{
		//result:存放轮廓,contours:找到的轮廓,-1:将所有轮廓画出,Scalar(255):由白色画,2:画笔粗细
	drawContours(result,contours,-1,Scalar(255),2);
	imshow("处理图",result);
	}
	
}

//方法2
void Contours2(Mat &image)
{
	Mat img1=Mat::zeros(image.size(),CV_8UC1);
	//将image由彩色图像转换成灰度图像
	
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值