python+opencv检测剑脊的直线

 

import cv2
import numpy as np

img = cv2.imread("../../images/test.png")
k = np.ones((3, 3), np.uint8)
erosion = cv2.erode(img,k,iterations = 1)
edge = cv2.Canny(img, 30, 60)
print(edge.shape)
cv2.namedWindow("img",0)
cv2.imshow("img", img)

# open = cv2.morphologyEx(edge, cv2.MORPH_OPEN, k)
lines = cv2.HoughLinesP(edge, 1, np.pi/180, 80)
for line in lines:
    x1, y1, x2, y2 = line[0]
    if x1>=779 and x1<=790:
     cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 2)
cv2.namedWindow("lines_demo",0)
cv2.imshow("lines_demo", img)


cv2.namedWindow("edge",cv2.WINDOW_NORMAL)
cv2.imshow("edge",edge)
cv2.waitKey(0)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种高级编程语言,具有许多优点,其中一个亮点就是它的灵活性和易用性。使用Python,我们可以很轻松地实现各种功能,例如使用PythonOpenCV库来检测图像中的灯光亮点。 OpenCV是一个开源的计算机视觉库,它提供了许多图像处理和计算机视觉相关的功能。使用OpenCV,我们可以轻松地读取、处理和分析图像。 对于检测图像中的灯光亮点,我们可以使用一些图像处理技术来实现。首先,我们可以使用OpenCV的函数来读取图像并将其转换为灰度图像。然后,我们可以使用阈值函数来将图像二值化,将亮度高于某个阈值的像素设为白色,低于阈值的像素设为黑色。 接下来,我们可以使用连通组件分析技术来标记并提取图像中的亮点。连通组件分析将对图像进行像素级别的分析,将相连的亮像素组成一个连通组件。通过计算连通组件的大小和位置,我们可以筛选出符合条件的亮点。 最后,我们可以通过绘制圆圈或者方框来标记检测到的亮点,并将它们显示在原始图像上。这样,我们就可以直观地看到哪些区域含有灯光亮点。 总结来说,Python的一个亮点就是它丰富的库和工具,使得实现图像处理任务变得非常简单。使用PythonOpenCV,我们可以轻松地检测图像中的灯光亮点,并对它们进行分析和标记。这个功能对于许多领域,如计算机视觉、智能交通系统和图像识别等都非常有用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值