Opencv 一些函式筆記

2021-10-10 14:51:36 字數 1790 閱讀 8338

shape()

有一張寬度*高度是300 *100,用opencv的img.shape返回的是(100,300,3),shape返回的是影象的行數,列數,色彩通道數。

易錯的地方:

行數其實對應於座標軸上的y,即表示的是影象的高度

列數對應於座標軸上的x,即表示的是影象的寬度

也就是說shape返回的是(高度, 寬度) = (y , x)

而img[50,10]是否表示是(x,y)為(50,10)的那個畫素呢,其實不是。

與shape的原理相同,它表示的也是(y,x),即表示第50列第10行的那個元素。

resize()函式

一些詳解

2、ret,frame = vc.read()

3、cv2.waitkey(1),waitkey()方法本身表示等待鍵盤輸入,

引數過大如cv2.waitkey(1000),會因為延時過久而卡頓感覺到卡頓。

c得到的是鍵盤輸入的ascii碼,esc鍵對應的ascii碼是27,即當按esc鍵是if條件句成立

4、呼叫release()釋放攝像頭,呼叫destroyallwindows()關閉所有影象視窗

import numpy as np

import cv2 as cv

# 建立videocapture,傳入0即開啟系統預設攝像頭

vc = cv.videocapture(0)

while

(true):

# 讀取一幀,read()方法是其他兩個類方法的結合,具體文件

# ret為bool型別,指示是否成功讀取這一幀

ret, frame = vc.read(

)# 就是個處理一幀的例子,這裡轉為灰度圖

gray = cv.cvtcolor(frame, cv.color_bgr2gray)

# 這裡沒有提前建立視窗,所以預設建立的視窗不可調整大小

# 可提前使用cv.window_normal標籤建立個視窗

cv.imshow(

'frame'

,gray)

# 若沒有按下q鍵,則每1毫秒顯示一幀

if cv.waitkey(1)

&0xff

==ord

('q'):

break

# 所有操作結束後不要忘記釋放

vc.release(

)cv.destroyallwindows(

)

import numpy as np

import cv2 as cv

vc = cv.videocapture(

'test.mp4'

)while

(vc.isopened())

: ret, frame = cap.read(

) gray = cv.cvtcolor(frame, cv.color_bgr2gray)

cv.imshow(

'frame'

,gray)

if cv.waitkey(1)

&0xff

==ord

('q'):

break

vc.release(

)cv.destroyallwindows(

)

cv2.cvtcolor(p1,p2) 是顏色空間轉換函式,p1是需要轉換的,p2是轉換成何種格式。

cv2.color_bgr2rgb 將bgr格式轉換成rgb格式

cv2.color_bgr2gray 將bgr格式轉換成灰度

OpenCV函式筆記

rect和range劃分範圍 rect的引數為起始座標,長度 rect rect 0,0,image1.cols,image1.rows range的引數為起始座標,終止座標 range range 0,100 copyto函式 image1.copyto image2 當image1和image2...

python學習中一些函式筆記

round a,d 對a四捨五入,d是小數擷取位數。函式在浮點數運算 比較時用到 a set pypy123 將其它型別變數轉變為集合,建立集合 a 集合間元素沒有順序 a b 集合a,b的並運算 a b 返回包含在a但不在b中的集合 a b 集合a,b的交運算 a b 返回集合a,b的非相同元素 ...

oracle中的一些函式筆記

replace函式 replace 最長的字串,被替換的字串,替換字串 數學函式 round n,m 保留m位總共n位長度的數,採用四捨五入的方式。trunc n,m 擷取數字,不寫是直接擷取到整數字。mod m,n 取模函式 floor n 小於等於n的最大函式 ceil n 大於等於n的最大數 ...