Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 转换图像时出现OpenCV错误_Python 3.x_Opencv - Fatal编程技术网

Python 3.x 转换图像时出现OpenCV错误

Python 3.x 转换图像时出现OpenCV错误,python-3.x,opencv,Python 3.x,Opencv,我正在尝试使用matplotlib导入大小为(540960)的图片。 此步骤已成功执行。结果存储在“图像”对象(ndarray类型)中 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.C

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

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)
但是当我尝试使用cv2.cvtColor()将图像转换为另一个颜色空间(灰色)时。我面临一个错误:

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

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

我尝试了plt.imshow。图像已成功加载。它以RGB比例显示

image = mpimg.imread(r'C:\Temp\pic24_bw.jpg') 
plt.imshow(image,cmap='gray')
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)

这个代码对我有用,通过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)

希望这对您有所帮助。

当图像无法加载或通道数不正确(cv2.COLOR\u BGR2GRAY需要具有3或4个通道的图像)时,会显示此错误消息

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)
  • 您必须使用
    cv2.imread()
    而不是
    mpimg.imread()

  • 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)
    
  • 如果仍有错误,请尝试打印(image.shape)。最有可能的是,图像没有三个通道

  • 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)
    
    您还可以尝试使用以下工具查看图像:

    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)
    
    cv2.imshow("Test", image)
    cv2.waitKey()
    

    检查<代码>打印(类型(图像));打印(image.dtype,image.shape)plt可能使用opencv以外的另一个频道订购?您是否尝试了cv2.imread来加载图像?