基于python图像处理API的使用示例


Posted in Python onApril 03, 2020

1.图像处理库

import cv2 as cv
from PIL import *

常用的图像处理技术有图像读取,写入,绘图,图像色彩空间转换,图像几何变换,图像形态学,图像梯度,图像边缘检测,图像轮廓,图像分割,图像去噪,图像加水印以及修复水印等

2.opencv常用的接口

cv.imread()
  读取图片,返回numpy
cv.imwrite()  
  写入图片
cv.cvtColor()  
  图像色彩空间转换
cv.add()
cv.subtract()
cv.multiply()
cv.divide()
cv.applyColorMap()
  减少了运算量,改变图片风格,突出图片特征
cv.bitwise_and(参数1, 参数2)
  逻辑与
cv.bitwise_xor(参数1, 参数2)
  逻辑异或
cv.bitwise_or(参数1, 参数2)
  逻辑或
cv.bitwise_not(参数)
  图像值取反操作
cv.split(src)  
  通道分离
cv.merge(mv)
  通道合并
cv2.inRange(hsv, lower, upper)  
  提取指定色彩范围区域inRange
cv.meanStdDev()  
  均值和标准差
cv.minMaxLoc()
  最大最小值和相应的位置
cv.normalize()
  像素归一化
cv.VideoCapture()
  视频文件
cv.flip(src,flipcode,dst)
  图像翻转
cv.rectangle()  
  矩形
cv.circle()
  圆
cv.ellipse()
  椭圆
cv.calcHist()
  图像直方图
cv.equalizeHist()
  图像直方图均衡化可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率
cv.compareHist()
  图像直方图比较,就是计算两幅图像的直方图数据,比较两组数据的相似性,从而得到两幅图像之间的相似程度
cv.calcBackProject()
  图像直方图反向投影是通过构建指定模板图像的二维直方图空间与目标的二维直方图空间,进行直方图数据归一化之后, 进行比率操作,对所有得到非零数值,生成查找表对原图像进行像素映射之后,再进行图像模糊输出的结果
cv.blur()
  均值图像模糊卷积
cv.GaussianBlur()
  高斯模糊
均值模糊 是卷积核的系数完全一致,高斯模糊考虑了中心像素距离的影响,对距离中心像素使用高斯分布公式生成不同的权重系数给卷积核,然后用此卷积核完成图像卷积得到输出结果就是图像高斯模糊之后的输出
cv.medianBlur()
  中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一
cv.fastNlMeansDenoisingColored()
  非局部均值滤波
cv.bilateralFilter()
  高斯双边模糊,卷积处理实现图像模糊的同时对图像边缘不会造成破坏,滤波之后的输出完整的保存了图像整体边缘(轮廓)信息
cv.pyrMeanShiftFiltering()
  均值迁移模糊,均值迁移模糊是图像边缘保留滤波算法中一种,经常用来在对图像进行分水岭分割之前去噪声,可以大幅度提升分水岭分割的效果
cv.integral()
  图像积分图算法
cv.edgePreservingFilter()
  快速的图像边缘滤波算法
cv.filter2D()
  自定义卷积核来自定义的滤波器
cv.Sobel()
  图像梯度提取算子,梯度信息是图像的最原始特征数据,进一步处理之后就可以生成一些比较高级的特征用来表示一张图像实现基于图像特征的匹配,图像分类等应用
cv.Laplacian()
  拉普拉斯算子更容易受到噪声的扰动,所以经常对要处理的图像首先进行一个高斯模糊,然后再进行拉普拉斯算子的边缘提取,而且在一些场景中会把这两步合并成为一步,就是我们经常听说的LOG算子
cv.convertScaleAbs()
  增强对比度
cv.addWeighted()
  USM锐化增强算法
cv.Canny()
  Canny编边缘检测器,有效的噪声抑制,完整边缘提取能力
cv.pyrUp()
cv.pyrDown()
  图像金字塔
cv.matchTemplate()
  图像模板匹配
cv.threshold()
  二值化
cv.adaptiveThreshold()
  自适应阈值算法
cv.connectedComponents()
  二值图像联通组件寻找
cv.connectedComponentsWithStats()
  二值图像连通组件状态统计
cv.findContours()
  获取二值图像的轮廓拓扑信息
cv.drawContours()
  绘制轮廓
cv.boundingRect()
cv.minAreaRect()
  求取轮廓外接矩形
cv.contourArea()
  轮廓点集计算面积
cv.arcLength()
  计算轮廓曲线的弧长
cv.approxPolyDP()
  图像二值图像的每个轮廓,可以使用轮廓逼近,逼近每个轮廓的真实几何形状,从而通过轮廓逼近的输出结果判断一个对象是什么形状
cv.fitEllipse()
  轮廓点进行拟合,生成一个拟合的圆形或者椭圆
cv.fitLine()
  直线拟合
cv.dilate()
  膨胀可以看成是最大值滤波,即用最大值替换中心像素点
cv.erode()
  腐蚀可以看出是最小值滤波,即用最小值替换中心像素点
cv.getStructuringElement()
  获取结构元素
cv.morphologyEx()
  形态学的操作
  开操作可以删除二值图像中小的干扰块,降低图像二值化之后噪点过多的问题
  操作可以填充二值图像中孔洞区域,形成完整的闭合区域连通组件
  顶帽操作有时候对于我们提取图像中微小部分特别有用
cv.inpaint()
  图像修复
cv.findHomography()
cv.warpPerspective()
  透视变换
cv.kmeans()
  KMeans数据分类
cv.QRCodeDetector()
cv.QRCodeDetector.detectAndDecode()
  二维码检测与识别

3.PIL库接口

Image.fromarray()
  将numpy图像转Image
ImageFont.truetype("china.ttf", size=30)
  加载图像字体库
ImageDraw.Draw()
  绘图
draw.text()
  图像上添加水印

到此这篇关于基于python图像处理API的使用示例的文章就介绍到这了,更多相关python 图像处理API内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
python回溯法实现数组全排列输出实例分析
Mar 17 Python
python实现马耳可夫链算法实例分析
May 20 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
Pandas实现一列数据分隔为两列
May 18 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
python实现图像外边界跟踪操作
Jul 13 Python
解决json中ensure_ascii=False的问题
Apr 03 #Python
基于Python的OCR实现示例
Apr 03 #Python
Python %r和%s区别代码实例解析
Apr 03 #Python
解决flask接口返回的内容中文乱码的问题
Apr 03 #Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 #Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 #Python
python传到前端的数据,双引号被转义的问题
Apr 03 #Python
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php 函数中使用static的说明
2012/06/01 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
prototype1.4中文手册
2006/09/22 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
基于vue的换肤功能的示例代码
2017/10/10 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Python魔法方法功能与用法简介
2019/04/04 Python
基于python实现学生信息管理系统
2019/11/22 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
全球性的在线商店:Vogca
2019/05/10 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
出纳岗位职责模板
2013/11/27 职场文书
数据保密承诺书
2014/06/03 职场文书
中国梦口号
2014/06/13 职场文书
社区好人好事材料
2014/12/26 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书