Я обработал (поверните, обрежьте и измените цвета) изображение фрагмента головоломки, чтобы получить следующее изображение.
for i in range(4):
if edges[i]==9:
p = piece.clone_piece()
p.rotateNresize(angle=(90 * i))
img = cv2.cvtColor(np.asarray(p.img), cv2.COLOR_RGB2RGBA)
t = img[p.corners[0][1]+5:p.corners[3][1]-5]
t = t[:,0:125]
t[np.all(t == [0, 0, 0, 255], axis=2)] = [0, 0, 0, 0]
layer = t[:,:,3]
layer[layer == 255] = 1
layer[layer == 0] = 255
layer[layer == 1] = 0
t[:, :, 0] = layer
t[:, :, 1] = layer
t[:, :, 2] = layer
t[:, :, 3] = layer
cv2.imshow("sd",t)
cv2.imwrite("cutimg.png",t)
cv2.waitKey(0)
как я хочу отделить большую или основную часть изображения от другой.или, другими словами, чтобы разделить эти две части на и выбрать ту, которая имеет большие размеры
img = Image.fromarray(np.uint8(t))
imageBox = img.getbbox()
cropped = img.crop(imageBox)
, этот код можно использовать для обрезания пустого фона с использованием альфа-канала.но он не может обрезать изображения отдельно.Пожалуйста, помогите с этим, если есть способ сделать это, используя альфа-канал.спасибо тебе ..