当前位置: 首页 > news >正文

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

信息系统项目管理师试题

云计算

相关文章:

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

OpenCV imread函数读取图像__实例详解 本文目录: 零、时光宝盒 一、imread函数定义 二、imread函数支持的文件格式 三、imread函数flags参数详解 (3.1)、Flags-1时,样返回加载的图像(使用alpha通道,否…...

激光线扫相机无2D图像的标定方案

方案一:基于运动控制平台的标定 适用场景:若激光线扫相机安装在可控运动平台(如机械臂、平移台、旋转台)上,且平台的运动精度已知(例如通过编码器或高精度步进电机控制)。 步骤: 标…...

【安当产品应用案例100集】034-安当KSP支持密评中存储数据的机密性和完整性

安当KSP是一套获得国密证书的专业的密钥管理系统。KSP的系统功能扩展图示如下: 我们知道商用密码应用安全性评估中,需要确保存储的数据不被篡改、删除或者破坏,必须采用合适的安全方案来确保存储数据的机密性和完整性。KSP能否满足这个需求呢…...

08.七种排序算法实现(C语言)

目录 一.排序的基本概念 1.1 排序的概念 1.2 常见的排序算法 二.常见排序算法的实现 2.1 插入排序(直接) 1.基本思想 2.直接插入排序的特性 3.代码实现 2.2 希尔排序 1.基本思想 2.希尔插入排序的特性 3.代码实现 2.3 选择排序 1.基本思想 2…...

Alibaba Spring Cloud 一 核心组件、特性

Alibaba Spring Cloud 是 Alibaba 基于 Spring Cloud 的分布式微服务解决方案,提供了一套高性能、高可靠的微服务开发和运维工具。它扩展了 Spring Cloud 的功能,并优化了许多在生产环境中的实践场景,例如服务发现、配置管理、熔断限流等。 …...

kafka学习笔记7 性能测试 —— 筑梦之路

kafka 不同的参数配置对 kafka 性能都会造成影响,通常情况下集群性能受分区、磁盘和线程等影响因素,因此需要进行性能测试,找出集群性能瓶颈和最佳参数。 # 生产者和消费者的性能测试工具 kafka-producer-perf-test.sh kafka-consumer-perf-t…...

HQChart使用教程30-K线图如何对接第3方数据45- DRAWRADAR数据结构

HQChart使用教程30-K线图如何对接第3方数据45- DRAWRADAR数据结构 效果图DRAWRADARHQChart代码地址后台数据对接说明示例数据数据结构说明效果图 DRAWRADAR DRAWRADAR是hqchart插件独有的绘制雷达图函数,可以通过麦语法脚本来绘制一个简单的雷达图数据。 雷达图显示的位置固定…...

Java集合学习:HashMap的原理

一、HashMap里的Hash是什么? 首先,我们先要搞清楚HashMap里的的Hash是啥意思。 当我们在编程过程中,往往需要对线性表进行查找操作。 在顺序表中查找时,需要从表头开始,依次遍历比较a[i]与key的值是否相等&#xff…...

ETLCloud在iPaas中的是关键角色?

在当今的数字化时代,企业越来越依赖于其处理和分析数据的能力。为了实现这一目标,企业需要将各种异构的应用和数据源集成在一起,形成一个统一的数据视图。在这一过程中,ETL(Extract, Transform, Load)和iPa…...

Docker Hub 全面解析及应对策略

在现代 DevOps 和容器化应用开发中,Docker Hub 是一个不可或缺的工具。然而,一些地区或企业对 Docker Hub 的访问受到限制,甚至全面禁止。这种现象引发了开发者和运维人员的广泛关注。那么,为什么 Docker Hub 会被禁用&#xff1f…...

第五天 Labview数据记录(5.1 INI配置文件读写)

5.1 INI配置文件读写 INI配置文件是一种简单的文本文件,通常用于存储软件的配置信息。它具有以下作用: 存储软件配置参数方便软件的维护和更新提高软件的灵活性和可扩展性便于用户修改和共享配置 5.1.1 前面板 1)新建项目SaveData_Exampl…...

【算法】经典博弈论问题——巴什博弈 python

目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…...

ES6语法

一、Let、const、var变量定义 1.let 声明的变量有严格局部作用域 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…...

窥探QCC518x-308x系列与手机之间的蓝牙HCI记录与分析 - 耳机篇

上一篇是介绍如何窥探手机端Bluetooth的HCI log, 本次介绍是如何窥探Bluetooth的HCI log-耳机篇. 这次跟QCC518x/QCC308x测试的手机是Samsung S23 Ultra. QCC518x/QCC308x透过HCI界面取得Log教学. 步骤1: 开启QMDE -> 选择ADK r1102 QCC3083 Headset workspace.步骤2: 点…...

ubuntu k8s 1.31

ubuntu 系统 设置 更新源 apt-get upgradeapt upgradeapt update apt-get update释放root sudo passwd root密码su - 密码设置root可以登录 cd /etc/ssh/sshd_config.d && vi ssh.confPermitRootLogin yes PasswordAuthentication yes:wq 保存退出 systemctl resta…...

Prometheus+grafana实践:Doris数据库的监控

文章来源&#xff1a;乐维社区 Doris数据库背景 Doris&#xff08;Apache Doris&#xff09;是一个现代化的MPP&#xff08;Massive Parallel Processing&#xff0c;大规模并行处理&#xff09;数据库&#xff0c;主要用于在线分析处理&#xff08;OLAP&#xff09;场景。 D…...

