OpenCV-python基础操作之图像数据读取与保存
上代码:
# 代码描述: 读取图片,并获取图片的类型、像素数据以及保存等
#
# 创建时间: 2020-8-30
# 创建人: Wupke
# 修改时间:
import cv2 as cv
import numpy as np
def get_image_info(image): # 定义一个读取图片的函数
print(type(image)) # 显示照片的类别
print(image.shape) # 照片长、宽、通道数目
print(image.size) # 照片整体像素大小
print(image.dtype) # 照片字节位数是多少
pixel_date = np.array(image) # 获取图片的所有像素数据
print(pixel_date)
src = cv.imread("../OpenCV_Files/pictures_for_OpenCV/9.png") # 读取一张本地图片
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) # 创建一个窗口
cv.imshow("input image", src) # 显示图片
get_image_info(src)
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) # 获取一张灰度图
cv.imwrite("D:/Software/Pycharm/OpenCV_Files/result_images/gray01.png", gray) # 保存读入的灰度图片(指定文件夹和命名以及格式)
cv.imshow("gray01.png", gray) # 显示灰度图片
cv.waitKey(0) # 等待用户操作,用于定格输出画面
cv.destroyWindow() # 清除内存
运行效果:
小提示:
在读取或者保存时,添加路径分割要用 / ,直接复制来的地址是 \ ;路径表示有绝对路径和相对路径,绝对路径就是显示完整的路径地址,如:"D:/Software/Pycharm/OpenCV_Files/result_images/gray01.png"
相对路径是相对于某个基准目录的路径,不像绝对路径表示的那么完整,如:"…/OpenCV_Files/pictures_for_OpenCV/9.png"
补充
/ 一个斜杠代表的是根目录的意思 ;
./ 代表的是当前目录 ;
…/ 代表的意思是返回到上一级目录 ;
…/…/ 表示的是返回到上上一级目录 ;
…/…/…/ 比上面的又多了一级,表示向上返回三级目录 ;