中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中opencv如何實現讀取、顯示、寫入圖像

發布時間:2020-07-17 16:28:13 來源:億速云 閱讀:258 作者:小豬 欄目:開發技術

這篇文章主要講解了python中opencv如何實現讀取、顯示、寫入圖像,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

1、讀取圖像

import cv2
image=cv2.imread("dog2.jpg",1)

說明:

第二個參數是一個標志,它指定了讀取圖像的方式。

  • cv.IMREAD_COLOR: 加載彩色圖像。任何圖像的透明度都會被忽視。它是默認標志。
  • cv.IMREAD_GRAYSCALE:以灰度模式加載圖像
  • cv.IMREAD_UNCHANGED:加載圖像,包括alpha通道

注意除了這三個標志,你可以分別簡單地傳遞整數1、0或-1。

即使圖像路徑出現了錯誤,也不會報錯,而是print(image)會輸出None。

2、顯示圖像

cv2.imshow("image",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

說明:

使用函數cv.imshow()在窗口中顯示圖像。窗口自動適合圖像尺寸。

cv.waitKey()是一個鍵盤綁定函數。其參數是以毫秒為單位的時間。該函數等待任何鍵盤事件指定的毫秒。如果您在這段時間內按下任何鍵,程序將繼續運行。如果0被傳遞,它將無限期地等待一次敲擊鍵。它也可以設置為檢測特定的按鍵,例如,如果按下鍵 a 等,我們將在下面討論。

注意 除了鍵盤綁定事件外,此功能還處理許多其他GUI事件,因此你必須使用它來實際顯示圖像。

cv.destroyAllWindows()只會破壞我們創建的所有窗口。如果要銷毀任何特定的窗口,請使用函數cv.destroyWindow()在其中傳遞確切的窗口名稱作為參數。

注意在特殊情況下,你可以創建一個空窗口,然后再將圖像加載到該窗口。在這種情況下,你可以指定窗口是否可調整大小。這是通過功能cv.namedWindow()完成的。默認情況下,該標志為cv.WINDOW_AUTOSIZE。但是,如果將標志指定為cv.WINDOW_NORMAL,則可以調整窗口大小。當圖像尺寸過大以及向窗口添加跟蹤欄時,這將很有幫助。

cv2.namedWindow('image',cv.WINDOW_NORMAL)
cv2.imshow('image',image)
cv2.waitKey(0)
cv2.destroyAllWindows()

3、寫入圖像

使用函數cv.imwrite()保存圖像。

第一個參數是文件名,第二個參數是要保存的圖像。cv.imwrite('messigray.png',img)

這會將圖像以PNG格式保存在工作目錄中。

在下面的程序中,以灰度加載圖像,顯示圖像,按s保存圖像并退出,或者按ESC鍵直接退出而不保存。

import numpy as np
import cv2 
img = cv.imread('dog2.jpg',0)
cv.imshow('image',img)
k = cv.waitKey(0)
if k == 27:   # 等待ESC退出
 cv.destroyAllWindows()
elif k == ord('s'): # 等待關鍵字,保存和退出
 cv.imwrite('dog2gray.png',img)
 cv.destroyAllWindows()

如果使用的是64位計算機,則必須k = cv.waitKey(0)按如下所示修改行:k = cv.waitKey(0) & 0xFF

4、結合使用matplotlib

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # 隱藏 x 軸和 y 軸上的刻度值
plt.show()

警告:OpenCV加載的彩色圖像處于BGR模式。但是Matplotlib以RGB模式顯示。因此,如果使用OpenCV讀取彩色圖像,則Matplotlib中將無法正確顯示彩色圖像。

看完上述內容,是不是對python中opencv如何實現讀取、顯示、寫入圖像有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常宁市| 乌拉特后旗| 本溪市| 东至县| 泽库县| 武邑县| 拜城县| 金昌市| 阳曲县| 偏关县| 阜阳市| 布尔津县| 仪陇县| 溧阳市| 兰坪| 潜江市| 弥渡县| 阿拉善左旗| 类乌齐县| 屏南县| 通江县| 桦甸市| 延长县| 贵州省| 大理市| 定日县| 蓝田县| 凤城市| 香河县| 疏勒县| 临漳县| 浑源县| 岐山县| 鄢陵县| 扶余县| 呼和浩特市| 乌鲁木齐市| 丁青县| 赤峰市| 平江县| 河西区|