- 深度學(xué)習(xí)與計(jì)算機(jī)視覺(jué):項(xiàng)目式教材
- 彭飛 張強(qiáng)編著
- 588字
- 2024-12-11 17:11:51
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é)果
- 機(jī)器視覺(jué)自動(dòng)檢測(cè)技術(shù)
- 為機(jī)器立心(通用人工智能的中國(guó)藍(lán)圖系列)
- AI自媒體寫(xiě)作超簡(jiǎn)單
- CPS:新一代工業(yè)智能
- 科學(xué)+預(yù)見(jiàn)人工智能
- 強(qiáng)化學(xué)習(xí):原理與Python實(shí)現(xiàn)
- 大模型項(xiàng)目實(shí)戰(zhàn):Agent開(kāi)發(fā)與應(yīng)用
- 里武林的沉淪囈語(yǔ):AI人工智能游戲概念設(shè)定集
- 計(jì)算機(jī)應(yīng)用與數(shù)據(jù)分析+人工智能
- 顛覆:AI時(shí)代的企業(yè)管理方式大變革
- EV3機(jī)器人之快樂(lè)搭建
- 搜索:開(kāi)啟智能時(shí)代的新引擎
- 機(jī)器人SLAM導(dǎo)航:核心技術(shù)與實(shí)戰(zhàn)
- FANUC工業(yè)機(jī)器人實(shí)操與應(yīng)用技巧
- 機(jī)器意識(shí):人工智能如何為機(jī)器人裝上大腦