写这篇文章的主要目的还是记录自己的学习,以后忘记的时候还可以复习一遍。感兴趣的朋友也可以看看。
在接下来的学习中,我会附上详细注释的代码和材料,以及原理部分。希望我写的东西,能够对大家有所帮助。
在学习之前,我们需要了解一点,机器人看到的不是图像,而是数组。
下面展示 代码
。
import cv2 as cv
import numpy as np
# 输出图片属性
def get_image_info(image): # 定义一个函数来输出图片的一些属性
print(type(image)) # 显示图片类型 numpy类型的数组
# 图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
print(image.shape)
print(image.size) # 图像大小
print(image.dtype) # 图像类型
pixel_data = np.array(image) # 将图片转换为矩阵
print(pixel_data) # 图片矩阵
# 主函数
if __name__ == '__main__':
# 读取图片
src = cv.imread("pic/cat.jpg")
# 创建窗口,用来显示图片
cv.namedWindow("input_image", cv.WINDOW_NORMAL)
# 在指定窗口展示图片
cv.imshow("input_image", src)
# 调用函数,输出图片属性
get_image_info(src)
# cv.imwrite("D://2.png", src) # 图片另存为,不要存到c盘,要权限的
cv.waitKey(0) # 窗口显示时间,单位:毫秒 k=0: (也可以是小于0的数值)一直显示,键盘上按下一个数字键即会消 k>0:显示多少毫秒
cv.destroyAllWindows() # 删除建立的全部窗口,释放资源
图片:
运行结果: