Python 3.6 + opencv 3.4 中imshow 函数报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 3.6 + opencv 3.4 中imshow 函数报错相关的知识,希望对你有一定的参考价值。

在Windows 10环境下为python配置好opencv库后,运行测试代码:
import cv2
import numpy as np
img = cv2.imread("C:\\Users\\可会至道\\Desktop\\xin.jpg")
cv2.namedWindow("image")
cv2.imshow("image",img)
cv2.waitKey(0)

但是在imshow处报错,错误如下:
raceback (most recent call last):
File "F:\Python 3.6\test.py", line 5, in <module>
cv2.imshow("image",img)
cv2.error: OpenCV(3.4.1) D:\Build\OpenCV\opencv-3.4.1\modules\highgui\src\window.cpp:364: error: (-215) size.width>0 && size.height>0 in function cv::imshow

请问错误原因是什么,如何解决?

看报错信息,应该是你的img图像数据加载错误导致img数据的width和height等于0,导致窗口显示失败。在使用imread函数加载图像文件之后一定要通过img.empty()判断一下文件加载是否正确,否则后面所有基于img做的操作都会报错。 参考技术A 中文路径的问题,改成英文路径就行了 参考技术B 可能是打开图片失败,有那个图片么??

Python2 与Python3共存

一、 安装Python2

  1. 正常安装Python2后,python.exe 改名为python2.exe

    技术图片

  2. 添加Python2环境变量,C:Python27;C:Python27Scripts;

    技术图片

  3. cmd 修复pip2,python2 -m pip install --upgrade pip.

二、Python3 安装

1.方法一:和上面的一样,将以Python2和Python3进行区分两个不同的Python解析器,pip将以pip2和pip3进行区分。

2.方法二:在Python3安装时将路径添加到path的选项勾上,系统会自动将路径添加到path,Python2和Python3将以Python2和Python进行区分pip2和pip3将以pip2和pip3进行区分。

以上是关于Python 3.6 + opencv 3.4 中imshow 函数报错的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-Python实战(12)——一文详解AR增强现实

OpenCV图像处理应用(面向Python)之形态学操作

在 mac 上为 python 3.6 安装 opencv3

无法使用 opencv 3.1 和 python 3.6 打开视频

python 3.6关于Opencv的安装支持

OpenCV图像处理应用(面向Python)之形态学操作