How do I read an image from a path with Unicode characters?

前端 未结 4 624
广开言路
广开言路 2020-12-03 05:13

I have the following code and it fails, because it cannot read the file from disk. The image is always None.

# -*- coding: utf-8 -*-
import cv2
         


        
4条回答
  •  北荒
    北荒 (楼主)
    2020-12-03 06:04

    It can be done by

    • opening the file using open(), which supports Unicode as in the linked answer,
    • read the contents as a byte array,
    • convert the byte array to a NumPy array,
    • decode the image
    # -*- coding: utf-8 -*-
    import cv2
    import numpy
    
    stream = open(u'D:\\ö\\handschuh.jpg', "rb")
    bytes = bytearray(stream.read())
    numpyarray = numpy.asarray(bytes, dtype=numpy.uint8)
    bgrImage = cv2.imdecode(numpyarray, cv2.IMREAD_UNCHANGED)
    

提交回复
热议问题