c# opencv 轮廓检测_OpenCV(C++版)轮廓(contour)检测

#include "stdafx.h"

#include

using namespace std;

using namespace cv;

int main( int argc, char** argv )

{    Mat src;

// the first command-line parameter must be a filename of the binary (black-n-white) image

if( argc != 2 || !(src=imread(argv[1], 0)).data)

return -1;

Mat dst = Mat::zeros(src.rows, src.cols, CV_8UC3);

src = src > 50;

namedWindow( "Source", 1 );

imshow( "Source", src );

vector > contours;

vector hierarchy;

findContours( src, contours, hierarchy, CV_RETR_CCOMP , CV_CHAIN_APPROX_NONE );

// iterate through all the top-level contours,draw each connected component with its own random color

int idx = 0;

for( ; idx >= 0; idx = hierarchy[idx][0] )

{

Scalar color( rand()&255, rand()&255, rand()&255 );

drawContours( dst, contours, idx, color, CV_FILLED, 8, hierarchy );

}

namedWindow( "Components", 1 );

imshow( "Components", dst );

waitKey(0);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值