OpenCV 图片读取、显示和保存基础教程
创作时间:
作者:
@小白创作中心
OpenCV 图片读取、显示和保存基础教程
引用
CSDN
1.
https://blog.csdn.net/weixin_42730667/article/details/102290855
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像处理、计算机视觉和机器学习等领域。本文将介绍OpenCV中图片读取、显示和保存的基本操作,帮助读者快速入门OpenCV图像处理。
读取图片
OpenCV读取图片的核心函数是cv.imread
,其函数原型如下:
retval = cv.imread(filename[, flags])
参数说明:
filename
:必选项,要读取的图片文件名,包括其文件所在的路径。flags
:可选项,默认为cv.IMREAD_COLOR
,用于指定读取图片的方式。
常用的flags
参数有:
cv.IMREAD_COLOR
:读取彩色图片,RGB通道,值为1。cv.IMREAD_GRAYSCALE
:读取灰度图,单通道,值为0。cv.IMREAD_UNCHANGED
:除了读取彩色图片外,还包括alpha通道,值为-1。
OpenCV支持多种图片格式,包括BMP、JPEG、PNG、TIFF等。
Python示例代码
import numpy as np
import cv2 as cv
img = cv.imread(".././datasheet/len_top.jpg",cv.IMREAD_COLOR)
cv.imshow('lenna',img)
C++示例代码
Mat cv::imread(const String & filename, int flags = IMREAD_COLOR)
返回类型为Mat
,flags
参数列表与Python接口类似。
显示图片
在程序运行过程中,经常需要调试和查看算法效果,这时就需要用到图片的显示功能。OpenCV中使用cv.imshow()
函数可以直接把图片显示到屏幕上,其API接口如下:
None = cv.imshow(winname, mat)
参数说明:
winname
:必选项,显示图片的窗口标题。mat
:使用imread
读取到的图片数据。
通常在使用cv.imshow
之后,需要使用cv.waitKey()
函数等待用户输入。waitKey
的参数为毫秒数,表示等待的时间。waitKey(0)
表示无限等待,直到用户按下任意键。
示例代码
cv.imshow('lenna',img)
cv.waitKey(0)
cv.destroyAllWindows()
保存图片
保存图片是图像处理中经常用到的功能,其API原型如下:
retval = cv.imwrite(filename, img[, params])
参数说明:
filename
:要保存的文件名(可以带路径)。img
:图片数据。params
:可选参数,用于设置图片保存的参数,如质量、压缩级别等。
C++接口
bool cv::imwrite(const String & filename, InputArray img, const std::vector<int> & params = std::vector<int>())
对于不同格式的图片,params
参数的含义不同:
- JPEG格式:从0到100的图片质量,默认为95。
- PNG格式:从0到9的压缩级别,默认为3。
- PPM/PGM/PBM格式:二进制格式标志,取值为0或1,默认值是1。
完整示例
import numpy as np
import cv2 as cv
img = cv.imread(".././datasheet/len_top.jpg",cv.IMREAD_COLOR )
cv.imshow('lenna',img)
cv.waitKey(0)
cv.destroyAllWindows()
cv.imwrite('save.png',img)
总结
本文介绍了OpenCV中图片读取、显示和保存的基本操作,这些是图像处理的基础。通过本文的学习,读者可以掌握OpenCV中处理图片的基本方法,为进一步学习图像处理和计算机视觉打下基础。
热门推荐
腊月十六“尾牙节”,牢记:1不出,2要做,3要吃,老传统别忘
Excel批量删除和添加行的多种实用方法
力量训练结束后多久补充蛋白
花窗在现代室内设计中的应用研究
什么是离心泵?型号,工作原理&使用
龙珠 | 悟吉塔:合体战士的三重性格的变幻之谜,三次登场背后的故事有多精彩
波兰签证申请一般多长时间可以出签?
超强台风来袭!香港常见自然灾害及应急措施全攻略
运动后吃什么不长胖?这份食物清单请收好
游戏加速器原理解析:提升游戏速度的神奇工具
如何根据体温变化判断猪病急慢性程度(附临床诊断流程图)
涡轮蜗杆的工作原理,这次终于搞懂了!
自制泡椒(腌小米椒)
一场舌尖上的狂欢:教你在家轻松做出正宗泡椒米线
索尼PS5手柄无障碍项目亮相,助力听障玩家感知游戏音乐的魅力
正确喝水时间表:喝水的8个最佳时间
如何提升聊天回复技巧以优化沟通效果?
中国化学肥料市场深度解析:未来趋势与投资机会
美国留学行李箱尺寸选择指南
如何选择行李箱材料
快船、勇士、灰熊、森林狼谁能突出重围?明日或见分晓?
CPT是什么
低头拍照看手机对视力有影响吗?如何避免视力损害?
攻底操作的要点是什么?这种操作方式的风险如何评估?
潮汐变化对沿海城市基础设施的影响分析
四种常见的美金换人民币途径及注意事项
科普 | 食品安全,关乎你我他
美食爱好者必看全国旅行美食地图,带你吃遍地道美味
MBTI:个性类型评估工具的维度、类型、应用、局限及部分类型特点
如何有效应对生活中的困境并成功“掉头”重新开始?