Opencv學習筆記 numpy的基本陣列操作

2021-09-25 17:44:42 字數 948 閱讀 7568

為什麼使用numpy作影象處理的計算操作?

numpy是使用python進行科學計算的基礎包,相對於不使用numpy的迴圈遍歷畫素操作,numpy的運算效率和速度非常快,所以numpy的基本陣列操作需要會,之前學的不夠明白,最近看opencv看到後面覺得有必要重新看一下再做個總結。

shape操作

shape操作在對影象進行分割和縮小擴大有一定的用處,它可以讀取影象的行row、列column、通道數channel。

def img_pixel(image = img):

print(image.shape)

row = img.shape[0]

column = img.shape[1]

channel = img.shape[2]# 彩色影象一般都是3通道

建立畫布

def create_image():

canvas = np.ones([400, 400, 3], np.uint8)# 建立400*400的畫布

canvas[:, :, 1] = np.ones([400, 400]) * 255# 400*400的長和寬

cv2.imshow('canvas', canvas)

canvas列表第乙個元素是行,第二個是列,第三個為通道。這裡是rgb色彩空間,所以通道二為綠色。

矩陣變換

3*3矩陣變換為1維矩陣,類似於三通道轉為單通道。

def create_matrix():

matrix = np.ones([3, 3, 1], np.uint8)

matrix.fill(100)

print(matrix)# 3*3矩陣

matrix = matrix.reshape([1, 9])

print(matrix)# 1*9矩陣

OPENCV學習筆記二 numpy用法

numpy numerical python 是 python 語言的乙個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。而本質上是乙個個畫素點疊加,一整張就像乙個陣列一樣,所以numpy的使用對於opencv的學習來說必不可少 本文資料主要來自於菜鳥教程 這張...

Numpy學習筆記

測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...

numpy學習筆記

1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...