OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,最近在研究這個方向,就準備搞一下它。
首先下載opencv庫,直接使用pip install opencv-python在命令提示符中,但是主要一定要提前下載numpy庫,安裝成功後即可使用。
現在來試一下,用的是pycharm:
一,圖像讀取顯示
import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread('D:/timg.jpg')
print(img)
#圖像的顯示,也可以創建多個窗口
cv2.imshow('image',img)
# 等待時間,毫秒級,0表示任意鍵終止
cv2.waitKey(0)
cv2.destroyAllWindows()
顯示
二,灰度處理
cv2.IMREAD_COLOR:彩色圖像
cv2.IMREAD_GRAYSCALE:灰度圖像
img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)
print(img)
#圖像的顯示,也可以創建多個窗口
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
此時顯示灰度圖
三,視頻顯示
視頻其實是由一幀一幀的圖像構成,其打開原理就是讀取每一幀的圖像
cv2.VideoCapture可以捕獲攝像頭,用數字來控制不同的設備,例如0,1。
vc = cv2.VideoCapture('test.mp4')
if vc.isOpened():
oepn, frame = vc.read()
else:
open = False
while open:
ret, frame = vc.read()
if frame is None:
break
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('result', gray)
if cv2.waitKey(100) & 0xFF == 27:
break
vc.release()
cv2.destroyAllWindows()
先簡單介紹這些,總結一下opencv操作,主要是對像素點的操作,像素取值爲0—255,每個像素點都有3個值表示 ,所以就是3通道。也有4通道的圖。例如RGB圖片即爲三通道圖片,RGB色彩模式是工業界的一種顏色標準,是通過對紅®、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,總之,每一個點由三個值表示。
但我們進行灰度處理之後的圖像爲單通道圖像所有兩次輸出的像素值不同。