opencv学习笔记-imread()

import cv2
import numpy as np
lena=cv2.imread("img_00.jpg")
print(lena)
print(type(lena))
Y=lena.shape[1]
X=lena.shape[0]
z=3
data_dim=Y*X*3
print("Y是563行",lena.shape[0])
print("X是750列",lena.shape[1])
print("通道数是3",lena.shape[2])
lena=np.squeeze(lena)
print("更新后的lena")
print(lena)
print("reshape处理")
lena=lena.reshape(data_dim,1)
print(lena)

print(type(lena))
print(lena.shape[0])
print(lena.shape[1])

#lena=np.squeeze(lena)
#print("squeeze后的lena:")
#print(lena)
print(type(lena))
print(lena.shape[0])
print("转置后的lena")
lena1=lena.T
print(lena1)
print(type(lena1))
#zz=np.dot(lena,lena)
#print("点成后的结果",zz)

opencv学习笔记-imread()_第1张图片
opencv学习笔记-imread()_第2张图片
总结:
首先通过cv2.imread()方法读取一张图片,返回值给lena
分析lena的各个属性,打印出来可以看出来他是一个numpy.ndarray类型,他的内容是一个矩阵,三维矩阵563行,750列,深度方向是3层。这张图片是Y方向是563像素,X方向是750像素,rgb三个通道。
其次:opencv把jpg格式的图片通过imread方法转换成了一个数字矩阵,每个数值在0-255之间,变成了numpy包里面的数组对象,这样就可以通过numpy的数学方法处理图片。(化具体的图片为抽象的数学数字)

你可能感兴趣的:(opencv,python,opencv,numpy,深度学习)