我有一张芯片晶圆的图片,我想切掉中心的标记。该标记始终位于左下角圆形上方的特定位置。
首先要找到圆形的位置,我已经通过霍夫圆变换完成了。现在我想切掉标记所在的部分。最好不是正方形或矩形,而更像图片中的形状。
这是我的代码的一部分:
我的圆形中心位置是(例如
编辑: 以下是原始图像: 输出应该像第一张图片那样,如果可能的话,应该是这样的: 最终,我希望有两张图片:一张只有骰子而没有标记,另一张只有标记而没有骰子。
cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
circles = cv2.HoughCircles(morph_image, cv2.HOUGH_GRADIENT, 1.3, 20, param1=50, param2=25, minRadius=15,
maxRadius=19)
if circles is not None:
circles = np.uint16(np.around(circles))
for i in circles[0, :]:
# Zeichne äußeren Kreis
cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2)
# Zeichne Kreiszentrum
cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3)
# Tupel mit x- und y-Koordinaten des Kreiszentrums
circle_center = (i[0], i[1])
print('Die Koordinaten des Kreiszentrums lauten: ', circle_center)
"""cv2.imshow('Kreis', cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()"""
else:
circle_center = None
print('Kein Kreis gefunden')
"""cv2.imshow('Kein Kreis', cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()"""
我的圆形中心位置是(例如
(124, 370)
),那么如何自动剪切出图像的这一部分呢?我能否以某种方式将其裁剪出来?理想情况下,我希望将标记裁剪成另一个图像以单独检查,但正常的裁剪方法marking_img = img[y:y+h, x:x+w]
不起作用。编辑: 以下是原始图像: 输出应该像第一张图片那样,如果可能的话,应该是这样的: 最终,我希望有两张图片:一张只有骰子而没有标记,另一张只有标记而没有骰子。