OpenCV imread函数读取图像__实例详解

OpenCV imread函数读取图像__实例详解

本文目录:

零、时光宝盒

一、imread函数定义

二、imread函数支持的文件格式

三、imread函数flags参数详解

(3.1)、Flags=-1时,样返回加载的图像(使用alpha通道,否则将被裁剪)

(3.2)、Flags=0时,将图像转换为单通道灰度图像(编解码器内部转换)

(3.3)、Flags=1时,将图像转换为3通道BGR彩色图像。

(3.4)、Flags=2时,输入相应的深度时,返回16位/32位图像,否则将其转换为8位。

(3.5)、Flags=4时,以任何可能的颜色格式读取图像

(3.6)、Flags=8时,使用gdal驱动程序加载图像

(3.7)、Flags=16时,将图像转换为单通道灰度图像,图像大小减小1/2。

​(3.8)、Flags=17时,将图像转换为3通道BGR彩色图像,并将图像大小缩小1/2。

(3.9)、Flags=32时,将图像转换为单通道灰度图像,图像大小减小1/4。

(3.10)、Flags=33时,将图像转换为3通道BGR彩色图像,并将图像大小缩小1/4。

(3.11)、Flags=64时,将图像转换为单通道灰度图像,图像大小减小1/8。

(3.12)、Flags=65时,将图像转换为3通道BGR彩色图像,图像大小减小1/8。

(3.11)、Flags=128时,如果已设置,则不要根据EXIF的方向标志旋转图像。

(3.12)、Flags=256时,将图像转换为3通道RGB彩色图像。


零、时光宝盒

2ab463de26a541818271efa176656ae6.png
逆境清醒:https://blog.csdn.net/weixin_69553582   

  两千年前,一个觉悟了的人拿着一碗水,告诉世人,那里面有八万四千只虫。那个时代,没有显微镜,世人还不知道细菌是什么东西。信他的人,把他看作神;不信他的人,否定信者,说他们迷信。当年,那位觉悟了的人,叫“释迦牟尼”。————摘选自李淡的书

  很多时候,我们都存在思维局限,理解不了经验之外的某些现象,但,世界真的早已经变化,只是我们一直处于温水煮青蛙的状态,能察觉的人并不多,或者说能察觉的人被周围的人打压,导致。。。

  所以,我们保存虚心的学习态度很重要,互勉。

     逆境清醒
2025.1.20

此文地址:https://blog.csdn.net/weixin_69553582/article/details/145268598   

7f8eafc867aa425cab7d368ee0eb4dd8.gif

OpenCV读取图像,是使用cv.imread函数实现读取图像功能。

一、imread函数定义

  cv2.imread(filename,flags)函数,

作用:

 使用OpenCV读取图像。返回值是一个nparray 多维数组。OpenCV 对图像的任何操作,本质上就是对 Numpy 多维数组的运算。

  • filename:第一个参数filename是图像地址,图像应该存储在工作目录中或给出图像的完整路径。即使图像路径错误,也不会引发任何错误,但是在打印图像时系统会给出None。
  • flags:第二个参数flags,是一个标志,指定了读取图像的方式。
  • 如果无法读取图像(文件丢失,权限不正确,格式不支持或无效),该函数返回一个空矩阵。
  • 必须使用中文时,可以使用 cv2.imdecode() 处理
  • 读取图像时默认忽略透明通道,但可以使用 CV_LOAD_IMAGE_UNCHANGED 参数读取透明通道。
  • 对于彩色图像,可以使用 flags=0 按照读取为灰度图像。
  • 该函数的返回值是图像数字矩阵,
  • 维度如下:
    (M,N):用于灰度图。
    (M,N,3):用于RGB彩色图。

OpenCV 中彩色图像使用 BGR 格式,而 PIL、PyQt、matplotlib 等库使用的是 RGB 格式。

 有关计算机图像颜色的介绍,

请查看这篇文章:计算机视觉基础__图像特征https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666https://blog.csdn.net/weixin_69553582/article/details/130068666

