import cv2
import numpy as np
# 创建数组 np.array()
np.array([1, 2, 3]) # 一维数据
np.array([[1, 2, 3], [2, 3, 4]]) # 二维数据
np.array([[[1, 2, 3], [2, 3, 4], [3, 4, 5]]]) # 三维数据
# 创建全0数组 np.zeros((高,宽),np.uint8)
a = np.zeros((4, 6), np.uint8) # 定义4行,6列,只有1个通道(二维)的全0矩阵
b = np.zeros((4, 6, 3), np.uint8) # 定义4行,6列,有3个通道(三维)的全0矩阵
# 创建全1数组 np.ones()
c = np.ones((4, 5, 3), np.uint8)
# 创建全值数组 np.full()
d = np.full((8, 8), 255, np.uint8) # 定义一个值是255的二维矩阵
e = np.full((8, 8, 3), 255, np.uint8) # 定义一个值是255的三维矩阵
# 创建单位(正方形,对角线为1)矩阵 np.identity()
f = np.identity(4)
# 创建非正方形矩阵且对角线相等 np.eye()
g = np.eye(5) # 效果等同于单位矩阵
h = np.eye(5, 8) # 长方形矩阵
i = np.eye(5, 8, k=3) # 长方形矩阵,k表示对角线从第一行索引的第几位开始
# 检索:[y,x] 索引值从0开始
# 检索:[y,x,channel] channel 通道数
'''
在一个黑色的图上画一条白线:
1、创建一个全0的二维数组
2、将y的值改成255
'''
img = np.zeros((400, 200), np.uint8)
print(img[100, 100])
count = 0
while count < 101:
img[count, 100] = 255
count += 1
cv2.imshow('img', img)
key = cv2.waitKey(0)
if key & 0xFF == ord('q'):
cv2.destroyAllWindows()
OpenCV轻松入门(三)——Numpy基本操作
最新推荐文章于 2024-05-12 20:27:29 发布