我想计算图像的非零像素而不将图像转换为Numpy数组。这是我的代码
from PIL import Image, ImageDraw
import cv
image = Image.new('1', (100, 100))
draw = ImageDraw.Draw(image)
draw.ellipse((20, 20, 80, 80), fill ='white')
non_zeros = cv.CountNonZero(image)
然而,当我运行此操作时,我收到以下错误:
TypeError: CvArr argument 'arr' must be IplImage, CvMat or CvMatND. Use fromarray() to convert numpy arrays to CvMat or cvMatND
我该如何解决这个问题?通过继续cv.CountNonZero
或任何其他计算上廉价和有效的方式。