实现基于opencv python实现检测覆盖蓝膜的PCB板上针点位置是否在有效区域内的程序代码编写
时间: 2024-03-20 11:45:00 浏览: 60
好的,以下是基于 OpenCV Python 实现检测覆盖蓝膜的 PCB 板上针点位置是否在有效区域内的程序代码编写。
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread("pcb.jpg")
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# Hough 圆检测
circles = cv2.HoughCircles(thresh, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
# 提取圆心坐标
if circles is not None:
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
# 判断圆心坐标是否在有效区域内
if i[0] > 100 and i[0] < 500 and i[1] > 100 and i[1] < 500:
# 在圆心处绘制圆形
cv2.circle(img, (i[0],i[1]),i[2],(0,255,0),2)
cv2.circle(img,(i[0],i[1]),2,(0,0,255),3)
cv2.imshow("result", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
本程序首先读取输入图像,然后将其转换为灰度图像,并进行二值化处理,以方便后续处理。接着,程序使用 Hough 圆检测算法提取出 PCB 板上的所有圆形区域,并通过判断圆心坐标是否在有效区域内,得出针点位置是否在有效区域内的结果。最后,程序在针点位置处绘制圆形,并显示处理结果。
阅读全文