当前位置: 首页 > news >正文

网站建设 创意视频网络规划设计师报考陕西

网站建设 创意视频,网络规划设计师报考陕西,seo提权软件,js 网站校验从OpenCV4.5.2开始,Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址: https://github.com/CihanTopal/ED_Lib 算法原理简介: 边缘绘制(ED)算法是一种解决边缘检测问题的主动方法…

从OpenCV4.5.2开始,Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址:

https://github.com/CihanTopal/ED_Lib

算法原理简介:

边缘绘制(ED)算法是一种解决边缘检测问题的主动方法。与许多其他遵循减法方法的现有边缘检测算法相比(即在图像上应用梯度滤波器后,根据多种规则消除像素,例如 Canny 中的非极大值抑制和滞后),ED 算法通过加法策略工作,即逐一选取边缘像素,因此称为“边缘绘制”。然后我们处理这些随机形状的边缘段以提取更高级别的边缘特征,即直线、圆、椭圆等。从阈值梯度幅度中提取边缘像素的流行方法是非极大值抑制,它测试每个像素是否具有最大值沿其梯度方向的梯度响应,如果没有则消除。然而,此方法不检查相邻像素的状态,因此可能会导致低质量(在边缘连续性、平滑度、薄度、定位方面)边缘片段。ED 不是非极大值抑制,而是指向一组边缘像素,并通过最大化边缘段的总梯度响应来将它们连接起来。因此,它可以提取高质量的边缘片段,而不需要额外的滞后步骤。

OpenCV中使用介绍文档:

https://docs.opencv.org/4.9.0/d1/d1c/classcv_1_1ximgproc_1_1EdgeDrawing.html

Python中使用演示:

from __future__ import print_function
import numpy as np
import cv2 as cv
import random as rng
import sysrng.seed(12345)def main():try:fn = sys.argv[1]except IndexError:fn = 'Image1.png'# 读取图像src = cv.imread(cv.samples.findFile(fn))if src is None:print(f"Error: Unable to load image '{fn}'")return# 转换为灰度图像gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)# 创建边缘绘制器ed = cv.ximgproc.createEdgeDrawing()# 设置边缘绘制参数EDParams = cv.ximgproc_EdgeDrawing_Params()EDParams.MinPathLength = 50EDParams.PFmode = FalseEDParams.MinLineLength = 20EDParams.NFAValidation = Trueed.setParams(EDParams)# 检测边缘ed.detectEdges(gray)# 获取边缘段、直线和椭圆segments = ed.getSegments()lines = ed.detectLines()ellipses = ed.detectEllipses()# 绘制检测到的边缘段ssrc = src.copy() * 0  # 创建黑色背景图像用于绘制边缘段for i in range(len(segments)):color = (rng.randint(0, 256), rng.randint(0, 256), rng.randint(0, 256))cv.polylines(ssrc, [segments[i]], isClosed=False, color=color, thickness=1, lineType=cv.LINE_8)# 绘制检测到的直线lsrc = src.copy()  # 创建原始图像的副本用于绘制直线if lines is not None:lines = np.uint16(np.around(lines))for i in range(len(lines)):cv.line(lsrc, tuple(lines[i][0][0:2]), tuple(lines[i][0][2:4]), (0, 0, 255), 1, cv.LINE_AA)# 绘制检测到的椭圆和圆esrc = src.copy()  # 创建原始图像的副本用于绘制椭圆和圆if ellipses is not None:for ellipse in ellipses:center = tuple(map(int, ellipse[0][0:2]))major_axis = int(ellipse[0][2])minor_axis = int(ellipse[0][3]) if ellipse[0][2] != ellipse[0][3] else 0  # 如果长短轴相等,则视为圆,minor_axis设为0angle = ellipse[0][4]color = (0, 0, 255) if minor_axis != 0 else (0, 255, 0)  # 非圆用红色,圆用绿色axes = (major_axis // 2, minor_axis // 2) if minor_axis != 0 else (major_axis // 2, major_axis // 2)  # 转换为半径cv.ellipse(esrc, center, axes, angle, 0, 360, color, 2, cv.LINE_AA)# 显示图像cv.imshow("Source Image", src)cv.imshow("Detected Edge Segments", ssrc)if lines is not None:cv.imshow("Detected Lines", lsrc)if ellipses is not None:cv.imshow("Detected Ellipses and Circles", esrc)# 等待用户按下任意键cv.waitKey(0)# 清理cv.destroyAllWindows()if __name__ == '__main__':print(__doc__)main()

 示例图

http://www.yayakq.cn/news/204632/

相关文章:

  • 提升网站性能网页设计实训报告心得
  • 1年网站淘宝网页版入口官网
  • 上海网站设计排名电子毕业设计代做网站
  • 佛山做企业网站公司购物网站开发需要什么技术
  • 电商运营需要掌握哪些知识seo优化一般包括哪些内容()。
  • 芜湖网站设计垂直门户网站的盈利模式探讨
  • 电影网站模板下载简单网页图片
  • 青浦区网站建设公司服装公司网站模板
  • 企业建站多站点管理系统如何免费虚拟网站
  • 网站被攻击打不开怎么办临沂网站建设方案报价
  • 怎么建设企业网站山西seo网络营销公司
  • 网站建设公司面临的问题网站flash效果
  • 网站切图是什么意思青岛 网站维护
  • 做爰全过程网站免费的视频教程wordpress用多大主机
  • 佛山微网站建设天博wordpress屏蔽ip访问
  • 网站建设的结论智能做网站
  • 张家口网站seo广告公司怎么取名字
  • 企业网站设计论文凡科网站建设
  • php 网站后台模板合肥做兼职网站设计
  • 免费招聘网站平台有哪些网站目录结构说明
  • 甘肃省住房与建设厅网站首页北大学风建设网站
  • 网站地址栏图标怎么做西安微官网自助建站公司
  • 做网站排名公司推荐网站建设与管理案例教程教学大纲
  • 有网站怎么做淘宝客网页界面设计作品赏析
  • 电子商务网站开发实务石道元青岛网站建设 推荐青岛博采网络
  • 宜良网站建设建设摩托车报价大全
  • 聊城建设网站wordpress 自定义 类别
  • 怎样建设一个好的网站做ae动图的网站
  • 开公司核名的网址怎么做网站的优化排名
  • 贵州网推传媒有限公司淄博seo外包公司