官术网_书友最值得收藏!

1.2 任務(wù)1:圖像讀取、顯示和保存

1.2.1 任務(wù)描述

基于龍芯平臺(tái),利用OpenCV實(shí)現(xiàn)讀取圖像、顯示圖像與保存圖像的功能。

1.2.2 技術(shù)準(zhǔn)備

圖像的讀取、顯示與保存是工程應(yīng)用和學(xué)術(shù)研究中的基礎(chǔ)操作,OpenCV提供用于完成這些基礎(chǔ)操作的API函數(shù),它們分別為imread()、imshow()、imwrite()和waitKey()。利用OpenCV實(shí)現(xiàn)圖像的讀取與顯示的主要流程為引入OpenCV→讀取圖像→顯示圖像→等待用戶輸入。  

OpenCV的imread()函數(shù)用于將文件中的圖像讀入內(nèi)存,支持多種靜態(tài)圖像格式,如BMP、PNG、JPEG和TIFF等。imread()函數(shù)的完整格式如下。

img=cv2.imread(filename, flag)

其中,filename為文件名,flag為圖像讀取格式標(biāo)志。若imread()函數(shù)正確讀取圖像,返回表示圖像的NumPy數(shù)組;否則,返回NULL。

OpenCV的imshow(winname,mat)函數(shù)用于在指定的窗口中顯示圖像。若窗口已存在,圖像直接顯示在該窗口中;否則,新建一個(gè)名為winname的窗口,并顯示mat參數(shù)對(duì)應(yīng)的圖像。

OpenCV的imwrite()函數(shù)用于將NumPy數(shù)組中保存的圖像寫(xiě)入文件。

waitKey()函數(shù)的功能是等待用戶輸入。該函數(shù)的基本格式如下。

rv=cv2.waitKey([delay])

參數(shù)說(shuō)明如下。

rv:保存函數(shù)返回值。如果沒(méi)有按某個(gè)鍵,返回?1;否則,返回所按鍵的對(duì)應(yīng)ASCII值。

delay:等待按鍵的時(shí)間(單位為ms)。若delay為負(fù)數(shù)或0,表示無(wú)限等待,其默認(rèn)值為0;若設(shè)置了delay參數(shù),等待指定時(shí)間后,waitKey()函數(shù)返回?1。

1.2.3 任務(wù)實(shí)施

以下是使用OpenCV接口實(shí)現(xiàn)圖像的讀取、顯示與保存的代碼。

import cv2
# 使用imread()函數(shù)讀取圖片。0表示灰度圖,1表示彩色圖,16表示縮放后的灰度圖,17表示縮放后的彩色圖
img = cv2.imread("./test.jpg", 1)
# 顯示
# cv2.imshow("imshowtest", img)
# 保存
cv2.imwrite("test1.jpg", img)
cv2.waitKey(0)

運(yùn)行結(jié)果如圖1-1所示。

▲圖1-1 運(yùn)行結(jié)果

主站蜘蛛池模板: 兴海县| 成武县| 云林县| 大石桥市| 昭通市| 利川市| 于田县| 江西省| 和静县| 金溪县| 临沭县| 乐山市| 班戈县| 镇江市| 紫金县| 玛纳斯县| 绥中县| 满城县| 新和县| 泾源县| 东乡族自治县| 连州市| 上饶市| 正镶白旗| 常山县| 腾冲县| 平昌县| 嘉鱼县| 河津市| 武清区| 历史| 弥渡县| 莱阳市| 蓝山县| 达拉特旗| 开原市| 甘洛县| 林口县| 海南省| 荣成市| 岢岚县|