You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python+OpenCV的特定零件方向检测方案咨询

基于OpenCV的零件朝向检测方案

完全可以通过OpenCV实现,核心思路是利用你提到的缺口朝向这一显著特征,结合轮廓分析来判别零件的TOP/BOTTOM状态,具体步骤如下:

步骤1:图像预处理

先对输入图像做灰度化和二值化处理,突出零件轮廓和缺口特征,消除无关干扰:

import cv2
import numpy as np

# 读取图像
img = cv2.imread('your_image_path.png')
# 灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化(用OTSU自动阈值适配不同光照)
_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)

步骤2:定位单个零件区域

由于零件形状固定、拍摄角度一致,通过轮廓检测提取两个零件的外接矩形,分割出单个零件的ROI(感兴趣区域):

# 寻找轮廓
contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 过滤小轮廓,保留零件主体轮廓
part_contours = [cnt for cnt in contours if cv2.contourArea(cnt) > 1000]

# 遍历轮廓提取每个零件的ROI
part_rois = []
for cnt in part_contours:
    x, y, w, h = cv2.boundingRect(cnt)
    roi = binary[y:y+h, x:x+w]
    part_rois.append((roi, x, y, w, h))

步骤3:判别缺口朝向

针对每个零件ROI,分析缺口的相对位置:

  1. 筛选出ROI内的小轮廓(对应零件上的缺口)
  2. 计算缺口的重心位置,对比重心在零件区域内的垂直分布判断朝向
for idx, (roi, x, y, w, h) in enumerate(part_rois):
    # 寻找ROI内的小轮廓(缺口)
    gap_contours, _ = cv2.findContours(roi, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    gap_contours = [cnt for cnt in gap_contours if cv2.contourArea(cnt) < 500]  # 过滤噪声
    
    if gap_contours:
        # 取面积最大的缺口轮廓
        gap_cnt = max(gap_contours, key=cv2.contourArea)
        # 计算缺口重心
        M = cv2.moments(gap_cnt)
        cx = int(M['m10']/M['m00'])
        cy = int(M['m01']/M['m00'])
        
        # 缺口重心在上半区则为TOP,下半区为BOTTOM
        if cy < h/2:
            print(f"零件{idx+1}: TOP 位置")
            cv2.putText(img, 'TOP', (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0,255,0), 2)
        else:
            print(f"零件{idx+1}: BOTTOM 位置")
            cv2.putText(img, 'BOTTOM', (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0,0,255), 2)

# 显示结果
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

优化建议

  • 若轮廓提取受干扰,可改用双模板匹配:制作缺口朝上和朝下的两个模板,对每个零件ROI分别匹配,取得分更高的结果作为朝向判断依据。
  • 光照变化大时,替换二值化步骤为cv2.adaptiveThreshold,提升鲁棒性。

内容的提问来源于stack exchange,提问作者Moritz Pfennig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:13:31