
Opencv学习(一)——图片的加载显示和保存
发布日期:2021-05-07 22:56:12
浏览次数:24
分类:精选文章
本文共 1132 字,大约阅读时间需要 3 分钟。
图片的加载与显示
在OpenCV中,图片的加载与显示是基本操作之一。程序员可以通过cv2.imread()
函数来读取图片文件,这个函数接受两个参数:第一个是图片的路径,第二个是读取方式。读取方式有三种:
cv2.IMREAD_COLOR
:默认参数,用于读取彩色图片,直接传递1即可。cv2.IMREAD_GRAYSCALE
:用于读取灰度图片,直接传递0即可。cv2.IMREAD_UNCHANGED
:用于读取包含透明度的图片,可以直接传递-1。
如果不指定读取方式,imread
函数会默认读取原始图片。
一旦加载图片,可以使用cv2.imshow()
函数来显示图片。在imshow()
中,第一个参数是窗口的名字,第二个参数是要显示的图像。
例如:
im = cv.imread('fruit.png') cv.imshow('color image', im) cv.waitKey(0)
运行上述代码会弹出一个窗口,显示图片。按任意键继续。
需要注意的是,图片的显示方式与读取方式有关。例如,使用cv2.IMREAD_GRAYSCALE
读取图片后显示的将是灰度图片,而使用cv2.IMREAD_COLOR
则显示为彩色图片。
cv2.waitKey()函数用法
cv2.waitKey()
函数用于等待键盘事件发生。其参数是等待的时间(以毫秒为单位)。
- 如果时间设为0(
cv2.waitKey(0)
),则程序会在没有用户按键时立即继续执行,适用于等待用户按键。 - 常用场景是在图片显示时,设置
cv2.waitKey(0)
,表示等待用户按任意键继续。
例如:
cv.waitKey(0)
在程序运行时,用户需要按下任意键才能继续执行后续代码。
图像的保存
在OpenCV中,可以使用cv2.imwrite()
函数来保存图片。这个函数接受三个参数:第一个是输出文件名,第二个是要保存的图像数据,第三个是可选的参数,用于控制保存格式和质量。
例如:
cv.imwrite('lena2.jpg', im) # 保存为JPEG格式,质量为95 cv.imwrite('lina_jpeg_quality_90.jpg', im, [int(cv.IMWRITE_JPEG_QUALITY), 90]) # 保存为PNG格式,压缩率为2 cv.imwrite('line_png_compress_2.png', im, [int(cv.IMWRITE_PNG_COMPRESSION), 2])
需要注意的是:
- 对于JPEG格式,第二个参数是质量,数值越高质量越好,默认为95。
- 对于PNG格式,第二个参数是压缩率,数值越大压缩率越高,图片文件越小,默认为0。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年03月31日 01时34分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++中头文件相互包含与前置声明
2019-03-06
JQuery选择器
2019-03-06
MVC中在一个视图中,怎么加载另外一个视图?
2019-03-06
SQL--存储过程
2019-03-06
MVC学习系列5--Layout布局页和RenderSection的使用
2019-03-06
MVC学习系列13--验证系列之Remote Validation
2019-03-06
多线程之volatile关键字
2019-03-06
2.1.4奇偶校验码
2019-03-06
2.2.2原码补码移码的作用
2019-03-06
多线程之Lock显示锁
2019-03-06
ForkJoinPool线程池
2019-03-06
【Struts】配置Struts所需类库详细解析
2019-03-06
Java面试题:Servlet是线程安全的吗?
2019-03-06
DUBBO高级配置:多注册中心配置
2019-03-06
Java集合总结系列2:Collection接口
2019-03-06
Linux学习总结(九)—— CentOS常用软件安装:中文输入法、Chrome
2019-03-06
大白话说Java反射:入门、使用、原理
2019-03-06
集合系列 Set(八):TreeSet
2019-03-06
JVM基础系列第11讲:JVM参数之堆栈空间配置
2019-03-06
MySQL用户管理:添加用户、授权、删除用户
2019-03-06