gpt4 book ai didi

Python/OpenCV 将 cv 转换为 cv2

转载 作者:行者123 更新时间:2023-12-02 16:40:54 34 4
gpt4 key购买 nike

我有一个使用 OpenCV 编写的 python 脚本,并且正在将所有内容更新为 OpenCV2 (cv2)。问题是当我使用 PIL 将图像转换为 CVarray 时。

pil_im = pil_im.convert('L')
cv_im = cv.CreateImageHeader(pil_im.size, cv.IPL_DEPTH_8U, 1)
cv.SetData(cv_im, pil_im.tostring(), pil_im.size[0])
pil_im稍后在我的代码中找到,
# Crop images
for img in imgList:
pil_im = Image.open(img)
cv_im = pil2cvGrey(pil_im)
faces = DetectFace(cv_im, faceCascade)
if faces:
n = 1
for face in faces:
croppedImage = imgCrop(pil_im, face[0], padding)
(fname, ext) = os.path.splitext(img)
fname = os.path.basename(fname)
croppedImage.save(outputimg + '\\' + fname + ' -c' + ext)
n += 1

我知道我的代码可以正常工作,我只是试图通过仅包含 CV2(目前包括 CV 和 CV2)来使 pyinstaller exe 更小。

最佳答案

据我所知 cv2 不再使用 CVarray 类型。这些是 c 数据类型的包装器,而 cv2 现在 native 使用 numpy 数据结构。要将 PIL 图像转换为 cv2 数组,请执行

from PIL import Image
import numpy

img = Image.open('lena.png')
array = numpy.array( img )

关于Python/OpenCV 将 cv 转换为 cv2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446257/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com