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

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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python图像处理之gif动态图的解析与合成操作详解

    本文实例讲述了Python图像处理之gif动态图的解析与合成操作.分享给大家供大家参考,具体如下: gif动态图是在现在已经司空见惯,朋友圈里也经常是一言不合就斗图.这里,就介绍下如何使用python来解析和生成gif图像. 一.gif动态图的合成 如下图,是一个gif动态图. gif动态图的解析可以使用PIL图像模块即可,具体代码如下: #-*- coding: UTF-8 -*- import os from PIL import Image def analyseImage(path):

  • python数字图像处理实现直方图与均衡化

    在图像处理中,直方图是非常重要,也是非常有用的一个处理要素. 在skimage库中对直方图的处理,是放在exposure这个模块中. 1.计算直方图 函数:skimage.exposure.histogram(image,nbins=256) 在numpy包中,也提供了一个计算直方图的函数histogram(),两者大同小义. 返回一个tuple(hist, bins_center), 前一个数组是直方图的统计量,后一个数组是每个bin的中间值 import numpy as np from s

  • python数字图像处理之高级形态学处理

    形态学处理,除了最基本的膨胀.腐蚀.开/闭运算.黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等. 1.凸包 凸包是指一个凸多边形,这个凸多边形将图片中所有的白色像素点都包含在内. 函数为: skimage.morphology.convex_hull_image(image) 输入为二值图像,输出一个逻辑二值图像.在凸包内的点为True, 否则为False 例: import matplotlib.pyplot as plt from skimage import d

  • Python图像处理之识别图像中的文字(实例讲解)

    ①安装PIL:pip install Pillow(之前的博客中有写过) ②安装pytesser3:pip install pytesser3 ③安装pytesseract:pip install pytesseract ④安装autopy3: 先安装wheel:pip install wheel 下载autopy3-0.51.1-cp36-cp36m-win_amd64.whl[点击打开链接] 执行命令:pip install E:\360安全浏览器下载\autopy3-0.51.1-cp36

  • python使用pil进行图像处理(等比例压缩、裁剪)实例代码

    PIL中设计的几个基本概念 1.通道(bands):即使图像的波段数,RGB图像,灰度图像 以RGB图像为例: >>>from PIL import Image >>>im = Image.open('*.jpg') # 打开一张RGB图像 >>>im_bands = im.g etbands() # 获取RGB三个波段 >>>len(im_bands) >>>print im_bands[0,1,2] # 输出RG

  • python图像处理之反色实现方法

    本文实例讲述了python图像处理之反色实现方法.分享给大家供大家参考.具体如下: 我们先加载一个8位灰度图像 每一个像素对应的灰度值从0-255 则只需要读取每个像素的灰度值A,再将255-A写入 这样操作一遍后,图像就会反色了 这里运行环境为: Python为:Python2.7.6 OpenCV2.4.10版(可到http://sourceforge.net/projects/opencvlibrary/files/opencv-win/下载) numpy为:numpy-1.9.1-win

  • python数字图像处理之高级滤波代码详解

    本文提供许多的滤波方法,这些方法放在filters.rank子模块内. 这些方法需要用户自己设定滤波器的形状和大小,因此需要导入morphology模块来设定. 1.autolevel 这个词在photoshop里面翻译成自动色阶,用局部直方图来对图片进行滤波分级. 该滤波器局部地拉伸灰度像素值的直方图,以覆盖整个像素值范围. 格式:skimage.filters.rank.autolevel(image, selem) selem表示结构化元素,用于设定滤波器. from skimage im

  • Python图像处理之颜色的定义与使用分析

    本文实例讲述了Python图像处理之颜色的定义与使用.分享给大家供大家参考,具体如下: python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪些选颜色. 1.颜色名称的导出 导出代码如下: import matplotlib for name, hex in matplotlib.colors.cnames.iteritems(): print(name, hex) 导出结果如下: names = { 'aliceblue':      

  • python图像处理入门(一)

    一.环境 由于这学期开了图像处理这门课,所以想着在各种实验开始之前自己先动手试一下 图像处理那首先要配个环境嘛,配环境真的是我长久以来的噩梦了,每次都会出现奇奇怪怪的问题,首先上网查找了一下,opencv这个库还是用的比较多的,如果想要使用C++来做图像处理的话,那么使用visual studio搭配opencv是比较常见的,所以就照着网上的教程下载好了vs之后下载了opencv的包,将包导入指定的路径也设置好环境变量之后发现还是不行,怎么办呢?这个时候想到那还不如自己直接用python,一来现

  • python使用TensorFlow进行图像处理的方法

    一.图片的放大缩小 在使用TensorFlow进行图片的放大缩小时,有三种方式: 1.tf.image.resize_nearest_neighbor():临界点插值 2.tf.image.resize_bilinear():双线性插值 3.tf.image.resize_bicubic():双立方插值算法 下面是示例代码: # encoding:utf-8 # 使用TensorFlow进行图片的放缩 import tensorflow as tf import cv2 import numpy

  • Python Image模块基本图像处理操作小结

    本文实例讲述了Python Image模块基本图像处理操作.分享给大家供大家参考,具体如下: Python 里面最常用的图像操作库是Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较强大的,废话补多少,写点记录笔记. 1. 首先需要导入需要的图像库: import Image 2. 读取一张图片: im=Image.open('/home/Picture/test.jpg') 3. 显示一张图片: im.show() 4. 保存图片: im.save("sa

  • python图像处理之镜像实现方法

    本文实例讲述了python图像处理之镜像实现方法.分享给大家供大家参考.具体分析如下: 图像的镜像变化不改变图像的形状.图像的镜像变换分为三种:水平镜像.垂直镜像.对角镜像 设图像的大小为M×N,则 水平镜像可按公式 I = i J = N - j + 1 垂直镜像可按公式 I = M - i + 1 J = j 对角镜像可按公式 I = M - i + 1 J = N - j + 1 值得注意的是在OpenCV中坐标是从[0,0]开始的 所以,式中的 +1 在编程时需要改为 -1 这里运行环境

随机推荐