OpenCV基础操作_图片读取和保存
目录
1 图片读取
2 图片保存
1 图片读取
在OpenCV中,加载图片采用imread()函数。
函数详细说明在:Reading and Writing Images and Video — OpenCV 2.4.13.7 documentation
Python:
cv2.
imread
(filename[, flags])
函数功能:
imread 功能是加载图像文件成为一个 Mat 对象。
imread支持的文件类型有:
- Windows bitmaps -
*.bmp, *.dib
(always supported) - JPEG files -
*.jpeg, *.jpg, *.jpe
(see the Notes section) - JPEG 2000 files -
*.jp2
(see the Notes section) - Portable Network Graphics -
*.png
(see the Notes section) - Portable image format -
*.pbm, *.pgm, *.ppm
(always supported) - Sun rasters -
*.sr, *.ras
(always supported) - TIFF files -
*.tiff, *.tif
(see the Notes section)
参数说明:
第一个参数表示图像文件名称;
第二个参数表示加载的图像是什么类型,支持常见的三个参数值。可以直接使用数字来代替(1,0,-1),默认值为IMREAD_UNCHANDED.
- IMREAD_UNCHANDED(<0) 表示加载原图,不做任何改变 , 包括alpha通道,可以直接写-1
- IMREAD_GRAYSCALE(0) 表示把原图作为灰度图像加载进来。
- IMREAD_COLOR(>0) 表示默认参数,读入一副彩色图片,忽略alpha通道
接下来,我们分别用三个Flag加载图片:
import cv2 img = cv2.imread("./1.jpeg")# 打印图像类型
print(type(img))
print(img)cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()
按任意键退出弹出的画面。
原图:
IMREAD_UNCHANDED图如下:
<class 'numpy.ndarray'>
[[[248 201 140][248 201 140][248 201 140]...[244 222 204][244 222 204][244 222 204]][[248 201 140][248 201 140][248 201 140]
......
IMREAD_GRAYSCALE图和打印如下:
<class 'numpy.ndarray'>
[[188 188 188 ... 219 219 219][188 188 188 ... 219 219 219][188 188 188 ... 218 218 218]...[ 41 34 25 ... 121 121 123][ 55 49 41 ... 136 134 135][ 77 70 59 ... 125 126 129]]
IMREAD_COLOR图和打印如下:
<class 'numpy.ndarray'>
[[[248 201 140][248 201 140][248 201 140]...[244 222 204][244 222 204][244 222 204]][[248 201 140][248 201 140][248 201 140]...
2 图片保存
图片保存使用的是imwrite()或是SaveImage()
Python:
cv2.
imwrite
(filename, img[, params])
Python:
cv.
SaveImage
(filename, image)
原函数定义如下:Reading and Writing Images and Video — OpenCV 2.4.13.7 documentation
函数功能:
将mat格式转换为image文件保存,支持的格式和imread一致。
函数参数:
filename:保存的文件名。后缀名将会被自动用来表示标示文件类型。
image:图片数据
parems:表示为特定格式保存的参数编码,它有默认值。参数是以参数对的方式进行设置的。
对于JPEG格式的图片,这个参数表示从0-100的图片质量(CV_IMWRITE_JPEG_QUALITY),默认值是95.
对于PNG格式的图片,这个参数表示压缩级别(CV_IMWRITE_PNG_COMPRESSION)从0-9.较高的值意味着更小的尺寸和更长的压缩时间而默认值是3.
对于PPM,PGM或PBM格式的图片,这个参数表示一个二进制格式标志(CV_IMWRITE_PXM_BINARY),取值为0或1,而默认值为1.
下面保存成jpg的图片看看:
import cv2img = cv2.imread("./1.jpeg")# 打印图像类型
print(type(img))
print(img)cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()cv2.imwrite("demo_output_qd.jpg",img)
cv2.imwrite("demo_output_Q10.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),10])
cv2.imwrite("demo_output_Q100.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),100])
在同级目录下面新增加了3个文件:
比如:CV_IMWRITE_JPEG_QUALITY为10:
而当这个值为100时候:
OpenCV基础操作_图片读取和保存相关推荐
- opencv之中英文路径图片读取与保存
opencv之中英文路径图片读取与保存 关于如何用opecncv读取和写入图片网上已经有很多教程,这里只是记录一下,用的时候方便查找. 1.opencv读写英文路径图片 使用函数imread()和im ...
- 利用Python+opencv进行视频文件的读取和保存,打开笔记本摄像头拍照保存、图像在窗口显示等操作
版权声明:本文为博主原创文章,转载请附源链接 一.视频文件的读取和保存 Opencv中视频的读入是用VideoCapture函数,保存用的是VideoWriter函数.这两个函数支持的视频格式因电脑系 ...
- python视频操作——python实现读取和保存视频
python读取和保存视频 内容来自博客+博客~ 读取视频 用cv2库的好处是返回的就是arrary,不用转换,但这种方法是从头读到尾 利用cv2库读取视频,代码实现如下: import cv2cap ...
- 用c语言实现存储和读取图片文件,C++实现单张图片读取和保存
使用C++实现对单张图片的读取和保存,C语言可以参考,比较简单. #include using namespace std; void main(void) { //保存输入图像文件名和输出图像文件名 ...
- OpenCV基础教程——视频的读取与写入(超详细+附代码)
上一篇文章介绍了OpenCV对于图像的处理方法,然而目前对视频的处理分析越来越成为计算机视觉的主流,视频中包含的信息量要远远大于图片,而本质上视频是由一帧帧的图像组成,所以视频处理最终还是要归结于图像 ...
- R语言学习笔记NO.2 数据处理的基础操作_变量/观测的增改选排
我们先创建一个基础数据框df,用madata记录初始值. 初值备份是一个良好的习惯,这可避免你在误操作后丢失初值. > manager<-c(1,2,3,4,5) > date< ...
- 电脑基础操作_在东莞大朗,学习电脑办公软件,就要找这样的学校!
大朗领航电脑培训学校简介: 大朗领航培训学校成立于2004年,学校环境优雅,设施齐全,师资力量雄厚. 大朗领航办公自动化培训师资介绍: 丰富经验的授课教师,多年办公实操以及教学经验,老师对学员负责,有 ...
- 电脑基础操作_学电脑到万科!怀集万科电脑培训2019全面招生!
招生对象:不限人群,年龄和学历. 适合以下群体: 电脑零基础待业或在职人员 有基础但不熟练, 不具有实际操作经验的人员 想做文职白领的在职或待业人员 正找工作的城乡待业青年 适合于人事.财务管理.设计 ...
- 电脑基础操作_电脑基础操作常识入门必学知识
很多人觉得自己都是电脑高手了,只是很多最基础的知识我们都知道吗? 下面就来看看,这些很简单的计算机入门知识,或许很多操作你都不是很懂哦! 1.重命名文件或者文件夹的方法: 1)选中--右键--重命名 ...
最新文章
- activity使用dialog主题
- Golang访问Redis初体验
- WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则
- python8.3多进程
- VTK:可视化之ScalarVisibility
- python函数和方法概念_第48p,什么是函数?,Python中函数的定义
- 原来竟然还有这种局部变量!
- Datamill 一个开源的框架
- 一个简单的string类,读书看报系列(一)
- 在线点餐外卖系统 毕业设计毕业论文参考(1)功能
- 运行jar文件,jar程序闪退,cmd命令行黑框一闪而过,无法启动jar文件
- 雷军—我十年的程序员生涯
- Scrapy抓站:大批量下载360指定专题下的照片并保存到sql和本地文件夹下
- 华科计算机保研复试题目,2010华科保研复试经验谈
- LoRa 凭什么传的远、信噪比高、误码率低?
- Memory Barriers
- 你想要的继承知识点都在这里
- NestedTensor(DETR)
- mysql ocp 认证 题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第12题)
- 网络安全及安全分析(1)