二、imread函数支持的文件格式

OpenCV从文件加载图像,支持的文件格式

imread该函数从指定文件加载图像并返回 OpenCV 矩阵。如果无法读取图像(由于缺少文件、权限不正确或格式不受支持/无效),该函数将返回一个空矩阵。

目前,支持以下文件格式:

  • Windows 位图 - *.bmp、*.dib(始终支持)
  • GIF 文件 - *.gif(始终支持)
  • JPEG 文件 - *.jpeg、*.jpg、*.jpe
  • JPEG 2000 文件 - *.jp2
  • 便携式网络图形 - *.png
  • WebP - *.webp
  • AVIF - *.avif
  • 可移植图像格式 - *.pbm、*.pgm、*.ppm、*.pxm、*.pnm(始终支持)
  • PFM 文件 - *.pfm
  • Sun 栅格 - *.sr、*.ras(始终支持)
  • TIFF 文件 - *.tiff、*.tif
  • OpenEXR 图像文件 - *.exr
  • Radiance HDR - *.hdr、*.pic(始终支持)
  • GDAL 支持的栅格和矢量地理空间数据

注意

  • 该函数通过图像的内容(而不是文件扩展名)来确定图像的类型。
  • 对于彩色图像,解码后的图像将具有按 B G R 顺序存储的通道。
  • 使用 IMREAD_GRAYSCALE 时,将使用编解码器的内部灰度转换(如果可用)。结果可能与 cvtColor() 的输出不同。
  • 在 Microsoft Windows* 和 Mac OS* 上,默认使用 OpenCV 附带的编解码器(libjpeg、libpng、libtiff 和 libjasper)。因此,OpenCV 始终可以读取 JPEG、PNG 和 TIFF。在 Mac OS 上,还可以选择使用本机 Mac OS 图像阅读器。但是,请注意,由于 Mac OS 中嵌入了色彩管理,因此目前这些本机图像加载器会提供具有不同像素值的图像。
  • 在 Linux*、BSD 风格和其他类似 Unix 的开源操作系统上,OpenCV 会查找操作系统提供的编解码器。确保安装相关软件包(包括开发文件,例如 Debian* 和 Ubuntu* 中的“libjpeg-dev”)以获得编解码器支持,或在 CMake 中打开 OPENCV_BUILD_3RDPARTY_LIBS 标志。
  • 如果在 CMake 中将 WITH_GDAL 标志设置为 true,并且 IMREAD_LOAD_GDAL 用于加载图像,则 GDAL 驱动程序将用于解码图像,支持 Raster 和 Vector 格式。
  • 如果图像文件中嵌入了 EXIF 信息,则将考虑 EXIF 方向,因此图像将相应地旋转,除非传递标志 IMREAD_IGNORE_ORIENTATION 或 IMREAD_UNCHANGED。
  • 使用 IMREAD_UNCHANGED 标志保留 PFM 图像中的浮点值。
  • 默认情况下,像素数必须小于 2^30。可以通过设置 environment variable 来更改此限制。请参阅 OpenCV 环境变量参考。OPENCV_IO_MAX_IMAGE_PIXELS

三、imread函数flags参数详解

imread函数第二个参数是一个标志,它指定了读取图像的方式。

  • cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
  • cv.IMREAD_GRAYSCALE:以灰度模式加载图像
  • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道

注意 除了这三个标志,你可以分别简单地传递整数1、0或-1。

参数flags:读取图像的方式

数值

含义

-1

保持原格式不变 (原来是灰度图像就是灰度图像,原来是彩色图像,就是彩色图像)

0

将图像调整为单通道灰度图像

1

将图像调整为3通道BGR图像

2

当载入图像为16位或32位时,返回其对应的深度图像;否则,将其转换为8位图像

4

以任何可能的颜色格式读取图像

8

使用gdal驱动程序加载图像

color_change 参数:

cv2.IMREAD_COLOR

默认1

