OpenCV实现特定手画图案检测

OpenCV是一个功能强大的计算机视觉库,适用于图像处理和形状检测。这里进行圆和椭圆的检测。

步骤:

  1. 边缘检测和轮廓提取: 使用 OpenCV 的 cv2.Canny 检测边缘,cv2.findContours 提取所有轮廓。

  2. 形状筛选

    • 计算轮廓的面积和周长。
    • 使用公式 (4π×面积)/(周长2)(4\pi \times \text{面积}) / (\text{周长}^2)(4π×面积)/(周长2) 计算轮廓的圆形度(值接近1说明是圆形)。
    • 对于其他椭圆形,可以用 cv2.fitEllipse 进一步判断长短轴比例。
  3. 过滤非目标形状

    • 筛选出符合圆形或椭圆形状的轮廓,忽略其他形状(比如直线、三角形、方形等)。
    • 在检测圆形和椭圆时,确保这些图案符合一定的大小要求(例如面积、周长、最小半径等),过滤掉那些过小的图案。
  4. 绘制结果: 标记检测出的圆和椭圆。

  5. 代码:

    import cv2
    import numpy as np
    
    # 读取图片
    image = cv2.imread("10.jpg")
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    
    # 边缘检测
    edges = cv2.Canny(gray, 50, 150)
    
    # 检测轮廓
    contours, _ = cv2.findContours(edges, cv2.RETR_TREE, cv2.C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值