摘要:以毫秒為單位延遲。默認為代碼應用加載一幅灰度圖像,顯示它,如果按則保存圖像并退出,如果按鍵直接退出。使用使用顯示圖像。
以前也用過opencv, 不過都是按需使用, 掌握的知識很零散, 這次希望能夠系統學習opencv-python
本文直接從Gui Features開始.
1 讀取圖片使用cv2.imread()函數讀取圖像.
cv2.imread(filename[, flags])
filename 圖片的路徑, 圖片應該在工作目錄下, 不然應給出圖片完整路徑
flags 指定圖像讀取方式:
cv2.IMREAD_COLOR : 加載彩色圖像. 圖像的任何透明度都將被忽略.(默認)
cv2.IMREAD_GRAYSCALE : 以灰度模式加載圖像.
cv2.IMREAD_UNCHANGED : 加載包含Alpha通道的圖像
Note : 可以使用1,0,-1 代替表示上述三種圖像讀取方式
代碼 :
import cv2 img = cv2.imread("E:/pyproject/haha.jpg",1)
Note :
如果缺少文件,權限不當,格式不受支持或無效,當print(圖片)時,將返回None.
該函數通過內容而不是文件擴展名來決定圖像類型.
圖像數據將以B,G,R的順序存儲.
2 顯示圖片使用cv2.imshow()函數讀取圖像.
cv2.imshow(winname, mat)
winname 顯示窗口的名字
mat 要顯示的圖像
cv2.namedWindow(winname[, flags])
winname 顯示窗口的名字
flags 顯示窗口的標志:
cv2.WINDOW_AUTOSIZE : 根據顯示圖像自動調整窗口,不能手動更改窗口大小(默認)
cv2.WINDOW_NORMAL : 可以調整窗口大小
……
cv2.waitKey([, delay]) 一個綁定鍵盤功能。
delay 以毫秒為單位延遲。 0是指“永遠”的特殊值。
cv2.destroyAllWindows()
簡單地破壞我們創建的所有窗口。如果想銷毀任何特定的窗口,在其中傳遞確切的窗口名稱作為參數。
Note :
如果顯示圖像窗口在imshow()未提前創建,系統將默認cv2.WINDOW_AUTOSIZE創建窗口
代碼一 :
cv2.imshow("showing",img) cv2.waitKey(0) cv2.destroyAllWindows()
代碼二 :
cv2.namedWindow("showing", cv2.WINDOW_NORMAL) cv2.imshow("showing",img) cv2.waitKey(0) cv2.destroyAllWindows()3 保存圖片
cv2.imwrite(filename, img[, params])
filename 圖像名稱
img 保存的圖像
params 對于JPEG,其表示的是圖像的質量,用0 - 100的整數表示,默認95;對于png ,第 三個參數表示的是壓縮級別。默認為3.
代碼 :
cv2.imwrite("E:/pyproject/1.jpg",img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])應用:
加載一幅灰度圖像,顯示它,如果按"s"則保存圖像并退出,如果按ESC鍵直接退出。
import cv2 img = cv2.imread("E:/pyproject/haha.jpg",0) cv2.imshow("image",img) k = cv2.waitKey(0)& 0xFF if k == 27: # wait for ESC key to exit cv2.destroyAllWindows() elif k == ord("s"): # wait for "s" key to save and exit cv2.imwrite("messigray.png",img) cv2.destroyAllWindows()4 使用 Matplotlib
使用Matplotlib顯示圖像。 你可以放大圖像,使用Matplotlib保存等。
import cv2 from matplotlib import pyplot as plt img = cv2.imread("E:/pyproject/haha.jpg",0) plt.imshow(img, cmap = "gray", interpolation = "bicubic") plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.show()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41873.html
閱讀 1181·2021-09-22 15:24
閱讀 2285·2019-08-30 15:44
閱讀 2615·2019-08-30 10:55
閱讀 3355·2019-08-29 13:25
閱讀 1639·2019-08-29 13:09
閱讀 1391·2019-08-26 14:05
閱讀 1379·2019-08-26 13:58
閱讀 1985·2019-08-26 11:57