加载彩色图。任何图像的透明度都会被忽视,

cv2.IMREAD_GRAYSCALE

默认0

以灰度模式(黑白图像)加载图像

cv2.IMREAD_UNCHANGED

默认-1

加载图像,包括alpha通道,可以用-1代替。

cv2.IMREAD_ANYDEPTH

默认2

在输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位

cv2.IMREAD_ANYCOLOR

默认4

以任何可能的颜色格式读取图像


 

enum     cv::ImreadModes {
  cv::IMREAD_UNCHANGED = -1 ,
  cv::IMREAD_GRAYSCALE = 0 ,
  cv::IMREAD_COLOR_BGR = 1 ,
  cv::IMREAD_COLOR = 1 ,
  cv::IMREAD_ANYDEPTH = 2 ,
  cv::IMREAD_ANYCOLOR = 4 ,
  cv::IMREAD_LOAD_GDAL = 8 ,
  cv::IMREAD_REDUCED_GRAYSCALE_2 = 16 ,
  cv::IMREAD_REDUCED_COLOR_2 = 17 ,
  cv::IMREAD_REDUCED_GRAYSCALE_4 = 32 ,
  cv::IMREAD_REDUCED_COLOR_4 = 33 ,
  cv::IMREAD_REDUCED_GRAYSCALE_8 = 64 ,
  cv::IMREAD_REDUCED_COLOR_8 = 65 ,
  cv::IMREAD_IGNORE_ORIENTATION = 128 ,
  cv::IMREAD_COLOR_RGB = 256
}

第二个参数flags是一个可选参数,默认值为“ IMREAD_COLOR”其枚举值(可设置值)的具体意义如下:

标志flags

IMREAD_UNCHANGED

Python:cv.IMREAD_UNCHANGED

如果设置,则按原样返回加载的图像(使用 Alpha 通道,否则会被裁剪)。忽略 EXIF 方向。-1

IMREAD_GRAYSCALE

Python:cv.IMREAD_GRAYSCALE

如果设置,则始终将图像转换为单通道灰度图像(编解码器内部转换)。0

IMREAD_COLOR_BGR

Python:cv.IMREAD_COLOR_BGR

如果设置,则始终将图像转换为 3 通道 BGR 彩色图像。1

IMREAD_COLOR

Python:cv.IMREAD_COLOR

与 IMREAD_COLOR_BGR 相同。1

IMREAD_ANYDEPTH

Python:cv.IMREAD_ANYDEPTH

如果设置,当输入具有相应的深度时,返回 16 位/32 位图像,否则将其转换为 8 位。2

IMREAD_ANYCOLOR

Python:cv.IMREAD_ANYCOLOR

如果设置,则以任何可能的颜色格式读取图像。4

IMREAD_LOAD_GDAL

Python:cv.IMREAD_LOAD_GDAL

如果设置,请使用 gdal 驱动程序加载映像。8

IMREAD_REDUCED_GRAYSCALE_2

Python:cv.IMREAD_REDUCED_GRAYSCALE_2

如果设置,则始终将图像转换为单通道灰度图像,并将图像大小减小 1/2。16

IMREAD_REDUCED_COLOR_2

Python:cv.IMREAD_REDUCED_COLOR_2

如果设置,则始终将图像转换为 3 通道 BGR 彩色图像,并将图像大小减小 1/2。17

IMREAD_REDUCED_GRAYSCALE_4

Python:cv.IMREAD_REDUCED_GRAYSCALE_4

如果设置,则始终将图像转换为单通道灰度图像,并将图像大小减小 1/4。32

IMREAD_REDUCED_COLOR_4

Python:cv.IMREAD_REDUCED_COLOR_4

如果设置,则始终将图像转换为 3 通道 BGR 彩色图像,并且图像大小减小 1/4。33

IMREAD_REDUCED_GRAYSCALE_8

Python:cv.IMREAD_REDUCED_GRAYSCALE_8

如果设置,则始终将图像转换为单通道灰度图像,并将图像大小减小 1/8。64

