您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:python OpenCV的imread不能读取中文路径问题及解决

51自学网 2022-07-22 18:47:24
  python
这篇教程python OpenCV的imread不能读取中文路径问题及解决写得很实用,希望能帮到您。

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

import numpy as npimport cv2cv_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

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


python实现plt x轴坐标按1刻度显示
关于opencv读取和写入路径有汉字的处理方式
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1