opencv3逼近多边形曲线-在图像中的应用-滚动条
来源:互联网 发布:mmd数据 编辑:程序博客网 时间:2024/06/05 02:09
#include<opencv2/opencv.hpp>#include<iostream>#include<vector>using namespace cv;using namespace std;int g_nMinThred = 128, g_nMaxThred = 255;int g_nThick = 0;int main(){Mat srcImage = imread("1.jpg");namedWindow("【原图】", 0);imshow("【原图】", srcImage);createTrackbar("minthred", "【原图】", &g_nMinThred, 255, 0);createTrackbar("maxthred", "【原图】", &g_nMaxThred, 255, 0);createTrackbar("thick", "【原图】", &g_nThick, 100, 0);//先对图像进行空间的转换(为了之后要提取二值图像)Mat grayImage;cvtColor(srcImage, grayImage, CV_BGR2GRAY);//对图像进行滤波,达到较好的效果GaussianBlur(grayImage, grayImage, Size(3, 3), 0, 0);imshow("【滤波后的图像】", grayImage);char key;while (1){//用边缘检测的方式获取二值图像Mat cannyImage;Canny(grayImage, cannyImage, g_nMinThred, g_nMaxThred, 3);//在二值图像中提取轮廓vector<vector<Point>> contours;vector<Vec4i> hierarchy;findContours(cannyImage, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0));//对每个轮廓的点集 找逼近多边形vector<vector<Point>> approxPoint(contours.size());for (int i = 0; i < (int)contours.size(); i++){approxPolyDP(contours[i], approxPoint[i], 3, true);}/******************************************绘制曲线的方式********************************************///用绘制轮廓的函数 绘制曲线Mat drawImage = Mat::zeros(srcImage.size(), CV_8UC3);for (int i = 0; i < (int)contours.size(); i++){drawContours(drawImage, contours, i, Scalar(255, 255, 255), g_nThick + 1);}imshow("【绘制后的图像】", drawImage);key = waitKey(1);if (key == 27)break;}return 0;}
0 0
- opencv3逼近多边形曲线-在图像中的应用-滚动条
- opencv3逼近多边形曲线-approxPolyDP函数在图像中的应用
- opencv3逼近多边形曲线-approxPolyDP函数在图像中的应用
- opencv3矩的计算-在图像中的应用-滚动条
- opencv3返回外部矩形边界在图像中的应用-滚动条
- opencv3寻找最小包围矩形在图像中的应用-滚动条
- opencv3寻找最小包围圆形在图像中的应用-滚动条
- opencv3用椭圆拟合二维点集在图像中的应用-滚动条
- opencv3矩的计算-在图像中的应用
- opencv3计算图像轮廓的中心矩-滚动条
- opencv3计算图像中轮廓的面积-滚动条
- opencv3计算图像中轮廓的长度-滚动条
- opencv3 确定图像强角点-goodFeaturesToTrack函数-滚动条
- 贝塞尔曲线在Android中的应用
- 贝塞尔曲线在css3中的应用
- Bezier曲线在Android动画中的应用
- Opencv 轮廓 逼近多边形曲线 正外接矩形 外接最小矩形
- cvApproxPoly 多边形逼近轮廓
- Android adb命令的使用方法
- android studio导入.so库的正确方法
- c语言的循环之for循环
- MyBatis一些基本的概念
- 三星N9109W刷机教程(线刷官方固件rom包)
- opencv3逼近多边形曲线-在图像中的应用-滚动条
- Crush The Crash--蓝屏
- ActionBar的一些用法总结
- 多重继承之内部类
- opencv3阀值化下的轮廓查找与绘制
- 我的第一篇博客
- opencv3返回外部矩形边界-boundingRect函数
- 一个python网上文档
- 浏览器对象模型BOM-window,history,location,screen,navigator