python-3.x - 转换图像时 OpenCV 错误

标签 python-3.x opencv

我正在尝试使用 matplotlib 导入大小为 (540,960) 的图片。 这一步执行成功。结果存储在“图像”对象(类型 ndarray)中。

# Do relevant imports
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import cv2

# Read in and grayscale the image
image = mpimg.imread(r'C:\Temp\pic24_bw.jpg')
gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)

但是当我尝试使用 cv2.cvtColor() 将图像转换为另一个颜色空间(灰色)时。我遇到一个错误:

error: C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:11111:        error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

请帮忙。奇怪的是这段代码在另一个 citrix 环境中成功运行。

最佳答案

此代码对我有用,通过 cv2 本身加载/读取您的图像,请重新检查您的图像路径,因为这是最常见的错误,我们确实如此。

import numpy as np               
import matplotlib.pyplot as plt
import cv2
%matplotlib inline    
#reading the image 
image = cv2.imread('cat.jpg')
image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#plotting the image
plt.imshow(image)

希望这对你有帮助。

关于python-3.x - 转换图像时 OpenCV 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48355655/

相关文章:

c++ - cv::remap(在 opencv 中)和 interp2(matlab)

python - 如何在 Python 上使用 Windows Auth 登录 MSSQL?

python - 获得 'large' 错误,这些错误似乎太大而不能单独来自舍入

python - 如何使用csv和pandas制作产品代码列表?

python - FFmpeg 将视频从帧 OpenCV python 流式传输到 rtmp

matlab - 如何像matlab一样在opencv中检测角点?

python - 将多个日期时间数据帧行分组为单个行

mysql - python.3类型错误: embedded NUL character

opencv - 在 opencv 中使用 cv::rect 提取 Roi

c++ - FreeImage+OpenCV - 16 位图像失真