IMREAD_REDUCED_COLOR_8

Python:cv.IMREAD_REDUCED_COLOR_8

如果设置,则始终将图像转换为 3 通道 BGR 彩色图像,并且图像大小减小 1/8。65

IMREAD_IGNORE_ORIENTATION

Python:cv.IMREAD_IGNORE_ORIENTATION

如果设置,则不要根据 EXIF 的方向标志旋转图像。128

IMREAD_COLOR_RGB

Python:cv.IMREAD_COLOR_RGB

如果设置,则始终将图像转换为 3 通道 RGB 彩色图像。256

EXIF

EXIF代表可交换图像文件格式。它是在图像文件(如数码照片)中存储元数据的标准格式。此元数据包括有关用于捕获图像的相机设置的信息,如光圈、快门速度、ISO和焦距。它还可能包括拍摄照片的日期和时间、GPS坐标以及相机和图像特有的其他信息的详细信息。

EXIF数据可用于摄影师分析和学习自己的作品,也可用于其他人了解照片的技术方面。

(3.1)、Flags=-1时,样返回加载的图像(使用alpha通道,否则将被裁剪)

IMREAD_UNCHANGED 

Python: cv.IMREAD_UNCHANGED

If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). Ignore EXIF orientation.

如果设置,则按原样返回加载的图像(使用alpha通道,否则将被裁剪)。忽略EXIF方向。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=-1)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.2)、Flags=0时,将图像转换为单通道灰度图像(编解码器内部转换)

IMREAD_GRAYSCALE 

Python: cv.IMREAD_GRAYSCALE

If set, always convert image to the single channel grayscale image (codec internal conversion).

如果设置,请始终将图像转换为单通道灰度图像(编解码器内部转换)。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=0)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.3)、Flags=1时,将图像转换为3通道BGR彩色图像。

IMREAD_COLOR_BGR 

Python: cv.IMREAD_COLOR_BGR

If set, always convert image to the 3 channel BGR color image.

IMREAD_COLOR 

Python: cv.IMREAD_COLOR

Same as IMREAD_COLOR_BGR.

如果设置,请始终将图像转换为3通道BGR彩色图像。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=1)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.4)、Flags=2时,当输入具有相应的深度时,返回16位/32位图像,否则将其转换为8位。

IMREAD_ANYDEPTH 

Python: cv.IMREAD_ANYDEPTH

If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.

如果设置,当输入具有相应的深度时,返回16位/32位图像,否则将其转换为8位。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=2)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.5)、Flags=4时,以任何可能的颜色格式读取图像

MREAD_ANYCOLOR 

Python: cv.IMREAD_ANYCOLOR

If set, the image is read in any possible color format.

如果设置,则以任何可能的颜色格式读取图像。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=4)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.6)、Flags=8时,使用gdal驱动程序加载图像

MREAD_LOAD_GDAL 

Python: cv.IMREAD_LOAD_GDAL

If set, use the gdal driver for loading the image.

如果已设置,请使用gdal驱动程序加载图像。

GDAL(Geospatial Data Abstraction Library):

  GDAL(Geospatial Data Abstraction Library)是一个开源的地理数据处理库,它提供了对各种格式的地理数据进行读取和写入的功能。GDAL驱动是指GDAL库中用于读取和写入地理数据格式的模块。

  GDAL驱动可以用于读取和写入多种地理数据格式,包括栅格数据(如GeoTIFF、JPEG、PNG等)、矢量数据(如Shapefile、GeoJSON等)和数据库数据(如PostGIS)。每种地理数据格式都有对应的GDAL驱动,通过使用不同的驱动可以实现对不同格式地理数据的读取和写入操作。

  GDAL库中包含了许多常用的地理数据格式的驱动,如GTiff(GeoTIFF格式)、PNG(PNG格式)、JPEG(JPEG格式)、ESRI Shapefile(Shapefile格式)等。此外,GDAL还支持许多其他地理数据格式的读取和写入,可以通过配置GDAL库来加载额外的驱动。

  使用GDAL驱动,可以方便地读取和处理各种格式的地理数据,使地理数据处理变得更加灵活和高效。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=8)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.7)、Flags=16时,将图像转换为单通道灰度图像,图像大小减小1/2。

