添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
+关注继续查看

读取、显示和写入图像是 图像处理 和计算机视觉的基础。即使裁剪、调整大小、旋转或应用不同的过滤器来处理图像,您也需要首先读取图像。因此,掌握这些基本操作很重要。


1.imread()读取图像


Python



C++



imread()函数


imread(filename,flags)


第一个参数是图像名称,它需要文件的完全限定路径名

第二个参数是一个可选的标志,允许您指定图像的表示方式。OpenCV为该标志提供了几个选项,但最常见的选项包括

1. cv2.IMREAD_UNCHANGED or -1

2. cv2.IMREAD_GRAYSCALE or 0

3. cv2.IMREAD_COLOR or 1

标志的默认值为1,它将在图像中读取为彩色图像。当您想以特定格式阅读图像时,只需指定适当的标志即可。


在这一点上,请注意,OpenCV以BGR格式读取彩色图像,而大多数其他计算机视觉库使用RGB通道格式顺序。因此,当将OpenCV与其他工具包一起使用时,当您从一个库切换到另一个库时,不要忘记交换蓝色和红色通道。


如下面的代码部分所示,我们将首先使用上述所有三个标志值在测试图像中阅读。


Python



C++



Or

Python



C++


2.imshow()在窗口中显示图像


在OpenCV中,您可以使用imshow()函数显示图像。语法如下所示:


imshow(window_name,图像)


此函数还接受两个参数:

要同时显示多个图像,请为要显示的每个图像指定一个新的窗口名称。


imshow()函数旨在与waitKey()和destroyAllWindows() / destroyWindow()函数一起使用。


waitKey()


waitKey()函数是一个键盘绑定函数。

它需要一个参数,即显示窗口的时间(以毫秒为单位)。

如果用户在此时间段内按下任何键,程序将继续。

如果传递0,程序将无限期地等待按键。

您还可以将该功能设置为检测键盘上的Q键或ESC键等特定按键,从而更明确地告诉哪个键将触发哪种行为


destoryAllWindows()


函数destoryAllWindows()会破坏我们创建的所有窗口。如果需要销毁特定窗口,请给出确切的窗口名称作为参数。使用deargetAllWindows()还可以从系统的主内存中清除窗口或图像。下面的代码示例显示了如何使用imshow()函数来显示您读取的图像。


Python


C++

3.imwrite()将图像写入文件目录


最后,让我们讨论如何使用imwrite()函数将图像写入/保存到文件目录中。查看其语法:

imwrite(文件名,图像)


第一个参数是文件名,其中必须包括文件扩展名(例如.png、.jpg等)。OpenCV使用此文件扩展名来指定文件的格式。

第二个参数是您想要保存的图像。如果图像保存成功,该函数返回True。

请查看下面的代码。看看将图像写入磁盘有多简单。只需指定具有适当扩展名的文件名(前面有任何所需的路径)。包括包含图像数据的变量名称,您就完成了。


Python



C++


在数字图像处理中,图像通道是指一个图像中的颜色信息被分离为不同的颜色分量。常见的图像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指将图像分离为红色、绿色和蓝色三个颜色通道,每个通道表示相应颜色的亮度。这种方式是最常见的方式,它对于彩色图像的处理非常重要。