主要用代碼註釋來初步學習OpenCV-Python 1. 圖片初使用(結合matplotlib) 2. 視頻初使用 ...
主要用代碼註釋來初步學習OpenCV-Python
1. 圖片初使用(結合matplotlib)
import cv2
from matplotlib import pyplot as plt
#Load an color image in grayscale
img = cv2.imread(r'woman.jpg',0) #0表示cv2.IMREAD_GRAYSCALE.另1表示cv2.IMREAD_COLOR, -1表示cv2.IMREAD_UNCHANGED
plt.imshow(img,cmap='gray',interpolation='bicubic')
plt.xticks([]),plt.yticks([]) #去掉坐標軸
plt.show()
(左為原圖,右為上述代碼運行之後顯示的圖片)
2. 視頻初使用
import cv2
cap = cv2.VideoCapture(0) #可使用數字開啟第幾個相機
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))#VideoWriter (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
while (cap.isOpened()):
ret, frame = cap.read()
if ret == True:
frame = cv2.flip(frame, 0) #將frame進行翻轉
out.write(frame) #將每幀畫面都寫入out中
cv2.imshow('frame', frame) #顯示每幀
#ord() 函數是 chr() 函數(對於8位的ASCII字元串)或 unichr() 函數(對於Unicode對象)的配對函數,它以一個字元(長度為1的字元串)作為參數,返回對應的 ASCII 數值,或者 Unicode 數值
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
#用完之後要記得release掉
cap.release()
out.release()
cv2.destroyAllWindows()