OpenCV基本操(IO操作,读取、显示、保存)

这篇具有很好参考价值的文章主要介绍了OpenCV基本操(IO操作,读取、显示、保存)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图像的IO操作,读取和保存方法

1.1 API

cv.imread()

参数:

要读取的图像

读取图像的方式:

cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数 标志: 1

cv.IMREAD*GRAYSCALE :以灰度模式加载图像 标志: 0

cv.IMREAD_UNCHANGED :包括alpha通道(透明通道)的加载图像模式。 标志: -1

可以使用1、0或者-1来替代上面三个标志

1.2显示图像

cv.imshow()

参数:

  1. 显示图像窗口名称,以字符串类型表示
  2. 要加载的图像
    OpenCV基本操(IO操作,读取、显示、保存),OpenCV从入门到精通,python,opencv

注意:在调用图像API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应的情况,并且图像无法显示出来

另外我们也可以使用matplotlib对图像进行展示

  1. 如果读取的是彩色图像(三个通道·)
'''
读取图像的方式:

**cv.IMREAD*COLOR**:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数                    标志:  1

**cv.IMREAD*GRAYSCALE**   :以灰度模式加载图像                            标志:  0

**cv.IMREAD_UNCHANGED**   :包括alpha通道(透明度通道)的加载图像模式。         标志: -1

可以使用**1、0或者-1**来替代上面三个标志
'''
import cv2
import numpy as np
import cv2 as cv

import matplotlib.pyplot as plt

#以灰度图的形式读取图像


img = cv.imread('lena.png')

cv.imshow('image1',img)

cv2.waitKey(0)


#在matplotlib中显示

plt.imshow(img[:,:,::-1])  #图像按BGR顺序存储,显示的时候顺序是RGB通道,所以需要翻转成RGB

plt.show()

OpenCV基本操(IO操作,读取、显示、保存),OpenCV从入门到精通,python,opencv

  1. 如果读取的是灰度图(一个通道)
plt.imshow(img,cmap='gray')   #使用灰度色彩映射显示灰度图像
plt.show()  #显示图像

1.3保存图像

cv.imwrite()

参数:

  1. 文件名,要保存在哪里(注意:要具体到文件名)
  2. 要保存的图像
#保存图像
cv.imwrite(r"E:\All_in\opencv\lena_saved.png",img)

注意事项:
OpenCV是一个强大的图像处理库,可以实现各种图像处理和计算机视觉任务。在使用OpenCV进行IO操作(如读取、显示、保存)时需要注意以下几点:

图像格式与通道数
在进行图像IO操作时,需要了解输入/输出的图像格式和通道数。一般情况下,OpenCV支持常见的图像格式(如灰度图、BGR图、RGBA图等)和通道数(如单通道、三通道、四通道等)。不同的图像格式和通道数对应着不同的读取、显示和保存方式,需要根据实际情况选择相应的IO函数。

文件路径和命名规则
在进行图像IO操作时,需要指定文件路径和命名规则。文件路径用于指定图像文件的存储位置,可以是相对路径或绝对路径;命名规则用于指定图像文件的名称和后缀,常见的包括jpg、png、bmp等。需要注意的是,在指定文件路径和命名规则时应确保合法性,例如避免使用特殊字符和中文命名等问题。

显示窗口和事件处理
在使用OpenCV进行图像显示时,需要创建一个窗口用于显示图像。窗口的创建和命名可以通过特定函数实现,同时还需要设定窗口的大小和位置。另外,在窗口显示图像时需要考虑事件的处理,例如鼠标点击、键盘按键等,需要通过回调函数对事件进行响应。

图像压缩和质量控制
在进行图像保存时,需要考虑图像压缩和质量控制等因素。OpenCV支持多种图像压缩格式,可以通过参数传递来指定压缩格式和压缩比率。同时还可以通过设定图像质量参数来控制保存图像的质量和精度。

内存管理和异常处理
在进行IO操作时还需要考虑内存管理和异常处理。在读取、显示和保存图像时,可能会涉及到大量的内存分配和释放,需要注意防止内存泄漏等问题。另外,在进行IO操作时,也需要注意异常情况的处理,例如文件不存在、读取错误等问题,需要通过异常处理机制进行处理。

