以下介绍一下重要的几个,设计基本 图片处理 的函数,依次来了解OpenCV的入门知识。具体的具体使用方法还是以官方的API【Official Tutorials】【Python-OpenCV】为准。


imread

图片读取函数。使用方法例如以下

# read image with color
img = cv2.imread("./lena.jpg") # OR read gray image
imgGray = cv2.imread("./lena.jpg", 0) # convert from BGR to GRAY
imgGray2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  • 第一个就是正常的读入一张图片;
  • 第二个加一个flag值,如flag为0。则表示读入一个灰色的图片。相当于。读入正常带彩色通道的图片后。再转化一下。

imwrite

存取图片函数,使用方法例如以下

cv2.imwrite("gray.jpg", imgGray)

非常easy,直接文件名称,加你要存取的图片即可了。

对了,这里的imgGray类型,因为Python中没有类型声明,所以用了几天还不知道是个啥。特意去试了一下。用Python的交互界面,type(imgGray)会输出为 ‘numpy.ndarray’ 的类型。我个人理解,事实上就是图片的矩阵数组。


显示图片

以下的几个函数结合起来用,能够把一张图片显示出来

title = "gray image"
cv2.namedWindow(title, cv2.WINDOW_NORMAL)
cv2.imshow(title, imgGray)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • namedWindow() 是创建一个窗体。WINDOWS_NORMAL这个參数能够不加,可是加了能够使窗体能够调节大小。
  • imshow() 不用说,显示图片用
  • waitKey() 是让窗体暂停一下,等待用户输入才结束。

    否则会一闪而过。

  • destroyAllWindows() 别忘了销毁全部的窗体

完整样例

以下的代码非常easy。就是读取一张图片,转化成灰度图并存储在本地。然后显示出来。

import cv2  

# read image
img = cv2.imread('./1.jpg') # change it to gray image
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # write gray image
cv2.imwrite("gray.jpg", imgGray) title = "gray image"
# create a window
cv2.namedWindow(title, cv2.WINDOW_NORMAL) # show the picture in the window
cv2.imshow(title, imgGray) # wait until any input of user
cv2.waitKey(0) # destroy all window
cv2.destroyAllWindows()

OpenCV入门笔记(二) 图片的文件操作的更多相关文章

  1. 第十二章 Python文件操作【转】

    12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...

  2. OpenCV入门笔记(七) 文字区域的提取

    https://blog.csdn.net/huobanjishijian/article/details/63685503 前面我们已经学了一些OpenCV中基本的图片处理的知识,可以拿来做一些小应 ...

  3. 【opencv学习笔记二】opencv3.4.0组件结构说明

    在学习opencv使用之前我们先来看一下opencv有哪些组件结构.至于OpenCV组件结构的研究方法, 我们不妨管中窥豹,通过opencv安装路径下include目录里面头文件的分类存放,来一窥Op ...

  4. python学习笔记(五)文件操作和集合

    文件基本操作: 现有文件file.txt f=open('file.txt','r')#以只读方式打开一个文件,获取文件的句柄,如果是读的话,r可以不写,默认就是只读:文件不存在时,会报错 first ...

  5. python学习笔记(11)文件操作

    一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  6. Java api 入门教程 之 JAVA的文件操作

    I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...

  7. linux笔记二-----目录及文件命令

    一:目录及文件操作 1.file:识别文件类型 如果是文本文件,会显示ASCII: 如果是执行会显示shell script: 如果链接文件显示链接执行文件等信息 2.touch:改变文件或目录时间. ...

  8. Nodejs学习笔记(4) 文件操作 fs 及 express 上传

    目录 参考资料 1. fs 模块 1.1 读取文件fs.readFile 1.2 写入文件fs.writeFile 1.3 获取文件信息fs.stat 1.4 删除文件fs.unlink 1.5 读取 ...

  9. Python基础入门(9)- Python文件操作

    1.文件的读写 1.1.文件的创建与写入 利用内置函数open获取文件对象 文件操作的模式之写入 文件对象的操作方法之写入保存 1 # coding:utf-8 2 3 import os 4 5 c ...

  10. python学习笔记(八)——文件操作

    在 windows 系统下,我们通过 路径+文件名+扩展名的方式唯一标识一个文件,而在 Linux 系统下通过 路径+文件名唯一标识一个文件. 文件分类:文件主要可以分为文本文件和二进制文件,常见的如 ...

随机推荐

  1. visual studio中使用vim快捷键

    vsvim下载链接: https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim 下载,关闭visual studio ...

  2. MySQL字符集设定与查询

    一.字符集设定 MySQL数据库允许对服务器.数据库.数据表.数据列级别的字符集作出互不影响的设定. 1.对服务器字符集设定是通过配置文件中选项character-set-server 设置,如 ch ...

  3. JDBC-Web项目导入mysql驱动包路径-Eclipse & Myeclipse

    初学JAVA,很多都不懂,开始听老师说导入数据库驱动包的时候是: 右键项目 -> Properties -> Java Build Path -> 右侧选项卡选择Libraries ...

  4. 05 selenium模块

    selenium模块 selenium selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. selenium最初是一个自动化测试工具,而爬虫中使 ...

  5. [MVC]Controller

    1,控制器中所有的动作方法必须声明为public,如声明为private或protected,将不被视为动作方法. 如果将Action声明为private,或者是添加[NonAction]属性,则不对 ...

  6. SQL ROW_NUMBER() 通用分页存储过程

    --提取分页数据,返回总记录数 Create procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varcha ...

  7. CSUOJ 1256 天朝的单行道

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1256 题目大意:     在另一个平行宇宙中,有一个神奇的国度名叫天朝.天朝一共有N个城 ...

  8. POJ 2553 The Bottom of a Graph 【scc tarjan】

    图论之强连通复习开始- - 题目大意:给你一个有向图,要你求出这样的点集:从这个点出发能到达的点,一定能回到这个点 思路:强连通分量里的显然都可以互相到达 那就一起考虑,缩点后如果一个点有出边,一定不 ...

  9. 洛谷P4219 - [BJOI2014]大融合

    Portal Description 初始有\(n(n\leq10^5)\)个孤立的点,进行\(Q(Q\leq10^5)\)次操作: 连接边\((u,v)\),保证\(u,v\)不连通. 询问有多少条 ...

  10. JavaBean映射工具dozer学习

    阅读更多 转载自http://lishaorui.iteye.com/blog/1151513 1.简介     dozer是一种JavaBean的映射工具,类似于apache的BeanUtils.但 ...