新闻动态

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

发布日期:2022-07-20 19:29 | 文章来源:CSDN

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

美国快速服务器

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部