MREAD_REDUCED_GRAYSCALE_2 

Python: cv.IMREAD_REDUCED_GRAYSCALE_2

If set, always convert image to the single channel grayscale image and the image size reduced 1/2.

如果设置,则始终将图像转换为单通道灰度图像,图像大小减小1/2。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=16)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

​(3.8)、Flags=17时,将图像转换为3通道BGR彩色图像,并将图像大小缩小1/2。

IMREAD_REDUCED_COLOR_2 

Python: cv.IMREAD_REDUCED_COLOR_2

If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2.

如果设置,请始终将图像转换为3通道BGR彩色图像,并将图像大小缩小1/2。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=17)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.9)、Flags=32时,将图像转换为单通道灰度图像,图像大小减小1/4。

IMREAD_REDUCED_GRAYSCALE_4 

Python: cv.IMREAD_REDUCED_GRAYSCALE_4

If set, always convert image to the single channel grayscale image and the image size reduced 1/4.

如果设置,则始终将图像转换为单通道灰度图像,图像大小减小1/4。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=32)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.10)、Flags=33时,将图像转换为3通道BGR彩色图像,并将图像大小缩小1/4。

IMREAD_REDUCED_COLOR_4 

Python: cv.IMREAD_REDUCED_COLOR_4

If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4.

如果设置,请始终将图像转换为3通道BGR彩色图像,并将图像大小缩小1/4。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=33)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.11)、Flags=64时,将图像转换为单通道灰度图像,图像大小减小1/8。

IMREAD_REDUCED_GRAYSCALE_8 

Python: cv.IMREAD_REDUCED_GRAYSCALE_8

If set, always convert image to the single channel grayscale image and the image size reduced 1/8.

如果设置,则始终将图像转换为单通道灰度图像,图像大小减小1/8。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=64)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.12)、Flags=65时,将图像转换为3通道BGR彩色图像,图像大小减小1/8。

IMREAD_REDUCED_COLOR_8 

Python: cv.IMREAD_REDUCED_COLOR_8

If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8.

如果设置,则始终将图像转换为3通道BGR彩色图像,图像大小减小1/8。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=64)

if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.11)、Flags=128时,如果已设置,则不要根据EXIF的方向标志旋转图像。

IMREAD_IGNORE_ORIENTATION 

Python: cv.IMREAD_IGNORE_ORIENTATION

If set, do not rotate the image according to EXIF's orientation flag.

如果已设置,则不要根据EXIF的方向标志旋转图像。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=128)
if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

(3.12)、Flags=256时,将图像转换为3通道RGB彩色图像。

IMREAD_COLOR_RGB 

Python: cv.IMREAD_COLOR_RGB

If set, always convert image to the 3 channel RGB color image.

如果设置,请始终将图像转换为3通道RGB彩色图像。

实例效果:

相关代码:

import cv2 as cv
import sys
img = cv.imread("images/jpg1.jpg")
img1 = cv.imread("images/jpg1.jpg",flags=256)
#img1 = cv.imread('images/jpg1.jpg',cv.IMREAD_COLOR_RGB)
if img is None:
    sys.exit("不能读取图片.")
if img1 is None:
    sys.exit("不能读取图片.")

cv.imshow("逆境清醒opencv教程系列,原图", img)
cv.imshow("逆境清醒opencv教程系列1,带flags读取", img1)
key = cv.waitKey(0)

 推荐阅读:

逆境清醒文章总目录表

27d5b50d93a089da35ee1a28905f9719.jpeg​​​​​

c64d8b4d0b6842ebe1196c0b1e3fba51.jpeg​​​​​

a136a43cd0015088d4ce37b1bb653533.jpeg​​​​​

