#目的为记录在自己运行时存在的问题及解决方法,本文基于CSDN社区的Eastmount大佬的课程,通过学习,其中也增加了自己的考量和问题的解决。
- 首先了解什么是RGB图像,red\green\blue,三原色。
这是一个博主的简单介绍https://blog.csdn.net/daixiaobo1/article/details/89601613 - 通过pip install opencv-python代码安装好opencv和numpy两个库后,进行了读写图像的步骤。
- 读入图像
img = cv2.imread(文件名,[,参数])
参数(1) cv2.IMREAD_UNCHANGED (图像不可变)
参数(2) cv2.IMREAD_GRAYSCALE (灰度图像)
参数(3) cv2.IMREAD_COLOR (读入彩色图像)
参数(4) cv2.COLOR_BGR2RGB (图像通道BGR转成RGB) - 按照大佬的代码输入
# -*- coding:utf-8 -*-
import cv2
#读取图片
img = cv2.imread("test.jpg")
#显示图像
cv2.imshow("Demo", img)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
#写入图像
cv2.imwrite("testyxz.jpg", img)
- 发现存在Error:
cv2.error: OpenCV(4.3.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow’
反复修改不得其解,经过查阅发现可能是我没有导入图片路径。
下面为写入了我的图片路径,此时注意用“/”,不要用“\”,因为\和字母搭配有很多用处,如此会影响正常识别图片地址。
img = cv2.imread("C:/Users/CLH/Desktop/test.jpg")
- 该部分修改后就出图了,但是图片相当大,且窗口无法调节,可能是我的图片像素过高。通过查阅,在其中添加了以下语句,此时出图且图片大小可调。以下是添加的代码。
cv2.namedWindow("image",cv2.WINDOW_NORMAL)
- 最后贴上我运行后的此部分代码:
# -*- coding:utf-8 -*-
import cv2
#读取图片,其中C:/Users/CLH/Desktop为路径信息
img = cv2.imread("C:/Users/CLH/Desktop/test.jpg")
#采用可调窗口显示图像
cv2.namedWindow("image",cv2.WINDOW_NORMAL)
cv2.imshow("image", img)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
#将图像保存在test1中
cv2.imwrite("test1.jpg", img)
参考:
[Python图像处理] 一.图像处理基础知识及OpenCV入门函数_杨秀璋的专栏-CSDN博客 https://blog.csdn.net/Eastmount/article/details/81748802