python_opencv应用系列1:图片读写
opencv的读写非常简单,主要用到的就是imread和imwrite两个函数
读取图片示例
import cv2
#imread(filename[, flags]) -> retval
imgPath = 'E:/test01.jpg' #图片路径
#默认读取的是RGB三色图,得到三维矩阵
img = cv2.imread(imgPath)
#等价于img = cv2.imread('test01.jpg',cv2.IMREAD_COLOR)
#查看图像维数(719,1280,3)
print(img.shape)
#如果选择以灰度模式读入图像,得到二维矩阵
img0 = cv2.imread(imgPath, 0)
#等价于img = cv2.imread('test01.jpg',cv2.IMREAD_GRAYSCALE)
#查看图像维数(719,1280)
print(img0.shape)
PS:使用imread读取图片时,如果图片路程错误,opencv不会报Error,图片矩阵img=None
写图片示例
import cv2
#imwrite(filename, img[, params]) -> retval
imgPath = 'E:/test01.jpg' #图片的写入路径
#图片写入
cv2.imwrite(filename, img)
#第三个参数针对特定的格式:
imgPath = 'E:/test01.jpg'
cv2.imwrite(imgPath, img, [int(cv2.IMWRITE_JPEG_QUALITY),100])
#对于JPEG,其表示的是图像的质量。
#用0-100的整数表示,数值越高质量越高,默认为95。
imgPath = 'E:/test01.png'
cv2.imwrite(imgPath, img, [int(cv2.IMWRITE_PNG_COMPRESSION),9])
#对于PNG,第三个参数表示的是压缩级别。
#从0到9,压缩级别越高,图像尺寸越小,默认级别为3。
#注意,cv2.IMWRITE_JPEG_QUALITY和cv2.IMWRITE_PNG_COMPRESSION类型为Long,必须转换成int。
参考链接:
http://blog.csdn.net/eddy_zheng/article/details/48286735
http://blog.csdn.net/sunny2038/article/details/9057415
python_opencv应用系列1:图片读写的更多相关文章
- Python各类图像库的图片读写方式总结
最近在研究深度学习视觉相关的东西,经常需要写python代码搭建深度学习模型.比如写CNN模型相关代码时,我们需要借助python图像库来读取图像并进行一系列的图像处理工作.我最常用的图像库当然是op ...
- JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动
一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...
- [js高手之路] html5 canvas系列教程 - 图片操作(drawImage,clip,createPattern)
接着上文[js高手之路] html5 canvas系列教程 - 文本样式(strokeText,fillText,measureText,textAlign,textBaseline)继续,本文介绍的 ...
- 【光速使用开源框架系列】图片加载框架ImageLoader
[关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会 ...
- mycat数据库集群系列之mycat读写分离安装配置
最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...
- Bootstrap学习笔记系列5------Bootstrap图片显示
通过添加一下的class来实现bootstrap对图片的支持 img-round 通过border-radius:6px 来获得图片圆角 img-circle 通过border-radius:50%来 ...
- SharePoint Online 创建门户网站系列之图片滚动
前 言 创建SharePoint Online栏目我们之前已经介绍过了,具体就是内容编辑器方式.自带WebPart方式和JavaScript读取后台数据前台做展示的三种: 但是,对于复杂的展示来说,这 ...
- RDLC系列之三 图片显示
一.头像效果
- Bootstrap系列 -- 23. 图片
图像在网页制作中也是常要用到的元素,在Bootstrap框架中对于图像的样式风格提供以下几种风格: 1.img-responsive:响应式图片,主要针对于响应式设计 2.img-rounded:圆角 ...
随机推荐
- vue.js路由嵌套传参
通过配置路由时候按照: path:/user/:username/age/:age 这种就可以把参数传递 接受: $routes.params 接受到的是一个json格式的数据,
- Mybatis学习笔记(五) —— Mapper.xml(输入映射和输出映射)
一.parameterType(输入类型) 1.1 传递简单类型 <!-- 根据用户id查询用户 --> <select id="queryUserById" p ...
- tomcat 修改根路径
修改setting.xml 在 </Host> 正上面 添加 <Context path="/" docBase="/TomExam" deb ...
- C++_了解虚函数的概念
第一.先了解基本概念介绍: 虚函数.多态.继承都是紧密相关的概念.而继承是所有概念的基础: 继承的概念:是面向对象编程的三大特性之一(另外两个是:多态和封装):继承可以使得子类具有父类的属性和方法或者 ...
- 第四章 Appium真机运行测试用例讲解
-----手机自动化之Appium 手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在第二章我们讲到了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例 ...
- 压测工具 ab jmeter
apach ab|abs ab -n -c xxx.html/js/css jmeter siege 用途:测试分布式锁是否有效, 测试java Lock是否使用正确,测试接口吞吐量
- java——修改txt文件中某一行的内容
今天无意间看到java.io中有一个类:RandomAccessFile,可以在文件的任意位置进行读写操作,想到我之前写的一个小项目,想在txt中修改某一行的内容,都是从头遍历txt文件,修改这一行的 ...
- web前端开发道路
https://github.com/z-jingjie/developer-roadmap-zh-CN
- numpy初用
import numpy as np for k,v in stat.iteritems(): print k v.sort() #v = v[len(v)*3/100:len ...
- java && C# 线程
1.多个线程用到同一个资源的话,必须lock 2.为了解决,在竞争的情况下,优先分配资源给A.就是A和B线程都同时在同一时刻需要资源x,然后的话也不清楚系统是具体怎样调度的.或者说怎样调度,都有可 ...