给照片换底色(python+opencv)猫十二分类基于大模型的虚拟数字人__虚拟主播实例

0f92b28e915ca3cc26cfaaf47c5fc62d.jpeg

5d2b51be3e7e932be95355088e17d524.jpeg

3cf3fe3c1a186bfcbf12d4755b8950ae.jpeg

计算机视觉__基本图像操作(显示、读取、保存)直方图(颜色直方图、灰度直方图)直方图均衡化(调节图像亮度、对比度)

849b7a72434213407c862c8f8e071a22.png

9412a31659ba6db83d806c3f354dd1c0.png

fb29a865f75af8352dca5e3d56a09004.png

语音识别实战(python代码)(一)

 人工智能基础篇

 计算机视觉基础__图像特征

逆境清醒

637c349e8206c0651d1f2751ba128912.png

ce6afe00fdaa41f8aff1cf830e23f1ac.png7364ac22aa4f40899b6d7597ad7d91b6.png

 matplotlib 自带绘图样式效果展示速查(28种,全)

PyCharm 社区版(2024.2.3)安装、配置、创建项目

pycharm汉化插件无法使用也无法卸载的解决方法

ec9793633e16de7b52fbf0b74ecfa2f3.png

1b1579176220a88ae2a53758f91a41d6.pngc97237f650c44d0da960e88c37fc921d.png
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

开源数据科学平台Anaconda简介

最新版本Anaconda 2024.06-1安装设置

6e420cca6a1313b93948785f689f5723.png

1da3f182e081ad8f3cfcf53013909b8b.png

ca733c1a99c6457a762d0e503855ce79.png

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

 Python 3D可视化(一)

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

f92dfeb72ec683025a63db2fe8a26492.png

1b2a866ebb074a1e5859dad42c435d5c.jpeg

8207b63755bf37b10807a046080f14df.png

 python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

python爱心源代码集锦(18款)

b97d56fe7e3ce6234cb182ad86fef4ed.jpeg

6871f222e7db3f8ce83336ad50311c3a.png

b89ed1147e8a76e6c64b812d65e8f2ef.png

 Python中Print()函数的用法___实例详解(全,例多)

 Python函数方法实例详解全集(更新中...)

 《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

7090a17485b11d9da69e37e5756c6910.png

50313523c8c19f29270fb1110fe66ae9.png

用代码过中秋,python海龟月饼你要不要尝一口?

 python练习题目录

4c77c7a60782637db9e27b3deec7abee.png

c397ed3a22c7885194eb92b5b3883322.png

a18fbd27f15eaa98f0bb5a4fed8cbd8b.png

草莓熊python turtle绘图(风车版)附源代码

 ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

 ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

36e2af3bf474c59b9c430b223417793b.png

542dbf91cfafa23e1ccdee94a7b22397.png

175f4dd5b5bb4e46915f57c9f853f001.jpeg

 巴斯光年python turtle绘图__附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

【中秋月饼系列】2024年立体月饼新鲜出炉----python画月饼(1)附完整代码

逆境清醒

68b0f4704053ab870c16bb4e37897d63.png

25ff4b8d741f0942c50dd96b7e866386.jpeg

59bb0955631256520f0edd17f8304669.jpeg

 Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

2025年1月多家权威机构____编程语言排行榜__薪酬状况

7dda70990181a20a430cc7b13dc9d8aa.png​​

a1fea2de0187913a4cdb18473c512c55.png

96e1df3760ce3017026da2d1de069869.png

 手机屏幕坏了____怎么把里面的资料导出(18种方法)

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

 查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

逆境清醒

cc75265b98b9475cb68deece4f3def19.png

用代码画万圣节南瓜(python,MATLAB,html css)

8fe676a8d0404267af522df861a0a904.gif

CSS3 动画相关属性实例大全

49148faa34d949e999b8f0976a1fa8cb.png

CSS @规则(At-rules)系列详解

fa753f11d26d967646a85b78b53dc703.png

