OpenCV是一个开源的计算机视觉库,您可以使用它来分割圆形区域。您需要先通过图像处理方法检测出图像中的圆形并将它们的位置标记出来。接下来,您可以使用numpy数组对图像进行裁剪,并仅保留感兴趣的圆形区域。
以下是一个示例代码:
import cv2 import numpy as np
img = cv2.imread("image.jpg")
output = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) circles = cv2.HoughCircles(output, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
如果检测到圆形,则进行分割
if circles is not None: circles = np.round(circles[0, :]).astype("int") for (x, y, r) in circles: # 获取圆形的区域 roi = img[y - r:y + r, x - r:x + r] # 保存分割后的圆形 cv2.imwrite("circle_{}.jpg".format(r), roi)