国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

python opencv 實(shí)現(xiàn)讀取、顯示、寫入圖像的方法

瀏覽:2日期:2022-07-22 10:50:31

 opencv是一個(gè)強(qiáng)大的圖像處理和計(jì)算機(jī)視覺庫(kù),實(shí)現(xiàn)了很多實(shí)用算法,值得學(xué)習(xí)和深究下。

opencv包安裝

·這里直接安裝opencv-python包(非官方): pip install opencv-python

官方文檔:https://opencv-python-tutroals.readthedocs.io/en/latest/

1、讀取圖像

import cv2image=cv2.imread('dog2.jpg',1)

說明:

第二個(gè)參數(shù)是一個(gè)標(biāo)志,它指定了讀取圖像的方式。

cv.IMREAD_COLOR: 加載彩色圖像。任何圖像的透明度都會(huì)被忽視。它是默認(rèn)標(biāo)志。 cv.IMREAD_GRAYSCALE:以灰度模式加載圖像 cv.IMREAD_UNCHANGED:加載圖像,包括alpha通道

注意除了這三個(gè)標(biāo)志,你可以分別簡(jiǎn)單地傳遞整數(shù)1、0或-1。

即使圖像路徑出現(xiàn)了錯(cuò)誤,也不會(huì)報(bào)錯(cuò),而是print(image)會(huì)輸出None。

2、顯示圖像

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

說明:

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

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

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

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

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

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

3、寫入圖像

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

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

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

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

import numpy as npimport 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’): # 等待關(guān)鍵字,保存和退出 cv.imwrite(’dog2gray.png’,img) cv.destroyAllWindows()

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

4、結(jié)合使用matplotlib

import numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltimg = 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中將無法正確顯示彩色圖像。

總結(jié)

到此這篇關(guān)于python opencv 實(shí)現(xiàn)讀取、顯示、寫入圖像的方法的文章就介紹到這了,更多相關(guān)python opencv 圖片讀取顯示寫入內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 莱州市| 盈江县| 永年县| 宜丰县| 连山| 南郑县| 历史| 体育| 江永县| 蒙阴县| 肇州县| 隆回县| 苍山县| 鹤庆县| 武清区| 晋宁县| 西乡县| 阿克苏市| 黑河市| 绥棱县| 双辽市| 敦化市| 焦作市| 东明县| 武冈市| 呼和浩特市| 云龙县| 阳新县| 喀喇沁旗| 昌宁县| 张家港市| 甘洛县| 乌拉特后旗| 胶州市| 和平县| 天峨县| 蒲城县| 仲巴县| 崇左市| 全椒县| 林州市|