gpt4 book ai didi

python - OpenCV 错误 : Assertion failed when using COLOR_BGR2GRAY function

转载 作者:太空狗 更新时间:2023-10-30 00:24:53 26 4
gpt4 key购买 nike

我在使用 opencv 时遇到了一个奇怪的问题。我在 jupyter notebook 上工作时没有问题,但在尝试运行此 Sublime 时却遇到了问题。

错误是:OpenCV Error: Assertion failed (depth == CV_8U || depth == CV_16U || depth == CV_32F) in cvtColor, file/Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/imgproc/src/color.cpp,第 7935 行

import numpy as np 
import cv2

img = [[[150,160,170], [150,32, 199], [145, 212, 234], [145, 212, 234]],
[[150,190,170], [150,32, 199], [145, 212, 234], [145, 212, 234]],
[[150,160,170], [150,32, 199], [145, 212, 234], [145, 212, 234]],
[[150,160,170], [150,32, 199], [145, 212, 234], [145, 212, 234]]]

img = np.array(img)

def grayscale(x):
# plt.imshow(gray, cmap='gray')to show on screen
# turns dim from (32,32,3) to (32,32)
return cv2.cvtColor(x, cv2.COLOR_BGR2GRAY)

img2 = grayscale(img)

最佳答案

创建数组时需要指定数据类型。

当我在此处尝试此代码并检查 imgdtype 时,我看到以下内容:

>>> img.dtype
dtype('int32')

这不符合 cv2.cvtColor 的要求.

您初始化图像的值范围似乎落在 0-255 之间,这对应于数据类型 uint8

所以,就这样吧

img = np.array(img, dtype=np.uint8)

关于python - OpenCV 错误 : Assertion failed when using COLOR_BGR2GRAY function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41052042/

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