【问题标题】:Python Open CV error : Name error: name images is not definedPython Open CV 错误:名称错误:未定义名称图像
【发布时间】:2019-11-13 17:22:44
【问题描述】:

我正在尝试使用 openCV、Python 将图像的颜色从 RGB 更改为灰度

我的python代码如下:

import cv2 ;
import numpy ;
img = cv2.imread(images/aiims.png) ;
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ;
cv2.imshow('Original Image', img) ;
cv2.imshow('Gray Image', gray) ;

我得到的错误是:

文件“test.py”,第 11 行,在 img = cv2.imread(images/aiims.png) ; NameError: 名称“图像”未定义

我已经安装了opencvnumpy

我在同一目录下的image文件夹中有图片, 请告诉我我的代码是否有任何缺陷,因为我是 Python 新手。

提前致谢

【问题讨论】:

    标签: python opencv image-processing


    【解决方案1】:

    有几个问题。要读取图像,您必须将路径放在引号中。另一个问题是您的程序在显示图像后立即关闭。这就是图像不显示的原因。您需要添加cv2.waitKey()。来自文档

    它的参数是以毫秒为单位的时间。该函数等待任何键盘事件的指定毫秒。如果您在那段时间内按任意键,程序将继续。如果传递 0,它会无限期地等待击键。

    所以在你的情况下无限期显示图像,只需传入0

    import cv2
    
    img = cv2.imread("images/aiims.png")
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.imshow('Original Image', img)
    cv2.imshow('Gray Image', gray)
    cv2.waitKey(0)
    

    也可以这样直接灰度读取

    import cv2
    
    gray = cv2.imread("images/aiims.png", 0)
    cv2.imshow('Gray Image', gray)
    cv2.waitKey(0)
    

    【讨论】:

      【解决方案2】:

      在“”引号中使用和提及路径

      from PIL import Image
      

      【讨论】:

      • 能否详细说明您提到的上述代码行
      • aur 使用导入图片
      • 我在引号中添加了路径,现在我的程序运行但在运行时我看不到任何图像。两个窗口打开,但它们没有响应。并且无法在两个窗口中看到任何图像
      • 如果可以的话。请在您的系统中运行上面的代码,并请告诉我如果和什么问题是我的代码。 .提前致谢
      • 2 个窗口,因为您提到了 2 个时间显示。它的工作。但是在放映时你没有正确显示图像.. -> 试试这个 cv2.imshow('image',img)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多