как разделить две части изображения в формате RGBA - PullRequest
0 голосов
/ 10 мая 2019

Я обработал (поверните, обрежьте и измените цвета) изображение фрагмента головоломки, чтобы получить следующее изображение.

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)

enter image description here

как я хочу отделить большую или основную часть изображения от другой.или, другими словами, чтобы разделить эти две части на и выбрать ту, которая имеет большие размеры

img = Image.fromarray(np.uint8(t))
imageBox = img.getbbox()
cropped = img.crop(imageBox)

, этот код можно использовать для обрезания пустого фона с использованием альфа-канала.но он не может обрезать изображения отдельно.Пожалуйста, помогите с этим, если есть способ сделать это, используя альфа-канал.спасибо тебе ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...