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(
)
cv2.cvtcolor(p1,p2) 是顏色空間轉換函式,p1是需要轉換的,p2是轉換成何種格式。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.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的最大數 ...