600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > OpenCV图像无法读取 显示过大 显示不全(Python)

OpenCV图像无法读取 显示过大 显示不全(Python)

时间:2022-03-02 23:08:52

相关推荐

OpenCV图像无法读取 显示过大 显示不全(Python)

图像无法显示首先考虑图像读取路径问题。

读取原图:

一、图像无法显示

1、读取图像代码如下:

src = cv2.imread("C:\Users\jiang\Desktop\-12-26\DSC00359(1).JPG", 0)

输出如下错误提示:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

2、解决(一)

将图像路径中的“\”替换成“/”或"//"。

如果替换后出现如下错误提示,则参考解决(二)

cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-ttbyx0jz\opencv\modules\highgui\src\window.cpp:404: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

解决(二)

图像路径中不能出现中文,包括符号。“C:\Users\jiang\Desktop\-12-26\DSC00359(1).JPG”中的“(1)”的括号为中文。

二、图像显示后闪退

添加显示窗口显示时间代码:

cv2.waitKey(int delay=0)

int delay设置为空或0时,图像显示无限延长,按任意键退出

int delay>0时,函数返回值为按下的键的ASCⅡ码值,超时则返回-1

三、显示过大,显示不全

将图像读取路径修改后图像显示过大

添加显示窗口尺寸代码:

cv2.namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE )

(1)const string& winname:给窗口命名

(2)int flags:窗口尺寸,默认参数为WINDOW_AUTOSIZE

1)WINDOW_AUTOSIZE:窗口以图像实际大小显示

2)WINDOW_NORMAL:窗口以合适大小显示,且可以调整大小

3)WINDOW_OPENGL:创建支持OpenGL,需要有OpenGL支持

最终显示如下:

完整代码如下:

import cv2src = cv2.imread("C://Users//jiang//Desktop//-12-26//DSC00359.JPG", 0)canny = cv2.Canny(src, 50, 150)cv2.namedWindow("src", cv2.WINDOW_NORMAL)cv2.namedWindow("Canny", cv2.WINDOW_NORMAL)cv2.imshow("src", src)cv2.imshow("Canny", canny)cv2.waitKey(0)cv2.destroyAllWindows()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。