python OpenCV的imread不能读取中文路径问题及解决

作者:Dragon水魅 时间:2022-10-03 07:41:39 

OpenCV的imread不能读取中文路径问题

import numpy as np
import cv2

cv_img = cv2.imdecode(np.fromfile(jpg_path, dtype=np.uint8), -1)  # 读取8位图像

OpenCV imread()函数 (从文件加载图像)

def imread(filename, flags=None): # real signature unknown; restored from __doc__
   """
   imread(filename[, flags]) -> retval
   .   @brief Loads an image from a file. 从文件加载图像。
   .  
   .   @anchor imread
   .  
   .   The function imread loads an image from the specified file and returns it. If the image cannot be
   .   read (because of missing file, improper permissions, unsupported or invalid format), the function
   .   returns an empty matrix ( Mat::data==NULL ).

该函数imread从指定的文件加载图像并返回它。
如果无法读取图像(由于缺少文件,权限不正确,格式不受支持或格式无效),
该函数将返回一个空矩阵(Mat :: data == NULL)。
   .  
   .   Currently, the following file formats are supported: 当前,支持以下文件格式:
   .  
   .   -   Windows bitmaps - \*.bmp, \*.dib (always supported)
   .   -   JPEG files - \*.jpeg, \*.jpg, \*.jpe (see the *Note* section)
   .   -   JPEG 2000 files - \*.jp2 (see the *Note* section)
   .   -   Portable Network Graphics - \*.png (see the *Note* section)
   .   -   WebP - \*.webp (see the *Note* section)
   .   -   Portable image format - \*.pbm, \*.pgm, \*.ppm \*.pxm, \*.pnm (always supported)
   .   -   PFM files - \*.pfm (see the *Note* section)
   .   -   Sun rasters - \*.sr, \*.ras (always supported)
   .   -   TIFF files - \*.tiff, \*.tif (see the *Note* section)
   .   -   OpenEXR Image files - \*.exr (see the *Note* section)
   .   -   Radiance HDR - \*.hdr, \*.pic (always supported)
   .   -   Raster and Vector geospatial data supported by GDAL (see the *Note* section)
   .  
   .   @note
   .   -   The function determines the type of an image by the content, not by the file extension.
   该功能通过内容而不是文件扩展名确定图像的类型

.   -   In the case of color images, the decoded images will have the channels stored in **B G R** order.
   对于彩色图像,解码后的图像将具有以** B G R **顺序存储的通道。

.   -   When using IMREAD_GRAYSCALE, the codec's internal grayscale conversion will be used, if available.
   .   Results may differ to the output of cvtColor()
   使用IMREAD_GRAYSCALE时,将使用编解码器的内部灰度转换(如果有)。 结果可能与cvtColor()的输出不同

.   -   On Microsoft Windows\* OS and MacOSX\*, the codecs shipped with an OpenCV image (libjpeg,
   .   libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs,
   .   and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware
   .   that currently these native image loaders give images with different pixel values because of
   .   the color management embedded into MacOSX.

在Microsoft Windows \ * OS和MacOSX \ *上,
默认使用OpenCV映像附带的编解码器(libjpeg,libpng,libtiff和libjasper)。
因此,OpenCV始终可以读取JPEG,PNG和TIFF。
在MacOSX上,还可以选择使用本机MacOSX图像读取器。
但是请注意,由于MacOSX中嵌入了色彩管理,当前这些本机图像加载器会为图像提供不同的像素值。

.   -   On Linux\*, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for
   .   codecs supplied with an OS image. Install the relevant packages (do not forget the development
   .   files, for example, "libjpeg-dev", in Debian\* and Ubuntu\*) to get the codec support or turn
   .   on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake.

在Linux \ *,BSD版本和其他类似Unix的开源操作系统上,OpenCV会寻找OS映像随附的编解码器。
安装相关的软件包(不要忘记在Debian \ *和Ubuntu \ *中忘记开发文件,
例如“ libjpeg-dev”)以获得编码解码器支持或在CMake中打开OPENCV_BUILD_3RDPARTY_LIBS标志。

.   -   In the case you set *WITH_GDAL* flag to true in CMake and @ref IMREAD_LOAD_GDAL to load the image,
   .   then the [GDAL](http://www.gdal.org) driver will be used in order to decode the image, supporting
   .   the following formats: [Raster](http://www.gdal.org/formats_list.html),
   .   [Vector](http://www.gdal.org/ogr_formats.html).

如果您在CMake中将* WITH_GDAL *标志设置为true并使用@ref IMREAD_LOAD_GDAL加载图像,则将使用[GDAL](http://www.gdal.org)驱动程序对图像进行解码,以支持 以下格式:[Raster](http://www.gdal.org/formats_list.html)、[Vector](http://www.gdal.org/ogr_formats.html)。

.   -   If EXIF information are embedded in the image file, the EXIF orientation will be taken into account
   .   and thus the image will be rotated accordingly except if the flag @ref IMREAD_IGNORE_ORIENTATION is passed.
如果将EXIF信息嵌入到图像文件中,则将考虑EXIF方向,
因此,除非传递了@ref IMREAD_IGNORE_ORIENTATION标志,否则图像将相应旋转。

.   -   Use the IMREAD_UNCHANGED flag to keep the floating point values from PFM image.
   使用IMREAD_UNCHANGED标志保留PFM图像中的浮点值。

.   -   By default number of pixels must be less than 2^30. Limit can be set using system
   .   variable OPENCV_IO_MAX_IMAGE_PIXELS
   默认情况下,像素数必须小于2 ^ 30。 可以使用系统变量OPENCV_IO_MAX_IMAGE_PIXELS设置限制
   .  
   .   @param filename Name of file to be loaded. 要加载的文件名。
   .   @param flags Flag that can take values of cv::ImreadModes 可以采用cv :: ImreadModes值的标志
   """
   pass

