在我的工作中,我使用 TLC,它能给我提供像这张图片上的物体。这是一张纸,上面有一个精确高度的点。我需要检测板本身并进行测量。然后我需要...
在我的工作中,我使用 TLC,它能给我像这张图片上的物体。它是一张纸,上面有精确高度的点。
我需要检测盘子本身及其尺寸。然后我需要将它转换成这张图片:
我认为我可以生成第二张图片,但我在斑点检测方面遇到了麻烦。我使用下面的代码和许多不同的参数,但我无法检测到它们。你有什么想法吗?
import numpy
import cv2
image_path="C:/Users/jules/Downloads/Start.jpg"
image = cv2.imread(image_path)
img = cv2.resize(img, (950, 1480))
output = image.copy()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
hist = cv2.equalizeHist(gray)
blur = cv2.GaussianBlur(hist, (31,31), cv2.BORDER_DEFAULT)
_, thresh_image = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY)
height, width = thresh_image.shape[:2]
minR = round(width/65)
maxR = round(width/11)
minDis = round(width/7)
circles = cv2.HoughCircles(thresh_image, cv2.HOUGH_GRADIENT, 1, minDis, param1=14, param2=25, minRadius=minR, maxRadius=maxR)
if circles is not None:
circles = numpy.round(circles[0, :]).astype("int")
for (x, y, r) in circles:
cv2.circle(output, (x, y), r, (0, 255, 0), 2)
cv2.rectangle(output, (x - 5, y - 5), (x + 5, y + 5), (0, 128, 255), -1)
cv2.imshow("result", numpy.hstack([image, output]))
在此先感谢您的帮助 !