代码:
# -*- coding=GBK -*-
import cv2 as cv
import numpy as np
# 输出图片属性
def get_image_info(image): # 定义一个函数来输出图片的一些属性
print(type(image)) # type()函数:获取对象数据类型---numpy类型的数组
print(image.shape)
# 图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
print(image.size) # 图像大小
print(image.dtype) # 图像类型
pixel_data = np.array(image) # 将图片转换成矩阵文件
print(pixel_data) # 图片矩阵
src = cv.imread("fengling.jpg")
#cv.namedWindow("tupian", cv.WINDOW_NORMAL)
#cv.imshow("tupian", src)
get_image_info(src)
#cv.imwrite("E:\Python\project_1\****.bmp", src) # 图片另存为,不要存到c盘,要权限的
cv.waitKey(0)
cv.destroyAllWindows()
结果:
E:\Python\python.exe E:/Python/project_1/main.py
<class 'numpy.ndarray'>
(300, 545, 3)
490500
uint8
[[[139 130 126]
[142 133 129]
[147 136 132]
...
[137 125 121]
[136 124 120]
[136 124 120]]
...
...
[[126 107 99]
[128 109 101]
[130 111 103]
...
[162 145 136]
[162 145 136]
[166 154 152]]]
Process finished with exit code 0
备注:
<class 'numpy.ndarray'>中ndarray表示的是多维数组类型
type(image)和image.dtype的区别在于type()是一个函数/类,返回的是数据的结构类型;而dtype(d是data的缩写)是一个属性,返回的是数据中元素的类型,同理size
np.array()是调用np库中array()函数的意思,后面就不再赘述
结果中图像矩阵的直观解释:https://blog.csdn.net/weixin_42545675/article/details/108819056