opencv-python教程学习系列2-读取/显示/保存图像
前言
opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取、显示以及保存,坚持学习,共同进步。
系列教程参照OpenCV-Python中文教程;
系统环境
系统:win_x64;
python版本:python3.5.2;
opencv版本:opencv3.3.1;
内容安排
1.知识点介绍;
2.测试代码;
具体内容
1.知识点介绍;
1.1 读取图像;
cv2.imread(文件名, 标记),其中cv2.IMREAD_COLOR/1读取彩色图像,cv2.IMREAD_GRAYSCALE/0以灰度模式读取图像;
import cv2
import numpy as np
#读入图像,cv2.IMREAD_COLOR/1或者cv2.IMREAD_GRAYSCALE/0;
img = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)
1.2 显示图像cv2.imshow();
* cv2.waitKey()等待键盘输入,为毫秒级;
* cv2.destroyAllWindows()可以轻易删除任何我们建立的窗口,括号内输入想删除的窗口名;
其中,可以先创建一个窗口,再加载图像,这种情况可以决定窗口是否可以调整大小,使用到cv2.namedWindow()函数。初始设定函数标签是cv2.WINDOW_AUTOSIZE,调整窗口大小的标签是cv2.WINDOW_NORMAL。当图像维度太大或者需要添加轨迹条时,调整窗口大小将会非常有用。
1.3 保存图像cv2.imwrite(保存的文件名,要保存的图像变量 );
2.测试代码;
import cv2
import numpy as np
img = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)#读入图像,cv2.IMREAD_COLOR/1或者cv2.IMREAD_GRAYSCALE/0;
#可先创建窗口再加载图像,其中cv2.WINDOW_NORMAL可调整窗口大小,cv2.WINDOW_AUTOSIZE是初始设定函数标签;
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)#显示图像
k = cv2.waitKey(0)#等待键盘输入,为毫秒级
if k == 27:
#wait for ESC key to exit
cv2.destroyAllWindows()#可以轻易删除任何建立的窗口,括号内输入项删除的窗口名
elif k == ord('s'):#wait for 's' key to save and exit.
cv2.imwrite('test_gray.png', img)#保存图像
cv2.destroyAllWindows() #matplotlib绘图库显示图像
from matplotlib import pyplot as plt
plt.imshow(img, cmap='gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])#to hide tick values on X and Y axis
plt.show()
参考
完
opencv-python教程学习系列2-读取/显示/保存图像的更多相关文章
- 《Python爬虫学习系列教程》学习笔记
http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...
- [转]《Python爬虫学习系列教程》
<Python爬虫学习系列教程>学习笔记 http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多. ...
- opencv-python教程学习系列7-opencv图像基本操作
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的基本操作,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...
- opencv-python教程学习系列3-视频操作
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍视频的获取和保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...
- opencv-python教程学习系列8-opencv图像算术运算
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的算术运算,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...
- opencv-python教程学习系列6-用滑动条做调色板
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv-python用滑动条做调色板,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...
- opencv-python教程学习系列4-opencv绘图函数
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...
- opencv-python教程学习系列1-安装库
前言 以后的项目可能会用到python和opencv进行实现,故准备opencv-python教程学习系列记录学习过程的点滴,这是这一系列的开篇,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...
- opencv-python教程学习系列13-图像平滑
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像平滑,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 系统: ...
随机推荐
- meta 标签
<meta http-equiv="Refresh" content="5;url=http://www.w3school.com.cn" /> & ...
- const 学习笔记
#include<stdlib.h> #include<iostream> using namespace std; int main(){ // const 仅仅起到是否为常 ...
- 如何将新项目添加到github仓库中?只需简单几步~即可实现
问题描述:新建了一个项目,如何将其设置为git项目?如何关联到github上的仓库? 只需简单几步,但前提是需要已经安装好了git,并且有github账户 本文使用IntelliJ IDEA 其他编辑 ...
- Django MySQL数据库操作
上一篇文章写了一些基本的Django操作,下面重点介绍数据库的内容. 对象之间的关系: 一对一 一对多 多对多 1.一对多 先演示一对多的关系,多个blog对应一个名字, 修改blog/models. ...
- 30 进程process
进程模块 process Process([group [, target [, name [, args [, kwargs]]]]]),由该类实例化得到的对象,表示一个子进程中的任务(尚未启动) ...
- Lunar New Year and Red Envelopes CodeForces - 1106E (dp)
大意: 总共$n$的时间, $k$个红包, 红包$i$只能在时间$[s_i,t_i]$范围内拿, 并且拿完后时间跳到$d_i+1$,Bob采用贪心策略,每个时间点若有红包能取则取钱数$w_i$最大的, ...
- 最小生成树(模板 Kruskal)
Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达 ...
- UVALive 5881
DES:给出一个数列.然后有q个询问,对给定的区间内是否有重复的数.如果有输出任意一个重复的.如果没有输出OK. 开始以为是线段树.后来发现.只是水的比较隐蔽.感觉这个方法还是很聪明的.把每个点的最近 ...
- Linux WiFi Deauthenticated Reason Codes
Code Reason Explanation 0 Reserved Normal working operation 1 Unspecific Reason We don’t know what’s ...
- 8 标准库C文件
使用标准C库时,下面哪个选项使用只读模式打开文件. A fopen("foo.txt","r");//r 打开只读文件 B fopen("foo.tx ...