一、openCV簡介
OpenCV是一個開源的跨平台計算機視覺庫。它輕量級而且高效——由一系列 C 函數和少量C++類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
簡言之,通過openCV可實現計算機圖像、視頻的編輯。廣泛應用於圖像識別、運動跟蹤、機器視覺等領域。
二、Ubuntu16.04下的安裝
直接使用pip安裝
pip3 install opencv-python 或者使用國內鏡像安裝 pip3 install opencv-python -i https://pypi.douban.com/simple
三、測試腳本
# File: testopencv.py
# Author: ranxf
# Created on 2019.08.22 02:00 (first release)
# Copyright (C) 2019 XinZhouRuiShi. All rights reserved.
# please use python3.x
# -*- coding: UTF-8 -*-
import cv2 # 導入模塊,opencv的Python模塊叫cv2
img = cv2.imread('Aaron_Peirsol_0001.jpg') # 讀取當前目錄下的圖像Aaron_Peirsol_0001.jpg
cv2.namedWindow("Face image") # 創建窗口並顯示圖像類型
cv2.imshow("Face image", img)
cv2.waitKey(0) # 等待事件觸發,參數0表示永久等待
cv2.destroyAllWindows() # 釋放窗口
若沒有提示no module錯誤,則表示安裝成功
四、opencv for Python3 使用筆記
(一)圖像簡單的讀取,顯示,存儲
# File: opencvDemo1.py
# Author: ranxf
# Created on 2019.02.22 02:00 (first release)
# Copyright (C) 2019 XinZhouRuiShi. All rights reserved.
# please use python3.x
# -*- coding: UTF-8 -*-
"""
openCV學習使用,圖片簡單的讀取,顯示,存儲
"""
import cv2
# from matplotlib import pyplot as plt
import matplotlib.pyplot as plt
# 圖片的讀取
face1 = cv2.imread('Aaron_Peirsol_0001.jpg', 0) # 讀取灰度圖像
# 圖像的顯示方法一
# cv2.imshow("Face image", face1)
# cv2.waitKey()
# cv2.destroyAllWindows()
# 圖像的顯示方法二
plt.imshow(face1, 'gray') # 注意該行參數與cv2.imshow()中參數的不同之處,后面參數必須對頂顯示的是什么圖像
plt.xlabel([]),plt.ylabel([]) # 隱藏坐標線
plt.show()
"""
代碼解析:
1、圖像的讀取:
cv2.imread(‘圖像名稱’,’可選參數’)
可選參數決定讀入圖像的模式:
0:讀入的為灰度圖像(即使圖像為彩色的)
1:讀入的圖像為彩色的(默認);
注意的是:即使圖像在工作空間不存在,這個函數也不會報錯,只不過讀入的結果為none。
2、圖像的顯示方法一
opencv自帶函數顯示,一般顯示一個圖像;
cv2.imshow("Face image", face1)第一個參數是名字,第二個時要顯示的圖;
要圖像停留,結合下面兩句一起使用
cv2.waitKey(0)
cv2.destroyAllWindows()
3、圖像顯示方法二
opencv自帶函數不能調整圖像大小和保存圖像,要想保存和調整大小,可以使用第三方庫matplotlib庫包中pyplot子包顯示;
Matplotlib 是 Python 的繪圖庫。
首先要導入pyplot:
from matplotlib import pyplot as plt
也可以這樣導入:import matplotlib.pyplot as plt (我常用這種)
4、在Linux中安裝matplotlib
apt install python3-matplotlib
"""
運行結果:(可以看出有保存按鈕和窗口大小調整按鈕)

(二)
