Numpy陣列操作OpencvMat

2021-08-16 08:58:03 字數 2399 閱讀 7604

[**:

二、什麼是numpy

乙個用python實現的科學計算包。包括:1、乙個強大的n維陣列物件array;2、比較成熟的(廣播)函式庫;3、用於整合c/c++和fortran**的工具包;4、實用的線性代數、傅利葉變換和隨機數生成函式。numpy和稀疏矩陣運算包scipy配合使用更加方便。

numpy(numeric python)提供了許多高階的數值程式設計工具,如:矩陣資料型別、向量處理,以及精密的運算庫。專為進行嚴格的數字處理而產生。多為很多大型金融公司使用,以及核心的科學計算組織如:lawrence livermore,nasa用其處理一些本來使用c++,fortran等所做的任務。

三、示例**

[python]view plain

copy

"font-size:14px;"

>

import

cv2 as cv  

import

numpy as np  

defaccess_pixel(image):  

"""訪問影象所有的畫素"""

print

(image.shape)  

#獲取影象的高度,影象的高度為shape的第乙個值(維度)

height=image.shape[0

]  #獲取影象的寬讀,影象的寬度為shape的第二個值(維度)

width=image.shape[1

]  #獲取影象通道數目,影象的通道數目為shape的第三個值(維度)

#載入進來的影象都有三個通道,三個通道是影象的rgb

channels=image.shape[2

]  print

("width: %s,height: %s channels: %s"

%(width,height,channels))  

#迴圈獲取每個畫素點,並且修改,然後儲存修改後的畫素點

forrow 

inrange(height):  

forcol 

inrange(width):  

forc 

inrange(channels):  

pv=image[row,col,c]  

image[row,col,c]=255

-pv  

#輸出的是乙個呈現負片效果的

cv.imshow("pixels_demo"

,image)  

defcreate_image():  

"""建立新圖象"""

#建立一張寬高都是400畫素的3通道 8位

img=np.zeros([400

,400,3

],np.uint8)  

#修改通道值

img[:,:,0

]=np.ones([

400,

400])*

255img[:, :, 2

] = np.ones([

400, 

400]) * 

255cv.imshow("new image"

,img)  

#建立乙個單通道的8位

img=np.zeros([400

,400,1

],np.uint8)  

img=img*127

cv.imshow("new image"

, img)  

cv.imwrite("127img.png"

,img)  

#numpy 陣列維度的變換

#定義乙個二維陣列

img=np.ones([3,3

],np.uint8)  

#填充每個元素

img.fill(1000.22

)  print

(img)  

#變換為一維陣列

img=img.reshape([1,9

])  

print

(img)  

#讀入檔案

)  #獲取cpu當前時鐘總數

t1=cv.gettickcount()  

access_pixel(src)  

t2=cv.gettickcount()  

#計算處理畫素花費的時間

#cv.gettickfrequency() 每秒的時鐘總數

time=((t2-t1)/cv.gettickfrequency())  

print

("time: %s s"

%time)  

create_image()  

#等待使用者操作

cv.waitkey(0

)  #釋放所有視窗

cv.destroyallwindows()

opencv與numpy陣列操作

在開始之前我們先來說一下彩色影象的組成 我們現在看到的所有彩色影象都是可以由三原色按照一定的比例混合得來的,也就是說只要我們知道了三原色的比例,就可以調製出某種顏色。我們用小方塊組合在一起,許許多多的小方塊就可以拼湊出乙個影象來,所以我們就有了用陣列來表示影象的乙個方法。所以我們在下面的對於彩色影象...

numpy 陣列操作

在給定的區間 start,stop 內返回均勻間隔的值 語法 numpy.arange start,stop,step,dtype none 引數 返回 示例 np.arange 5 array 0,1,2,3,4 np.arange 1,5 array 1,2,3,4 np.arange 1,5,...

numpy入門 陣列操作

import numpy as np import pandas as pd 建立乙個多維陣列 np1 np.random.randint low 4,high 90,size 4,5,6 np2 np.random.randint low 4,high 77,size 4,5,6 根據條件篩選陣列...