OpenCV入门笔记(二) 图片的文件操作
以下介绍一下重要的几个,设计基本 图片处理 的函数,依次来了解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入门笔记(二) 图片的文件操作的更多相关文章
- 第十二章 Python文件操作【转】
12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...
- OpenCV入门笔记(七) 文字区域的提取
https://blog.csdn.net/huobanjishijian/article/details/63685503 前面我们已经学了一些OpenCV中基本的图片处理的知识,可以拿来做一些小应 ...
- 【opencv学习笔记二】opencv3.4.0组件结构说明
在学习opencv使用之前我们先来看一下opencv有哪些组件结构.至于OpenCV组件结构的研究方法, 我们不妨管中窥豹,通过opencv安装路径下include目录里面头文件的分类存放,来一窥Op ...
- python学习笔记(五)文件操作和集合
文件基本操作: 现有文件file.txt f=open('file.txt','r')#以只读方式打开一个文件,获取文件的句柄,如果是读的话,r可以不写,默认就是只读:文件不存在时,会报错 first ...
- python学习笔记(11)文件操作
一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- linux笔记二-----目录及文件命令
一:目录及文件操作 1.file:识别文件类型 如果是文本文件,会显示ASCII: 如果是执行会显示shell script: 如果链接文件显示链接执行文件等信息 2.touch:改变文件或目录时间. ...
- Nodejs学习笔记(4) 文件操作 fs 及 express 上传
目录 参考资料 1. fs 模块 1.1 读取文件fs.readFile 1.2 写入文件fs.writeFile 1.3 获取文件信息fs.stat 1.4 删除文件fs.unlink 1.5 读取 ...
- Python基础入门(9)- Python文件操作
1.文件的读写 1.1.文件的创建与写入 利用内置函数open获取文件对象 文件操作的模式之写入 文件对象的操作方法之写入保存 1 # coding:utf-8 2 3 import os 4 5 c ...
- python学习笔记(八)——文件操作
在 windows 系统下,我们通过 路径+文件名+扩展名的方式唯一标识一个文件,而在 Linux 系统下通过 路径+文件名唯一标识一个文件. 文件分类:文件主要可以分为文本文件和二进制文件,常见的如 ...
随机推荐
- visual studio中使用vim快捷键
vsvim下载链接: https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim 下载,关闭visual studio ...
- MySQL字符集设定与查询
一.字符集设定 MySQL数据库允许对服务器.数据库.数据表.数据列级别的字符集作出互不影响的设定. 1.对服务器字符集设定是通过配置文件中选项character-set-server 设置,如 ch ...
- JDBC-Web项目导入mysql驱动包路径-Eclipse & Myeclipse
初学JAVA,很多都不懂,开始听老师说导入数据库驱动包的时候是: 右键项目 -> Properties -> Java Build Path -> 右侧选项卡选择Libraries ...
- 05 selenium模块
selenium模块 selenium selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. selenium最初是一个自动化测试工具,而爬虫中使 ...
- [MVC]Controller
1,控制器中所有的动作方法必须声明为public,如声明为private或protected,将不被视为动作方法. 如果将Action声明为private,或者是添加[NonAction]属性,则不对 ...
- SQL ROW_NUMBER() 通用分页存储过程
--提取分页数据,返回总记录数 Create procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varcha ...
- CSUOJ 1256 天朝的单行道
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1256 题目大意: 在另一个平行宇宙中,有一个神奇的国度名叫天朝.天朝一共有N个城 ...
- POJ 2553 The Bottom of a Graph 【scc tarjan】
图论之强连通复习开始- - 题目大意:给你一个有向图,要你求出这样的点集:从这个点出发能到达的点,一定能回到这个点 思路:强连通分量里的显然都可以互相到达 那就一起考虑,缩点后如果一个点有出边,一定不 ...
- 洛谷P4219 - [BJOI2014]大融合
Portal Description 初始有\(n(n\leq10^5)\)个孤立的点,进行\(Q(Q\leq10^5)\)次操作: 连接边\((u,v)\),保证\(u,v\)不连通. 询问有多少条 ...
- JavaBean映射工具dozer学习
阅读更多 转载自http://lishaorui.iteye.com/blog/1151513 1.简介 dozer是一种JavaBean的映射工具,类似于apache的BeanUtils.但 ...