天天看點

OpenCV-Python learning-1.安裝,圖檔讀取顯示

1. OpenCV與OpenGL差別

​​https://www.zhihu.com/question/20212016​​​

一個是讓機器識别東西的,OpenCV是給電腦做眼睛的。

一個是讓機器計算出更好畫面的,OpenGL用在遊戲渲染方面很多。

OpenCV(Open Source Computer Vision Library)是一個基于(開源)發行的跨平台計算機視覺庫,OpenGL(全寫Open Graphics Library)是個定義了一個跨程式設計語言、跨平台的程式設計接口規格的專業的圖形程式接口。

2. OpenCV安裝(三種方式,推薦whl方式)

方式一:​​官網下載下傳​​​ 或者​​https://sourceforge.net/projects/opencvlibrary/files/​​​,安裝後如下位置(​

​...\opencv\build\python\2.7\x64​

​​)的pyd拷貝到​

​Python27/lib/site-packeges​

​中,本方式隻支援python27。注意版本和xx位的對應。

OpenCV-Python learning-1.安裝,圖檔讀取顯示

方式二:​

​pip install opencv-python​

​​,或者(方式三:)​​使用whl檔案​​

3. 讀取、儲存圖檔

import cv2

img=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#或者用整數1代替表示彩圖,IMREAD_GRAYSCALE:0灰階圖,下同

cv2.namedWindow("測試",cv2.WINDOW_NORMAL)#圖像随視窗伸縮,預設WINDOW_AUTOSIZE圖像大小自動調整不可更改
cv2.imshow("測試",img)
#名字“測試”區分不同的視窗
s=cv2.waitKey(0)
# waitKey(x);
# 等待x ms(如果x=0,那麼無限等待下去),如果在此期間有按鍵按下,則立即結束并傳回按下按鍵的ASCII碼,否則傳回-1
print(s)
if s==27:#esc鍵
    cv2.imwrite('../../source/gril_copy.png',img)#儲存圖為png格式,傳回true/false
    print("圖檔已儲存")
cv2.destroyAllWindows()      

4 . matplotlib中顯示圖檔

import cv2
import matplotlib.pyplot as plt

img=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#彩圖,IMREAD_GRAYSCALE灰階圖

plt.imshow(img)
plt.xticks([])
plt.yticks([])
plt.show()
#opencv以BGR加載圖檔,matplotlib以RGB模式。      

原圖見頭像,顯示如下。

OpenCV-Python learning-1.安裝,圖檔讀取顯示
import cv2
import matplotlib.pyplot as plt

img=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#彩圖,IMREAD_GRAYSCALE灰階圖
b,g,r=cv2.split(img)
img2=cv2.merge([r,g,b])
plt.imshow(img2)
plt.xticks([]),plt.yticks([]) # 不顯示坐标軸      

繼續閱讀