-1
import cv2
import numpy as np
from PIL import Image

img = Image.open("test.jpg")

imgfilename = img.filename

imgb,imgg,imgr = cv2.split(img)
count = 0

当我尝试运行我的代码时,我遇到了以下错误 - 这是我遇到的错误:

 File "WB.py", line 9, in <module>
    imgb,imgg,imgr = cv2.split(img)
TypeError: m is not a numpy array, neither a scalar
4

2 回答 2

0

为此,您应该使用PIL中可用的拆分功能。

Image.split()

这是因为图像在 OpenCV 和 PIL 中的解释不同。因此,您不能互换这些包中可用的功能。

于 2017-09-05T17:13:33.863 回答
0

您通常不应该将 PIL 与 numpy 一起使用,这些库不会进行很多交互。

从 numpy(和 opencv)的角度来看,图像只是array任何给定类型的 2D 或 3D (灰度为 2D,彩色为 3D)。默认情况下也cv2使用 BGR...

cv2.imread(path, cv2.IMREAD_COLOR)从而不是开始Image.open(path)

于 2017-09-05T17:06:10.213 回答