Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
- 4440
在使用opencv的方法时,首先必须导入opencv包。新的opencv导入cv2,这里也和cv做了一个对比
- import cv2
一、图像尺寸
图像的大小可以通过其shape属性来获取,shape返回的是一个tuple元组,第一个元素表示图像的高度,第二个表示图像的宽度,第三个表示像素的通道数。
示例:
- if __name__ == '__main__':
- dirfile = 'dataset/data/TrainData/001.bmp'
- img = cv2.imread(dirfile)
- size = img.shape
- print size
运行结果:(800,645,3)
在cv中,是通过size = cv2.GetSize(i)的GetSize()函数来获取的
二、读取图像
在python中不需要声明变量,知道图像的具体位置就可以通过imread()直接读取;目前opencv支持读取bmp、jpg、png等常用的一些格式,更详细的内容请参考opencv的参考文档。读取:
- image = cv2.imread('F:/001.nmp')
cv对应的方法是grey_image = cv2.CreateImage(size, 8, 1)
三、显示图像
首先创建一个新的窗口用于显示图像:
- cv2.namedWindow('showimage')
cv对应的方法是cv.NamedWindow("Shape Model", cv.CV_WINDOW_AUTOSIZE)
然后在窗口中显示图像:
- cv2.imshow("Image",i)
- cv2.waitKey(0)
如果不加cv2.waitKey(0),你们在IDLE中的执行窗口直接无响应,在命令行中执行的时候就会一闪而过。最后一句加上cv2.destroyALLWindows()的话,就能释放窗口了。
cv中cv.ShowImage("Image",i)显示图像,cv.WaitKey()
四、保存图像
- cv2.imwrite(F:/images',image,[int(cv2.IMWRITE_JPEG_QUALITY),5])三个参数分别对应保存的路径及文件名、图像矩阵、指定格式(对于JPEG,其表示的是图像的质量,
- 用0-100的整数表示,默认为95。 注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int;对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,
- 从0到9,压缩级别越高,图像尺寸越小。这个是可选参数)
在原来的opencv中可以直接使用cv.CreateImage()创建图像,但cv2就需要使用numpy的函数了
- import numpy as np
- image = np.zeros(img.shape, np.uint8)
图像使用numpy数组的属性来表示图像的尺寸和提通道信息。
当然也可以直接复制原来的图像到一张新的图像上:
- image = img.copy()
也可以用cvtColor获取原图像的副本:
- image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
Opencv-Python:图像尺寸、图像的读取、显示、保存与复制的更多相关文章
- [OpenCV学习笔记3][图像的加载+修改+显示+保存]
正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...
- python opencv —— io(帧、图像、视频的读取与保存)
0. VideoCapture VideoCapture:构造函数: 常见成员函数: open:打开视频文件,或者捕获视频设备,该函数会首先调用 release() 函数以关闭已打开的文件或设备: P ...
- opencv-python教程学习系列2-读取/显示/保存图像
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取.显示以及保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: ...
- OpenCV Python教程(1、图像的载入、显示和保存)
原文地址:http://blog.csdn.net/sunny2038/article/details/9057415 转载请详细注明原作者及出处,谢谢! 本文是OpenCV 2 Computer ...
- openCV学习——一、图像读取、显示、输出
openCV学习——一.图像读取.显示.输出 一.Mat imread(const string& filename,int flags=1),用于读取图片 1.参数介绍 filename ...
- openCV—Python(2)—— 载入、显示和保存图像
一.函数简单介绍 1.imread-读取图像 函数原型:imread(filename, flags=None) filename:读取的图像路径名:比如:"H:\img\lena.jpg& ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- 在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图
以下代码为在Python3环境下利用OpenCV 抓取摄像头的实时图像, 通过OpenCV的 calHist函数计算直方图, 并显示在3个不同窗口中. import cv2 import numpy ...
- Python下opencv使用笔记(图像频域滤波与傅里叶变换)
Python下opencv使用笔记(图像频域滤波与傅里叶变换) 转载一只程序喵 最后发布于2018-04-06 19:07:26 阅读数 1654 收藏 展开 本文转载自 https://blog ...
随机推荐
- centos 7 min 编译安装php5.6+nginx1.7.5 笔记
1.安装mysql请参照 centos 7 min 编译安装mysql5.6.20 笔记 2.编译安装php5.6+nginx1.7.5 2.1.安装php5.6.0 首先添加依赖应用yum inst ...
- Lua函数[转]
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
- js设置滚动条定位到所属容器的最底部
$('.help-gundongtiao').scrollTop($('.help-gundongtiao')[0].scrollHeight);
- 【JDK】各个版本垃圾收集器
G1收集器(Garbage First)是Java虚拟机中垃圾收集器的一种. G1收集器是Java虚拟机的垃圾收集器理论进一步发展的产物,它与前面的CMS收集器相比有两个显著的改进:一是G1收集器是基 ...
- Python(八)之函数
Python函数 函数作用: (1)代码重用 (2)一种设计工具,分解复杂问题 (3)将相关功能打包并参数化 函数种类: 全局函数:定义在模块中 局部函数:嵌套在其他函数中 lambda函数:表达式 ...
- mybatis批量更新的两种实现方式
mapper.xml文件,后台传入一个对象集合,另外如果是mysql数据库,一点在配置文件上加上&allowMultiQueries=true,这样才可以执行多条sql,以下为mysql: & ...
- redis集群主流架构方案分析
Redis在互联网大数据平台有着广泛的应用,主要被用来缓存热点数据,避免海量请求压垮数据库,同时可以提升服务节点的响应速度和并发量.随着数据量的增多,由于redis是占用单台物理机或虚机的内存,内存资 ...
- 基于jQuery游戏网站焦点图轮播特效
基于jQuery的一款游戏网站焦点图轮播特效.这是一款带进度条定时切换,带缩略图切换的jQuery网站焦点图代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <cente ...
- Python 入门网络爬虫之精华版
Python 入门网络爬虫之精华版 转载 宁哥的小站,总结的不错 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scrapy,这里最后也详细介绍一下. 首先列举 ...
- 【转】mybatis 自增主键配置
mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会遇到的就是Oracle Sequece 和 MySQL 自增主键,至 ...