天天看點

【python|opencv】cv2.imread傳回None,無法正确讀取圖檔0. 前言1. 正文

every blog every motto: You can do more than you think.

0. 前言

之前遇到一個問題,今天又再一次遇到,記之。

1. 正文

1.1 問題

在使用python調用opencv時,無法讀取圖檔,傳回結果為None,如下圖所示:

【python|opencv】cv2.imread傳回None,無法正确讀取圖檔0. 前言1. 正文
【python|opencv】cv2.imread傳回None,無法正确讀取圖檔0. 前言1. 正文

1.2 解決辦法

原因是所讀取的圖檔還有中文,是以不能讀取。進行如下改進:

import os
import cv2 as cv
import numpy as np


def cv_imread(file_path):
    """可讀取圖檔(路徑為中文)

    :param file_path: 圖檔路徑
    :return:
    """
    # 可以使用中文路徑讀取圖檔
    cv_img = cv.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)
    return cv_img


file = './資料/201910_A11_3_10r_43c.tif'
img = cv_imread(file)
# print(img)
print(img.shape)
print('-------------------------------------22')
           
【python|opencv】cv2.imread傳回None,無法正确讀取圖檔0. 前言1. 正文

結果如下,可以正确讀取圖檔:

【python|opencv】cv2.imread傳回None,無法正确讀取圖檔0. 前言1. 正文

繼續閱讀