综上所述,OpenCV是一个强大的图像处理库,可以实现各种图像处理和计算机视觉任务。在进行IO操作时,需要注意图像格式与通道数、文件路径和命名规则、显示窗口和事件处理、图像压缩和质量控制、内存管理和异常处理等问题。遵循这些注意事项,可以更好地使用OpenCV进行图像IO操作,并实现各种图像处理任务。文章来源地址https://www.toymoban.com/news/detail-693414.html

到了这里,关于OpenCV基本操(IO操作,读取、显示、保存)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【课程介绍】OpenCV 基础入门教程:图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪

    [ 专栏推荐 ] 😃 《视觉探索: OpenCV 基础入门教程》 😄 ❤️【简介】: Opencv 入门课程适合初学者,旨在介绍 Opencv 库的基础知识和核心功能。课程包括图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪等内容。学

    2024年02月16日
    浏览(45)
  • OpenCV实现视频的读取、显示、保存

    目录 1,从文件中读取视频并播放 1.2代码实现 1.3效果展示 2,保存视频 2.1    代码实现 2.2   结果展示 下面将详细介绍如何使用OpenCV实现视频的读取、显示和保存,并解释其原理。 视频读取: 使用OpenCV可以通过 cv2.VideoCapture 类来读取视频文件。该类提供了一系列方法用于操

    2024年02月03日
    浏览(25)
  • QT+opencv【opencv学习篇】OpenCV 读取、显示和保存图像

    目录   一、OpenCV 读取图像 OpenCV 读取函数 参数: 二、OpenCV 显示图像 imshow函数 imshow函数功能 imshow函数原型 三、OpenCV 保存图像 四、结果和代码   OpenCV 允许我们对图像执行多种操作,但要做到这一点,需要读取一个图像文件作为输入,然后我们可以对其执行各种操作。Ope

    2024年02月16日
    浏览(37)
  • Python|OpenCV-读取视频,显示视频并保存视频(3)

    前言 本文是该专栏的第3篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV处理视频的时候,不论是摄像头画面还是视频文件,通常情况下都要使用VideoCapture类来进行每一帧图像的处理。对于OpenCV而言,只要使用视频文件作为参数,它就可以打开视频文

    2024年02月11日
    浏览(32)
  • OpenCV学习之视频读取与帧的提取、显示及保存

    OpenCV支持从摄像头或视频文件(AVI)中抓取图像并保存为另一视频文件. 一、 从摄像头获取初始化: 从视频文件filename.avi获取初始化: 抓取帧: 要从多个摄像头同时获取图像, 首先从每个摄像头抓取一帧. 在抓取动作都结束后再恢复帧图像. 释放抓取源(和释放单幅图像时类似):

    2024年02月14日
    浏览(33)
  • OpenCV基础操作_图片读取和保存

    目录 1 图片读取 2 图片保存 在OpenCV中,加载图片采用imread()函数。 函数详细说明在:Reading and Writing Images and Video — OpenCV 2.4.13.7 documentation Python:   cv2. imread (filename[, flags])  函数功能: imread 功能是加载图像文件成为一个 Mat 对象。 imread支持的文件类型有: Windows bitmaps

    2023年04月19日
    浏览(76)
  • OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等)

    OpenCV不仅能够处理图像,还能够处理视频 视频是由大量的图像构成的 ,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读取、显示、保存等相关操作。为此

    2024年03月14日
    浏览(34)
  • OpenCV中读取、显示、保存摄像头视频讲解与实战(附Python源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像以固定的时间间隔从视频中获取。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要处理视频,需要先对视频进

    2024年02月05日
    浏览(32)
  • OpenCV基础知识(9)— 视频处理(读取并显示摄像头视频、播放视频文件、保存视频文件等)

    前言: Hello大家好,我是小哥谈。 OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读

    2024年02月11日
    浏览(45)
  • Python Opencv实践 - 基本图像IO操作

       

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包