Python + OpenCV 学习笔记(一)>>> 图像的加载与保存

版权声明:如需转载请标注 https://blog.csdn.net/weixin_40973138/article/details/84403448

图像属性

  • 通道数目
  • 高与宽
  • 像素数据
  • 图像类型

显示一张图片:

import cv2 as cv 

src = cv.imread("/home/pi/Desktop/apple.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
cv.waitKey(0)

cv.destroyAllWindows()

函数说明:

函数 说明
cv.imread(const String& filename,int flags) 读取图片参数1:图片地址;参数2(默认正常读取):0 或2 为灰度图,1 为原图
cv.namedWindow( const char* name, int flags ) 创建窗口,但不写也能show参数1:窗口名字;参数2:窗口显示方式(为0 或cv.WINDOW_NORMAL,可以改变窗口大小;不写或cv.WINDOW_AUTOSIZE则不可改变大小)
cv.imshow(const string& winname, InputArray mat) 显示图片窗口参数1:窗口名称(若上文有NamedWindow() 函数,这个名称要与它一样);参数2:要显示的图片(如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口)
waitKey(K) 窗口显示时间,单位:毫秒。K=0,一直显示,直到按下数字键
destroyAllWindows() 删除建立的全部窗口,释放资源
import cv2 as cv 


def get_image_info(image):
        print(type(image))   #打印图像类型
        print(image.shape)   #打印图像长宽和通道
        print(image.size)    #打印图像总像素大小,其值等于图像 长×宽×通道数
        print(image.dtype)   #每个像素点所拥有通道所占的位数


src = cv.imread("/home/pi/Desktop/apple.jpg")      #src 变为一个numpy 类型数组
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
get_image_info(src)
cv.imwrite("/home/pi/Desktop/apple_2.jpg", src)    #图片另存为
cv.waitKey(0)
cv.destroyAllWindows()

除了输出图片外,还输出了如下信息:
在这里插入图片描述

输出图像矩阵图

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_data = np.array(image)    #通过np 获取图像像素矩阵
        print(pixel_data)

src = cv.imread("/home/pi/Desktop/apple.jpg", 1)
cv.namedWindow("input image", 0)
cv.imshow("input image", src)
get_image_info(src)
cv.waitKey(0)

cv.destroyAllWindows()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40973138/article/details/84403448
今日推荐