成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

opencv python 讀取圖像/顯示圖像/保存圖像

jay_tian / 2473人閱讀

摘要:以毫秒為單位延遲。默認(rèn)為代碼應(yīng)用加載一幅灰度圖像,顯示它,如果按則保存圖像并退出,如果按鍵直接退出。使用使用顯示圖像。

以前也用過(guò)opencv, 不過(guò)都是按需使用, 掌握的知識(shí)很零散, 這次希望能夠系統(tǒng)學(xué)習(xí)opencv-python

本文直接從Gui Features開(kāi)始.

1 讀取圖片

使用cv2.imread()函數(shù)讀取圖像.

cv2.imread(filename[, flags])

filename 圖片的路徑, 圖片應(yīng)該在工作目錄下, 不然應(yīng)給出圖片完整路徑
flags 指定圖像讀取方式:

cv2.IMREAD_COLOR : 加載彩色圖像. 圖像的任何透明度都將被忽略.(默認(rèn))

cv2.IMREAD_GRAYSCALE : 以灰度模式加載圖像.

cv2.IMREAD_UNCHANGED : 加載包含Alpha通道的圖像

Note : 可以使用1,0,-1 代替表示上述三種圖像讀取方式
代碼 :

import cv2
img = cv2.imread("E:/pyproject/haha.jpg",1)

Note :

如果缺少文件,權(quán)限不當(dāng),格式不受支持或無(wú)效,當(dāng)print(圖片)時(shí),將返回None.

該函數(shù)通過(guò)內(nèi)容而不是文件擴(kuò)展名來(lái)決定圖像類(lèi)型.

圖像數(shù)據(jù)將以B,G,R的順序存儲(chǔ).

2 顯示圖片

使用cv2.imshow()函數(shù)讀取圖像.

cv2.imshow(winname, mat)

winname 顯示窗口的名字
mat 要顯示的圖像

cv2.namedWindow(winname[, flags])

winname 顯示窗口的名字
flags 顯示窗口的標(biāo)志:

cv2.WINDOW_AUTOSIZE : 根據(jù)顯示圖像自動(dòng)調(diào)整窗口,不能手動(dòng)更改窗口大小(默認(rèn))

cv2.WINDOW_NORMAL : 可以調(diào)整窗口大小

……

cv2.waitKey([, delay]) 一個(gè)綁定鍵盤(pán)功能。

delay 以毫秒為單位延遲。 0是指“永遠(yuǎn)”的特殊值。

cv2.destroyAllWindows()

簡(jiǎn)單地破壞我們創(chuàng)建的所有窗口。如果想銷(xiāo)毀任何特定的窗口,在其中傳遞確切的窗口名稱(chēng)作為參數(shù)。

Note :
如果顯示圖像窗口在imshow()未提前創(chuàng)建,系統(tǒng)將默認(rèn)cv2.WINDOW_AUTOSIZE創(chuàng)建窗口

代碼一 :

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 圖像名稱(chēng)
img 保存的圖像
params 對(duì)于JPEG,其表示的是圖像的質(zhì)量,用0 - 100的整數(shù)表示,默認(rèn)95;對(duì)于png ,第 三個(gè)參數(shù)表示的是壓縮級(jí)別。默認(rèn)為3.

代碼 :

cv2.imwrite("E:/pyproject/1.jpg",img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])

應(yīng)用:

加載一幅灰度圖像,顯示它,如果按"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()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41873.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<