cv2.imread?和?cv2.imdecode?用法及區(qū)別
對(duì)于路徑中含有中文的圖像,直接用cv2.imread讀取會(huì)報(bào)錯(cuò),上次看到有大佬使用cv2.imdecode就可以正常讀取,有點(diǎn)好奇,所以今天來記錄下二者用法和區(qū)別。
1.讀取圖像的兩種方式對(duì)比
cv2.imread正常讀取影像
import cv2 path = '/data/北京/beijing.png' img = cv2.imread(path)
運(yùn)行上述代碼,會(huì)報(bào)錯(cuò)!
cv2.imdecode從內(nèi)存中讀取影像
import cv2 path = '/data/北京/beijing.png' arr = np.fromfile(path, dtype=np.uint8) img = cv2.imdecode(arr, flags=cv2.IMREAD_COLOR)
運(yùn)行上述代碼,成功!
并且imdecode得到的影像波段順序是RGB,不是BGR,這是與opencv區(qū)別的地方。
函數(shù)說明:
np.decode 從內(nèi)存的緩沖區(qū)讀取圖像
np.fromfile 將文本或二進(jìn)制文件中數(shù)據(jù)構(gòu)造成數(shù)組
2.保存圖像的兩種方式對(duì)比
cv2.imwrite 正常讀取影像
import cv2 out_path = '/data/北京/beijing.png' cv2.imwrite(out_path,img)
運(yùn)行上述代碼,會(huì)報(bào)錯(cuò)!
cv2.imdecode從內(nèi)存中讀取影像
import cv2
out_path = '/data/北京/beijing.png'
arr = cv2.imencode('png',img)
out[1].tofile(out_path)運(yùn)行上述代碼,成功!
函數(shù)說明:
cv2.encode 將圖像編碼到內(nèi)存緩沖區(qū)中
np.tofile 將數(shù)組中的數(shù)據(jù)以二進(jìn)制格式寫進(jìn)文件
到此這篇關(guān)于cv2.imread 和 cv2.imdecode 用法的文章就介紹到這了,更多相關(guān)cv2.imread 和 cv2.imdecode內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python構(gòu)建指數(shù)平滑預(yù)測模型示例
今天小編就為大家分享一篇python構(gòu)建指數(shù)平滑預(yù)測模型示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python中最強(qiáng)大的錯(cuò)誤重試庫(tenacity庫)
本文要給大家介紹的tenacity庫,可能是目前Python生態(tài)中最好用的錯(cuò)誤重試庫,主要介紹tenacity的主要使用方法和特性,具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04
Python調(diào)整matplotlib圖片大小的3種方法匯總
我們?cè)谑褂胢atplotlib作圖時(shí),會(huì)遇到圖片不清晰或者圖片大小不是我們想要的,這個(gè)時(shí)候就需要調(diào)整下,這篇文章主要給大家介紹了關(guān)于Python調(diào)整matplotlib圖片大小的3種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
python腳本實(shí)現(xiàn)xls(xlsx)轉(zhuǎn)成csv
這篇文章主要介紹了python腳本實(shí)現(xiàn)xls(xlsx)轉(zhuǎn)成csv的相關(guān)資料,需要的朋友可以參考下2016-04-04
Python自動(dòng)化構(gòu)建工具scons使用入門筆記
這篇文章主要介紹了Python自動(dòng)化構(gòu)建工具scons使用入門筆記,本文講解了安裝scons、scons常用命令、scons使用示例等內(nèi)容,需要的朋友可以參考下2015-03-03
Python餐飲AI機(jī)器人學(xué)習(xí)數(shù)據(jù)網(wǎng)絡(luò)抓取
在餐飲行業(yè),AI機(jī)器人可以通過學(xué)習(xí)大量的相關(guān)數(shù)據(jù)來提供更好的服務(wù)和體驗(yàn),在文本中,我們將介紹如何使用python進(jìn)行餐飲A?I機(jī)器人學(xué)習(xí)數(shù)據(jù)的網(wǎng)絡(luò)抓取,并提供代碼的示例和最佳實(shí)踐2023-12-12
關(guān)于數(shù)據(jù)分析Pandas的Series用法總結(jié)
這篇文章主要介紹了關(guān)于數(shù)據(jù)分析Pandas的Series用法總結(jié),Series序列,是一種一維的結(jié)構(gòu),類似于一維列表和ndarray中的一維數(shù)組,但是功能比他們要更為強(qiáng)大,Series由兩部分組成:索引index和數(shù)值values,本篇對(duì)其用法做出總結(jié)2023-07-07
Python和JavaScript間代碼轉(zhuǎn)換的4個(gè)工具
JavaScript 已經(jīng)成為眾多其它編程語言爭相選擇的轉(zhuǎn)換目標(biāo)(相關(guān)實(shí)例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 則擁有龐大的追隨者群體,另外現(xiàn)有的強(qiáng)大庫資源則使其成為面向 JavaScript 的理想待轉(zhuǎn)換或者說轉(zhuǎn)譯選項(xiàng)2016-02-02

