我有一个IC芯片的图像,我想在中心切出标记。标记始终位于左下角圆圈上方的此特定位置。这个想法是首先找到我已经通过霍夫圆变换完成的圆的位置。现在,我想剪掉标记所在的部分。理想情况下,它应该不是正方形或矩形,而应类似于图片中的内容:
这是我的代码的一部分:
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()"""
所以我的cicle center
位于我的圆的中心位置(例如(124, 370)
)。如何自动裁剪图像的这一部分?我能以某种方式播种吗?理想情况下,我想将标记裁剪为另一张图像以单独检查它,但是我猜用marking_img = img[y:y+h, x:x+w]
的常规裁剪方法不起作用。
编辑:这是原始图片:
输出应该像第一个图像,如果可能的话,像这样:
因此,最后,我希望有两张图像:一幅仅带有裸片的图像而没有标记,另一幅仅带有标记的图像>
我有一个IC芯片的图像,我想在中心切出标记。标记始终位于左下角圆圈上方的此特定位置。这个想法是首先找到圆...
这是Python / OpenCV中的一种方法。