linux下python调用opencv库imshow问题

想在linux下使用python语言调用opencv实现图像增强的目的

在使用过程中发现了一些问题

本来我是打算在我的图像目录里面写.py文件

~/Downloads$ python transform.py 

 但运行后出现如下错误

Traceback (most recent call last):
  File "transform.py", line 5, in 
    cv2.imshow("one",img)
cv2.error: OpenCV(3.4.4) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

我的文件代码如下

import cv2

img=cv2.imread("Downloads/whalepic/train/0000e88ab.jpg")
cv2.namedWindow('one',cv2.WINDOW_AUTOSIZE)
cv2.imshow("one",img)
cv2.waitKey(0)
cv2.destroyWindow("one")

一开始怀疑文件权限问题,加了sudo后,还是不行, 怀疑是读取路径有问题,导致没有正确读取,这个确实也会引起这个问题,所以图片路径一定要写对。

所以总结一下出现这个问题的原因

  • .py文件是否是在根目录下运行的,不是的话要改正,里面的机理现在还没搞清楚
  • 图片路径是否正确
  • 图片是否可读
  • cv2.waitKey(0)是必须要加的,注意K是大写,这个可能会漏掉

如果以上四个都没有问题,那么图片基本就能读出来了

 

 

 

你可能感兴趣的:(opencv,Linux,python,opencv,linux,python)