Python讀取中文路徑出現(xiàn)亂碼問題的解決方案
一、問題描述
筆者在使用opencv
讀取帶有中文路徑的圖片時,發(fā)現(xiàn)會出現(xiàn)亂碼的情況。具體問題如下:
# 讀取帶有中文路徑的圖片出現(xiàn)錯誤 import cv2 img_path = r'C:\Users\zephy\Documents\Python\CSDN\測試 圖片\圖片1.jpg' img = cv2.imread(img_path, cv2.IMREAD_COLOR) cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()
當(dāng)讀取的文件路徑出現(xiàn)中文時,(文件夾名為中文或者文件為中文)出現(xiàn)如下錯誤:
[ WARN:0@0.024] global loadsave.cpp:241 cv::findDecoder imread_(‘C:\Users\zephy\Documents\Python\CSDN\測試 圖片\圖片1.jpg’): can’t open/read file: check file path/integrity
Traceback (most recent call last):
File “C:\Users\zephy\Documents\Python\CSDN\demo.py”, line 8, in
cv2.imshow(“image”, img)
cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:973: error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow’
在定位問題時,將讀取圖片路徑和圖片名詞更換為全英文后,發(fā)現(xiàn)可以正常讀取,具體如下:
# 讀取英文路徑下的圖片,顯示正常 import cv2 img_path = r'C:\Users\zephy\Documents\Python\CSDN\caps.bmp' img = cv2.imread(img_path, cv2.IMREAD_COLOR) cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()
二、問題解決
定位問題后,發(fā)現(xiàn)出現(xiàn)上述錯誤的原因是在中文路徑的編解碼上,下面是筆者在查找相關(guān)文獻(xiàn)后找到的解決方法,具體代碼如下:
import cv2 import numpy as np img_path = r'C:\Users\zephy\Documents\Python\CSDN\測試 圖片\圖片1.jpg' img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), cv2.IMREAD_COLOR) # 替換cv2.imread(img_path, cv2.IMREAD_COLOR) cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()
運(yùn)行代碼,可順利讀取帶有中文路徑或中文名詞的圖片,問題解決。具體讀取圖片如下:
到此這篇關(guān)于Python讀取中文路徑出現(xiàn)亂碼問題的解決方案的文章就介紹到這了,更多相關(guān)Python中文路徑出現(xiàn)亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python mongo 向數(shù)據(jù)中的數(shù)組類型新增數(shù)據(jù)操作
這篇文章主要介紹了python mongo 向數(shù)據(jù)中的數(shù)組類型新增數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12python利用不到一百行代碼實(shí)現(xiàn)一個小siri
這篇文章主要介紹了關(guān)于python利用不到一百行代碼實(shí)現(xiàn)了一個小siri的相關(guān)資料,文中介紹的很詳細(xì),對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。2017-03-03使用Python實(shí)現(xiàn)自動化辦公的代碼示例(郵件、excel)
隨著技術(shù)的進(jìn)步,Python 的高效性和易用性使其成為辦公自動化的強(qiáng)大工具,通過 Python,我們可以自動處理日常工作中的郵件、Excel 表格等任務(wù),從而大幅提升效率,本文將詳細(xì)介紹如何使用 Python 實(shí)現(xiàn)這些自動化功能,并附上關(guān)鍵代碼示例,需要的朋友可以參考下2025-01-01Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容操作代碼
這篇文章主要介紹了Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容,基本導(dǎo)入是在Python中使用pandas導(dǎo)入.xlsx文件的方法是read_excel(),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12python中將txt文件轉(zhuǎn)換為csv文件的三種方法舉例
對于大數(shù)據(jù)的處理基本都是以CSV文件為基礎(chǔ)進(jìn)行的,那么在進(jìn)行深度學(xué)習(xí)的處理之前,需要先統(tǒng)一數(shù)據(jù)文件的格式,下面這篇文章主要給大家介紹了關(guān)于python中將txt文件轉(zhuǎn)換為csv文件的三種方法,需要的朋友可以參考下2024-06-06