来源:https://blog.csdn.net/qq_43650934/article/details/121056571

标签:python,OpenCV,imread,中文路径
0
投稿

猜你喜欢

  • JSP EL表达式详细介绍

    2023-07-02 22:32:32
  • go zero微服务实战性能优化极致秒杀

    2023-06-17 03:45:30
  • Python终端输出彩色字符方法详解

    2023-11-18 22:04:17
  • Pytorch 实现focal_loss 多类别和二分类示例

    2021-09-16 17:53:36
  • [翻译]标记语言和样式手册 Chapter 2 标题

    2008-01-16 11:56:00
  • 完美解决Python matplotlib绘图时汉字显示不正常的问题

    2023-09-28 05:30:55
  • go高并发时append方法偶现错误解决分析

    2024-02-13 20:30:57
  • Python 获取div标签中的文字实例

    2023-03-27 01:53:53
  • JavaScript的instanceof运算符学习教程

    2024-04-17 10:09:59
  • HTML与CSS在Flash中的应用

    2008-01-23 19:13:00
  • 三谈Iframe自适应高度

    2010-08-03 13:04:00
  • Yii2中使用asset压缩js,css文件的方法

    2024-05-02 17:16:13
  • Python实现图像随机添加椒盐噪声和高斯噪声

    2023-06-13 22:54:36
  • MySQL DQL语句的具体使用

    2024-01-21 08:17:03
  • pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

    2023-01-28 12:58:07
  • pygame学习笔记(6):完成一个简单的游戏

    2021-10-16 11:08:01
  • python的keyword模块用法实例分析

    2022-04-06 07:56:22
  • python中使用smtplib和email模块发送邮件实例

    2022-09-16 05:37:23
  • Python办公自动化之Excel(中)

    2023-03-07 05:48:15
  • IE下img多余5像素空白

    2009-06-08 13:17:00
  • asp之家 网络编程 m.aspxhome.com