opencv之绘制轮廓(代码实现)

简介: opencv之绘制轮廓(代码实现)
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
Mat src, dst, canny_src;
int threshold_value = 100;
int max_threshold = 255;
RNG rng(12345);
void demo_contours(int, void*);
int main(){
 src = imread("D:/photo/circle.jpg");
 if (src.empty())
 {
 cout << "open no success!" << endl;
 return -1;
 }
 //创建显示窗口
 namedWindow("out image", WINDOW_AUTOSIZE);
 //显示原图片
 imshow("input", src);
 //转换到灰度图单通道
 cvtColor(src, canny_src, CV_BGR2GRAY);
 //创建滑块进行阈值选择
 createTrackbar("threshole", "out image", &threshold_value, max_threshold, demo_contours);
 demo_contours(0,0);
 waitKey(0);
 return 0;
}
void demo_contours(int, void*){
 //初始化轮廓向量和序号向量,固定的
 vector<vector<Point>> contours;
 vector<Vec4i> hierachy;
 //阈值去噪声
 Canny(canny_src, canny_src, threshold_value, 2* threshold_value, 3, false);
 //寻找轮廓
 findContours(canny_src, contours, hierachy, RETR_TREE, 1);
 dst = Mat::zeros(src.size(), src.type());
 for (size_t i = 0; i < contours.size(); i++)
 {
 //绘制轮廓
 Scalar color = Scalar(rng.uniform(0,255), rng.uniform(0,255), rng.uniform(0,255));
 drawContours(dst, contours, i, color, 2, 8, hierachy, 0, Point(0,0));
 }
 imshow("out image", dst);
}

20180520110056529.png

2018052011010813.png

相关文章
|
6月前
|
计算机视觉 Python
OpenCV轮廓拟合与凸包的讲解与实战应用(附Python源码)
OpenCV轮廓拟合与凸包的讲解与实战应用(附Python源码)
180 0
|
6月前
|
传感器 C++ 计算机视觉
【opencv3】详述PnP测距完整流程(附C++代码)
【opencv3】详述PnP测距完整流程(附C++代码)
|
6月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
5月前
|
算法 开发工具 计算机视觉
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
77 1
|
3月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
6月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
3月前
|
计算机视觉 Python
opencv在pycharm不能自动补全代码
opencv在pycharm不能自动补全代码
30 0
|
5月前
|
存储 编解码 算法
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
89 0
|
5月前
|
计算机视觉
OpenCV轮廓分析
OpenCV轮廓分析
|
6月前
|
算法 计算机视觉 开发者
OpenCV图形检测中绘制图像的轮廓讲解与实战应用(附Python源码)
OpenCV图形检测中绘制图像的轮廓讲解与实战应用(附Python源码)
192 0