如何在RGBA格式中分离图像的两个部分

时间:2019-05-10 01:57:31

标签: python image numpy opencv matplotlib

我已经处理(旋转,裁切和更改颜色)拼图的图像以获得以下图像。

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)

这些代码可用于使用alpha通道裁剪出空白的背景。但无法单独裁剪图像。如果可以使用alpha通道进行此操作,请对此提供帮助。 谢谢你。

0 个答案:

没有答案