71e3b727d1634951aeed4e66cc536fe1.jpega1632ea3af784e47a1673144e360272e.gif
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

圣诞节系列代码专辑(目录)

Markdown 语法详解大全(超级版)

4290a52c20eee861ee159e17659342f5.png

b126b976989a1e4f1ae40867407e8f4d.png

15f065b7e46b238db1e7382f70fd7076.png

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

 别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套)

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

f3a00b9bf85e8d36c21d8e9785f43a53.png

1f143789d9652fd35c1fabf11b6f149c.png

2c8047a9f87aa22a8abe57ad0081b1d9.png

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

 2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

逆境清醒

a01e7c6663c27936b3c174265db14012.png

6d12eed561af36157625a07b771f9b0b.png

af9dcebc4110cf5b9a012a3ef7d268fe.png

 tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

 Tomcat端口配置(详细)

 Tomcat 启动闪退问题解决集(八大类详细)

逆境清醒

987cd5bf2ecef39fd782b5d64f0c3cbf.png7bd749109565caaad3799224fad815a4.jpeg

信息系统项目管理师试题

云计算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959028.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚拟机安装macOS11

1.安装虚拟机 如果尚未安装虚拟机,请先进行安装。地址:VMware17下载地址​​​​​​ 2、下载苹果镜像文件 macOS Big Sur 11.0.1 (20B29) 3、下载unlock文件(目的是开启VMware的macOS选项功能) https://download.csdn.net/d…

探究 Facebook 隐私安全发展方向,未来走向何方?

随着社交媒体的普及,隐私和数据安全问题成为了全球关注的焦点。Facebook,作为全球最大的社交平台之一,其隐私安全问题尤其引人注目。近年来,随着用户数据泄露事件的不断发生,Facebook 不断调整其隐私政策,探…

jQuery阶段总结(二维表+思维导图)

引言 经过23天的学习,期间有期末考试,有放假等插曲。本来应该在学校里学习,但是特殊原因,让回家了。但是在家学习的过程,虽然在学,很让我感觉到不一样。但是效果始终还是差点的,本来17、18号左右…

LabVIEW太阳能照明监控系统

在公共照明领域,传统的电力照明系统存在高能耗和维护不便等问题。利用LabVIEW开发太阳能照明监控系统,通过智能控制和实时监测,提高能源利用效率,降低维护成本,实现照明系统的可持续发展。 ​ 项目背景 随着能源危机…

Golang Gin系列-8:单元测试与调试技术

在本章中,我们将探讨如何为Gin应用程序编写单元测试,使用有效的调试技术,以及优化性能。这包括设置测试环境、为处理程序和中间件编写测试、使用日志记录、使用调试工具以及分析应用程序以提高性能。 为Gin应用程序编写单元测试 设置测试环境…

Spring Boot 邂逅Netty:构建高性能网络应用的奇妙之旅

一、引言 在当今数字化时代,构建高效、可靠的网络应用是开发者面临的重要挑战。Spring Boot 作为一款强大的 Java 开发框架,以其快速开发、简洁配置和丰富的生态支持,深受广大开发者喜爱。而 Netty 作为高性能、异步的网络通信框架&#xff…

科普篇 | “机架、塔式、刀片”三类服务器对比

一、引言 在互联网的世界里,服务器就像是默默运转的超级大脑,支撑着我们日常使用的各种网络服务。今天,咱们来聊聊服务器家族中的三位 “明星成员”:机架式服务器、塔式服务器和刀片式服务器。如果把互联网比作一座庞大的城市&…

中民集团张敏海为国际和平发展和国际经贸合作增添更多活力

中民集团生物科技有限公司总经理、中国战略与管理研究会志愿军研究会会长助理张敏海,受韩国GSL集团和潘基文基金会的邀请,在韩国济州岛,与前联合国秘书长、海南博鳌论坛理事长潘基文先生,澳洲大使、潘基文助理、GSL集团总顾问金奉…