【豆包MarsCode蛇年编程大作战】花样贪吃蛇

目录 引言 展示效果 prompt提示信息 第一次提示&#xff08;实现基本功能&#xff09; 初次实现效果 第二次提示&#xff08;美化UI&#xff09; 第一次美化后的效果 第二次美化后的效果 代码展示 实现在线体验链接 码上掘金使用教程 体验地址&#xff1a; 花样贪吃蛇…...

企业级流程架构设计思路-基于价值链的流程架构

获取更多企业流程资料 纸上得来终觉浅&#xff0c;绝知此事要躬行 一.企业流程分级规则定义 1.流程分类分级的总体原则 2.完整的流程体系需要体现出流程的分类分级 03.通用的流程分级方法 04.流程分级的标准 二.企业流程架构设计原则 1.流程架构设计原则 流程框架是流程体…...

AI编程工具使用技巧:在Visual Studio Code中高效利用阿里云通义灵码

AI编程工具使用技巧&#xff1a;在Visual Studio Code中高效利用阿里云通义灵码 前言一、通义灵码介绍1.1 通义灵码简介1.2 主要功能1.3 版本选择1.4 支持环境 二、Visual Studio Code介绍1.1 VS Code简介1.2 主要特点 三、安装VsCode3.1下载VsCode3.2.安装VsCode3.3 打开VsCod…...

钉钉群机器人设置——python版本

钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要&#xff0c;很多项目执行程序后出现报错信息无法第一时间收到&#xff0c;因此实时预警对于监控程序还是有必要。&#xff08;仅个人观点&#xff09; 参考文档及博客&#xff1a…...

细说STM32F407单片机电源低功耗StandbyMode待机模式及应用示例

目录 一、待机模式基础知识 1、进入待机模式 2、待机模式的状态 3、退出待机模式 二、待机模式应用示例 1、示例功能和CubeMX项目设置 &#xff08;1&#xff09; 时钟 &#xff08;2&#xff09; DEBUG、LED1、KeyRight、USART6、CodeGenerator &#xff08;3&#x…...

IOS 安全机制拦截 window.open

摘要 在ios环境&#xff0c;在某些情况下执行window.open不生效 一、window.open window.open(url, target, windowFeatures) 1. url&#xff1a;「可选参数」&#xff0c;表示你要加载的资源URL或路径&#xff0c;如果不传&#xff0c;则打开一个url地址为about:blank的空…...

jmeter中对接口进行循环请求后获取相应数据

1、工作中遇到一个场景就是对某个单一接口进行循环请求&#xff0c;并需要获取每次请求后返回的相应数据&#xff1b; 2、首先就在jmeter对接口相关组件进行配置&#xff0c;需要组件有&#xff1a;循环控制器、CSV数据文件设置、计数器、访问接口、HTTP信息头管理器、正则表达…...

【QT】-explicit关键字

explicit explicit 是一个 C 关键字&#xff0c;用于修饰构造函数。它的作用是防止构造函数进行隐式转换。 为什么需要 explicit&#xff1f; 在没有 explicit 的情况下&#xff0c;构造函数可以用于隐式类型转换。这意味着&#xff0c;如果你有一个接受某种类型的参数的构造…...

【深度学习】 自动微分

自动微分 正如上节所说&#xff0c;求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单&#xff0c;只需要一些基本的微积分。 但对于复杂的模型&#xff0c;手工进行更新是一件很痛苦的事情&#xff08;而且经常容易出错&#xff09;。 深度学习框架通过自动…...

字节跳动自研HTTP开源框架Hertz简介附使用示例

字节跳动自研 HTTP 框架 Hertz Hertz 是字节跳动自研的高性能 HTTP 框架&#xff0c;专为高并发、低延迟的场景设计。它基于 Go 语言开发&#xff0c;结合了字节跳动在微服务架构中的实践经验&#xff0c;旨在提供更高效的 HTTP 服务开发体验。 1. 背景介绍 随着字节跳动业务…...

skynet 源码阅读 -- 核心概念服务 skynet_context

本文从 Skynet 源码层面深入解读 服务&#xff08;Service&#xff09; 的创建流程。从最基础的概念出发&#xff0c;逐步深入 skynet_context_new 函数、相关数据结构&#xff08;skynet_context, skynet_module, message_queue 等&#xff09;&#xff0c;并通过流程图、结构…...

每日十题八股-2025年1月23日

1.快排为什么时间复杂度最差是O&#xff08;n^2&#xff09; 2.快排这么强&#xff0c;那冒泡排序还有必要吗&#xff1f; 3.如果要对一个很大的数据集&#xff0c;进行排序&#xff0c;而没办法一次性在内存排序&#xff0c;这时候怎么办&#xff1f; 4.面试官&#xff1a;你的…...

MongoDB部署模式

目录 单节点模式&#xff08;Standalone&#xff09; 副本集模式&#xff08;Replica Set&#xff09; 分片集群模式&#xff08;Sharded Cluster&#xff09; MongoDB有多种部署模式&#xff0c;可以根据业务需求选择适合的架构和部署方式。 单节点模式&#xff08;Standa…...

opencv笔记2

图像灰度 彩色图像转化为灰度图像的过程是图像的灰度化处理。彩色图像中的每个像素的颜色由R&#xff0c;G&#xff0c;B三个分量决定&#xff0c;而每个分量中可取值0-255&#xff0c;这样一个像素点可以有256*256*256变化。而灰度图像是R&#xff0c;G&#xff0c;B三个分量…...