首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用python测量图像中圆的中心到中心的距离

使用Python测量图像中圆的中心到中心的距离可以通过以下步骤实现:

  1. 导入所需的库:
代码语言:txt
复制
import cv2
import numpy as np
  1. 读取图像并进行预处理:
代码语言:txt
复制
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
  1. 检测图像中的圆:
代码语言:txt
复制
circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, 1, minDist=20, param1=50, param2=30, minRadius=0, maxRadius=0)
  1. 提取圆的中心坐标:
代码语言:txt
复制
if circles is not None:
    circles = np.round(circles[0, :]).astype("int")
    for (x, y, r) in circles:
        cv2.circle(image, (x, y), r, (0, 255, 0), 4)
        cv2.rectangle(image, (x - 5, y - 5), (x + 5, y + 5), (0, 128, 255), -1)
  1. 计算圆的中心到中心的距离:
代码语言:txt
复制
if len(circles) >= 2:
    center1 = circles[0][:2]
    center2 = circles[1][:2]
    distance = np.linalg.norm(center1 - center2)
    print("圆的中心到中心的距离:", distance)

完整代码示例:

代码语言:txt
复制
import cv2
import numpy as np

image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)

circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, 1, minDist=20, param1=50, param2=30, minRadius=0, maxRadius=0)

if circles is not None:
    circles = np.round(circles[0, :]).astype("int")
    for (x, y, r) in circles:
        cv2.circle(image, (x, y), r, (0, 255, 0), 4)
        cv2.rectangle(image, (x - 5, y - 5), (x + 5, y + 5), (0, 128, 255), -1)

if len(circles) >= 2:
    center1 = circles[0][:2]
    center2 = circles[1][:2]
    distance = np.linalg.norm(center1 - center2)
    print("圆的中心到中心的距离:", distance)

cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

这段代码使用OpenCV库进行图像处理和圆的检测,通过Hough变换检测图像中的圆,并计算圆的中心到中心的距离。在代码中,我们使用了灰度转换、高斯模糊和Hough圆检测等技术来提取图像中的圆。最后,通过计算两个圆的中心坐标之间的欧氏距离来得到圆的中心到中心的距离。

推荐的腾讯云相关产品:腾讯云图像处理(https://cloud.tencent.com/product/tci)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

机器视觉(第3期)----图像采集之镜头原理详述

上期我们一起学习了光源相关的知识,知道了怎么选择光源,链接如下: 机器视觉(第2期)----图像采集之照明综述 镜头是一种光学设备,用于聚集光线在摄像机内部成像。镜头的作用是产生锐利的图像,以得到被测物的细节,这一期我们将一起学习使用不同镜头产生不同的成像几何,以及镜头像差是如何产生的。希望通过本期学习,我们能够掌握如何选择镜头以及像差产生的原因。 作为一个机器视觉算法人员,来介绍光学系统方面的知识,有些地方理解起来还是有些难度的,小编已经再旁边放了几摞砖,欢迎大家来拍。希望能够和大家一起交流,共同进步。

012
  • css常用函数

    1. attr() 用来选择元素的属性值,用法:attr(html元素的属性名),正常搭配css content一起使用 html:

    css: a:after{content:'('attr(href) '/' attr(name) ')'} 结果: 十(http://a.b.c / attr) 九(htt

    02

    TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务

    机器之心专栏 作者:王天宇、胡枭玮 来自香港中文大学与上海人工智能实验室的王天宇与胡枭玮等作者提出了一种实例阴影检测任务,旨在查找阴影与物体之间的关系。 阴影是由光线被物体遮挡而产生,阴影与物体密不可分。为了寻找阴影和产生阴影的物体,来自香港中文大学与上海人工智能实验室的王天宇与胡枭玮等作者提出了一种实例阴影检测任务,旨在查找阴影与物体之间的关系,进而估计光照方向、实现各种图像编辑应用。 实例阴影检测不仅可以找到输入图像中的单个阴影实例,还可以得到投射每个阴影的物体。实例阴影检测任务有助于各种下游应用,例如

    02
    领券