2025年国产化推进.NET跨平台应用框架推荐

2025年国产化推进.NET跨平台应用框架推荐 1. .NET MAUI NET MAUI是一个开源、免费(MIT License)的跨平台框架(支持Android、iOS、macOS 和 Windows多平台运行),是 Xamarin.Forms 的进化版,从移动场景扩展到…

数据库SQLite和SCADA DIAView应用教程

课程简介 此系列课程大纲主要包含七个课时。主要使用到的开发工具有:SQLite studio 和 SCADA DIAView。详细的可成内容大概如下: 1、SQLite 可视化管理工具SQLite Studio :打开数据库和查询数据;查看视频 2、创建6个变量&#x…

Redis vs. 其他数据库:深度解析,如何选择最适合的数据库?

一、如何为项目选择合适的数据库? 选择合适的数据库是一个复杂的过程,需要综合考虑多个因素。下面几个维度来详细阐述: 1.数据模型 关系型数据库(RDBMS):适用于高度结构化、关联性强的数据,如电…

c#使用log4Net配置日志文件

1.# 写一个通用类 LogHelper using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using log4net;namespace WindowsFormsApplication22 {public class LogHelper{static ILog mylog LogManager.GetLogge…

2_高并发内存池_各层级的框架设计及ThreadCache(线程缓存)申请内存设计

一、高并发内存池框架设计 高并发池框架设计,特别是针对内存池的设计,需要充分考虑多线程环境下: 性能问题锁竞争问题内存碎片问题 高并发内存池的整体框架设计旨在提高内存的申请和释放效率,减少锁竞争和内存碎片。 高并发内存…

【深入理解FFMPEG】命令行阅读笔记

这里写自定义目录标题 第三章 FFmpeg工具使用基础3.1 ffmpeg常用命令3.1.13.1.3 转码流程 3.2 ffprobe 常用命令3.2.1 ffprobe常用参数3.2.2 ffprobe 使用示例 3.3 ffplay常用命令3.3.1 ffplay常用参数3.3.2 ffplay高级参数3.3.4 ffplay快捷键 第4章 封装与解封装4.1 视频文件转…

5. 马科维茨资产组合模型+政策意图AI金融智能体(Qwen-Max)增强方案(理论+Python实战)

目录 0. 承前1. AI金融智能体1.1 What is AI金融智能体1.2 Why is AI金融智能体1.3 How to AI金融智能体 2. 数据要素&计算流程2.1 参数集设置2.2 数据获取&预处理2.3 收益率计算2.4 因子构建与预期收益率计算2.5 协方差矩阵计算2.6 投资组合优化2.7 持仓筛选2.8 AI金融…

2013年蓝桥杯第四届CC++大学B组真题及代码

目录 1A:高斯日记(日期计算) 2B:马虎的算式(暴力模拟) 3C:第39级台阶(dfs或dp) 4D:黄金连分数(递推大数运算) 5E:前缀…

day1-->day7| 机器学习(吴恩达)学习笔记

一、监督学习(Supervised learning) 给予每一个Input–>对应一个output 1.1:样例: 也就是针对每一个输入样例input,我们都给他制定一个function,使得它有确定的Output映射输出。 1.2:两大监督学习经典样例&…

git Bash通过SSH key 登录github的详细步骤

1 问题 通过在windows 终端中的通过git登录github 不再是通过密码登录了,需要本地生成一个密钥,配置到gihub中才能使用 2 步骤 (1)首先配置用户名和邮箱 git config --global user.name "用户名"git config --global…

15.7k!DISM++一款快捷的系统优化工具

软件介绍 链接 软件介绍 dism是一款由初雨团队开发的win系统优化工具,可当作是微软系统命令行工具dism的GUI版本。可用作系统垃圾清除、启动项管理、程序卸载、驱动管理、系统优化等 该工具个人感觉最重要的就是系统优化选项,它将一些实用、无用或者没…

微信小程序启动小程序APP Page Component创建顺序

之前之后的打印 都是在()之外