opencv-python 轮廓查找 椭圆拟合 画椭圆
直接放图放程序
import cv2 as cvif __name__ == "__main__":im = cv.imread("image/circle_patten.jpg") # 读图imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY) # 转灰度图_, thresh = cv.threshold(imgray, 130, 255, cv.THRESH_BINARY + cv.THRESH_OTSU) # 二值化 image, contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) # 轮廓查找retval = cv.fitEllipse(contours[1]) # 取其中一个轮廓拟合椭圆img = cv.ellipse(im, retval, (0, 0, 255), thickness=2) # 在原图画椭圆cv.imshow("mark_ellipse[1]", img)print(retval) # 这里可以查看下fitEllipse的返回值的结构cv.waitKey()
fitEllipse
ellipse
注意到这里的形参box即是 fitEllipse的返回值
其类型为RotatedRect
RotatedRect
在上面的程序中,print(retval)得到的值为:
((579.71240234375, 449.0208740234375), (49.17593765258789, 49.56596755981445), 96.06968688964844)
对应下图可知retval[0]为椭圆中心坐标,retval[1]是外接椭圆的矩形的高和宽,retval[2]为旋转角
opencv-python 轮廓查找 椭圆拟合 画椭圆相关推荐
- OpenCV的轮廓查找和填充
OpenCV的轮廓查找有C版本和C++版本,当轮廓比较复杂的时候,例如嵌入多层轮廓,如果方法不当那么很容易会漏处理一些轮廓.本文介绍了复杂轮廓场景下的几种主要的查找轮廓和颜色填充方法. 1:cvFin ...
- OpenCV python 轮廓的极值点
OpenCV python 轮廓的极值点 处理图片:[cs1.jpg] import cv2 import numpy as npdef get_contour(img):""&q ...
- opencv c++ 轮廓逼近与拟合
1.概念 轮廓逼近:指用越来越多的多边形对轮廓进行拟合,从而获得与轮廓近似的多边形,并获取多边形的形状.目的是为了减少编码点(人话:减少数据量) 拟合:生成最相似的圆或多边形. 2.代码 AP ...
- Python 用 OpenCV 画椭圆 (5)
利用 OpenCV 自带的 ellipse() 函数画椭圆 并显示,其函数声明如下: cv2.ellipse(img, center, axes, rotateAngle, startAngle, e ...
- python外包凹多边形生成_Python实现图片查找轮廓、多边形拟合、最小外接矩形代码...
1.概述 经常用到轮廓查找和多边形拟合等opencv操作,因此记录以备后续使用.本文代码中的阈值条件对图片没有实际意义,仅仅是为了测试. 原图为: 2.测试代码: import cv2 import ...
- 【OpenCv】图像的轮廓查找
1 原理 边界或者轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度.轮廓在形状分析和物体的检测和识别中很有用. 在机器视觉领域最常用的轮廓查找的算法之一是 Moore ...
- 数学老师必看,教您快速画椭圆
大家应该都对椭圆不陌生,它在数学中占有一定的比重,是中学时代必学的圆锥曲线之一,也是历来考试的重点和难点.在黑板上画椭圆有点困难,我们可以借助专业的课件制作工具快速画椭圆,如果你还不知道怎么操作,下面 ...
- 基于OpencV的轮廓填充算法在3D打印机中的应用
在这之前,我们需要了解一下SLC文件的格式,只有对格式有一点了解,我们才能做接下来的工作,首先SLC文件中是通过描述各层中的多段线来描述整个模型的,多段线之间两两相连.对单个轮廓来说,最后一点必须等于 ...
- java 椭圆拟合,OpenCV画轮廓的外界圆矩形椭圆等
#include #include #include #include using namespace std; #pragma comment(lib,"cv.lib") # ...
最新文章
- 什么是电子路径用于连接计算机主板上的芯片,计算机的组成部分及功能346.doc...
- Oracle数据库中的分页--rownum
- svnserve.conf: Option expected的问题解决方法
- iframe的子界面获取父界面的标签元素
- java 分页查询_java开发之分页查询
- 二维计算几何基础知识
- 管理mysql表知识点_数据库复习提纲(必考知识点整理)
- leetcode 84. Largest Rectangle in Histogram | 84. 柱状图中最大的矩形(单调栈)
- ElasticSearch Pipeline 为新增数据设置更新时间
- java nio底层实现_Java NIO 底层原理
- UI设计师素材干货|APP底部导航模板
- scipy中稀疏矩阵coo_matrix, csr_matrix 的使用
- python 去除水印_cv2 去除图片水印
- 马尔可夫毯(Markov Blanket)
- SRS之SrsConfig类
- 2自由度悬架LQR控制
- 解开My SQL workbench安全模式
- 编写bat命令打开文件夹或者doc,txt文件
- DXC Technology Company旗下公司Luxoft完成对CMORE Automotive的收购
- 初探区块链的挑战,应用和发展