前言

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() 

参考

1.opencv-python教程-读取/显示/保存图像

opencv-python教程学习系列2-读取/显示/保存图像的更多相关文章

  1. 《Python爬虫学习系列教程》学习笔记

    http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...

  2. [转]《Python爬虫学习系列教程》

    <Python爬虫学习系列教程>学习笔记 http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多. ...

  3. opencv-python教程学习系列7-opencv图像基本操作

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的基本操作,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...

  4. opencv-python教程学习系列3-视频操作

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍视频的获取和保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...

  5. opencv-python教程学习系列8-opencv图像算术运算

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的算术运算,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...

  6. opencv-python教程学习系列6-用滑动条做调色板

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv-python用滑动条做调色板,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...

  7. opencv-python教程学习系列4-opencv绘图函数

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...

  8. opencv-python教程学习系列1-安装库

    前言 以后的项目可能会用到python和opencv进行实现,故准备opencv-python教程学习系列记录学习过程的点滴,这是这一系列的开篇,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...

  9. opencv-python教程学习系列13-图像平滑

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像平滑,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 系统: ...

随机推荐

  1. 会话技术及jsp概述

    一.会话技术 1.概念:在一次会话中共享数据,在web中指,浏览器和服务器的一次通信.包含多次请求,和多次响应. 可以在一次会话的多次请求中共享数据. 2.客户端会话技术:Cookie 将数据保存在客 ...

  2. Java之美[从菜鸟到高手演变]系列之博文阅读导航

    随着博文越来越多,为博客添加一个导航很有必要!本博客将相继开通Java.CloudFoundry.Linux.Ruby等专栏,都会设立目录,希望读者朋友们能更加方便的阅读! 在阅读的过程中有任何问题, ...

  3. RabbitMQ入门_13_消息持久化

    参考资料:https://www.rabbitmq.com/tutorials/tutorial-two-java.html 默认情况下,队列中的消息是不持久化的.如果 RabbitMQ 崩溃,队列中 ...

  4. 安装gcc4.8.5

    安装gcc4.8.51. g++ --version, 4.4.7不支持c++112. 升级gcc-c++, 下载gcc    https://gcc.gnu.org/ 官网,镜像下载地址https: ...

  5. JVM中对象的内存布局与访问定位

      一.对象的内存布局 已主流的HotSpot虚拟机来说,   在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header).实例数据(Instance Data)和对齐填 ...

  6. mysql 视图,事务,存储过程,触发器

    一 视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表.使用视图我们可以把查询过程中的临时表摘出来,保存下来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sq ...

  7. Multi-target tracking by Lagrangian relaxation to min-cost network flow

    Multi-target tracking by Lagrangian relaxation to min-cost network flow high-order constraints min-c ...

  8. zzuli1731 矩阵(容斥)

    1731: 矩阵 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 600  Solved: 106 SubmitStatusWeb Board Descr ...

  9. Leetcode 94

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  10. Authentication failed (rejected by the remote node), please check the Erlang

    官网提供的解决方案 Synchronise Erlang Cookies (when running a manually installedWindows Service) Erlang Secur ...