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中处理图片的基本方法,为进一步学习图像处理和计算机视觉打下基础。
热门推荐
电动汽车对石油需求和油船市场影响几何?
老法师:“相机防抖?不如我铁手功!”相机防抖真的没多大用吗?
五星级美味!番茄炖牛肉的五种绝妙口味,轻松学会
阿斯伯格综合征的特征及改善措施
人工智能如何创造新菜式
“奥马哈先知” “股神”沃伦·巴菲特投资经验和理念
咽炎比较快的缓解方法
店长们常用到的优化商品结构4个规则与5个步骤
娃的耳朵这种大小不正常,可能是畸形
预算报表中的固定费用与变动费用比例,报表工具如何清晰呈现?
国产芝麻灰(灰麻)花岗岩的主要品种及产区介绍
一念逍遥洞府玩法全攻略
重大突破!中山大学发现SHR-1701联合疗法显著提升结直肠癌治疗效果
身体老没老,年龄说了不算!4个方法自测一下,很多人都不达标!
商业奇才牟其中:从囚徒到亿万富豪的惊世逆袭!
【世界民族源流系列】阿兰人
2024春节旅游“热辣滚烫” 欣欣向荣
青岛旅游攻略:美食与室内动物园全攻略
上证所代表的重要意义与价值
Pi币被官方证实是骗局吗?一文看懂Pi币六大迷思
宝可梦友好度该怎么提升呢?
RAID 5坏了两个硬盘怎么办?处理步骤与预防措施全解析
机动车注册登记流程及提交材料
《完美世界》剧场版点评:一流特效、一流建模、三流的剧情!
项目管理方针有哪些
文斯莫克家族:科技与武力并存的“杰尔马66”
新鲜蚕蛹怎么保存放得久?蚕蛹带壳最佳储存方法
改名字一般申请理由填什么好
高血压人群需要做哪些检查?这几项检查必须做
春联平仄规律及押韵