一、直方图和滤波器

1、直方图:在灰度图中,每个点的像素范围为 0~255 ,密度是具有该值的图像像素数量。

2、色彩均衡:色彩均衡的目的是获得分布更加均匀的直方图。其结果将会导致图像的对比度增加。

3、LUT色彩空间转换表:生成一个256个元素的矩阵,取得要从源空间变换到目标色彩空间的变换函数f(x)。从0到255,对每个数字带入到f(x)中,将得到的结果存入到矩阵中对应的位置。然后,对要处理的图像使用这个表就可以将全部色彩元素对应到相应的色彩空间,这样节省了大量的计算性能。

4、滤波器:这里滤波器我们可以理解为一个矩阵,将这个矩阵在对应的图像上滑过与图像上的每个点做点积运算(这个过程叫做卷积),即对图像进行了处理。滤波器主要分为两种:去噪声滤波器、边缘检测滤波器

1、去噪声滤波器:代表 高斯滤波器、均值滤波器、中值滤波器

高斯滤波器:高斯滤波器是一种线性滤波器,其卷积模板中的系数随着与模板中心的距离增大而减小,相比于均值滤波器,高斯滤波器对整个图像模糊程度较小,能够有效抑制噪声,平滑图像。

均值滤波器:使用相邻像素的平均值来代替原来的像素值,采用线性的方式,对整个图像起到平滑的作用,但也破坏了图像的细节信息,使得图像变得模糊。

中值滤波器:中值滤波器采用非线性的方式,使用卷积模板的中值来代替像素值,适用于处理椒盐噪声。

2、边缘检测滤波器(算子和滤波器的关系点这里查看)

sobel滤波器:Sobel算子是典型的基于一阶导数的边缘检测算子,是离散型的差分算子。

Roberts算子:Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。适用于边缘明显且噪声较少的图像分割。

Canny算子:该算子功能比前面几种都要好,但是它实现起来较为麻烦,Canny算子是一个具有滤波,增强,检测的多阶段的优化算子,在进行处理前,Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声,Canny分割算法采用一阶偏导的有限差分来计算梯度幅值和方向,在处理过程中,Canny算子还将经过一个非极大值抑制的过程,最后Canny算子还采用两个阈值来连接边缘。

二、光学检查、对象分割、检测

1、背景去除算法

①减法 R = L - I:先取一张背景图,然后用包含检测目标的图与背景图做差,剩下的即为检测目标

②除法 R = 255 * (1 - (I / L)):方法同上不过运算时改用除法。

(注:如果无法获取背景,通常我们可以将原图采用图像大小的核的模糊方法,来获取背景)

2、二值化:即将图片分成色彩只有0和255的图像,一般用于灰度图。

3、连通组件:用于分割和识别二进制图像(二值化后的图像),如果两个像素具有相同的值并且他们是邻居则把他们连起来,有四连通、八连通两种形式。

4、查找轮廓:利用像素颜色深度等高线查找轮廓。

三、检测面部部位与覆盖面具

1、haar级联:一个基于haar特征的级联分类器,它是一组弱分类器的串联。(CascadeClassifier OpenCV中的类)

2、积分图像:简单来说就是以原点到各点所构成的矩形的面积做加减运算,从而得到所需要的计算区域的方法。这种方法因为计算公式固定不会受到图像放大或缩小的影响。

四、视频监控、背景建模、形态学操作

1、帧差分:计算当前帧与前一帧之间,以及当前帧与下一帧之间的绝对差值。然后采用这些帧差异并应用按位AND运算符。这一步运算将会突出显示图像中的移动部分。这种方法的主要问题是检测均匀着色的对象它只能检测均匀着色对象的边缘,原因是该对象的很大一部分有这非常低的像素差异。另外一个问题是无法检测对象是否朝相机运动或者远离相机运动。

2、高斯混合法:再每一帧图像的连续收集中每个部分将逐渐成为背景的一部分。如果场景是静态的,则模型会自行调整以确保背景模型被更新。

3、侵蚀:通过剥离图像中所有形状的边界层从而使形状变细的操作。

4、膨胀:通过向图像中所有的形状添加边界层来使形状变粗的操作。

5、形态开口:先侵蚀后膨胀

6、形态闭合:先膨胀后侵蚀

7、获取边界:获取膨胀和侵蚀之间的差异来获取

8、礼貌变换:输入图像与形态开口之间的差异。

9、黑帽变换:形态闭合与输入图像之间的差异。

五、对象跟踪

HSV:一种色彩空间,H色值,S饱和度,V明度

meanshift:当我们希望追踪一个感兴趣区域(ROI)时,在这个区域,我们根据颜色直方图选择若干点,并计算空间图心,如果图心位于该区域中心我们就知道这个对象没有移动,如果图心不在这个区域中心,我们就知道这个对象在某个方向移动了。它的问题是不允许改变边界框的大小。

CAMShift:在meanshift的基础上可以使边界适应对象的大小。选择好对象以后计算该对象的直方图反投影(一种识别图像与直方图模型匹配程度的方法)并提取所有信息。a、计算特定对象的直方图模型。b、使用这个模型在图像中找到该事物。

兴趣点:在计算机视觉中也被称为特征点,或者特征。兴趣点基本上是图像中唯一检测到的到东西。

Harris角点检测:要确定一块区域是否有一个角点,考虑所有的相邻区域并计算所有相邻区域的强度差异。如果在所有方向的差异都很大,那么我们就知道该区域有一个角点。

流光跟踪:稠密流光跟踪(Lucas-Kanade)、稀疏流光跟踪(Farneback)(算法详解)

图片来源:

https://zhuanlan.zhihu.com/p/111142437

https://zhuanlan.zhihu.com/p/56728333

openCV图像处理常用算法总结相关推荐

  1. fpga图像处理------常用算法(二)

    图像处理的常用算法: 畸变校正 List item Hue/Sat map 色相(3D LUT ) color manipulation 颜色处理(3D LUT) ae - 自动曝光统计 (支持统计选 ...

  2. OpenCV图像处理常用手段

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 图像二值化操作 两种方法,全局固定阈值二值化和局部自适应阈值二值化 ...

  3. opencv图像处理常用函数

    扩充四边形: x1, y1, x2, y2, track_id = valuewidth_crop,height_crop = x2-x1,y2-y1x1_new = int(max(0, x1 - ...

  4. opencv图像处理常用完整示例代码总结

    显示图像 #include "StdAfx.h" #include <string> #include <iostream> #include <op ...

  5. OpenCV图像处理--常用图像拼接方法

    OpenCV常用图像拼接方法(一) :直接拼接 vconcat()-垂直方向拼接,要求待拼接图像有相同的宽度: hconcat()-水平方向拼接,要求待拼接图像有相同的高度. 使用vconcat()和 ...

  6. opencv图像处理基本算法

    opencv基础功能 一.提取单通道颜色 1.首先是opencv的ROI功能,就是只取图像一部分通道的颜色.我们知道所有的图片都是由三原色(红,绿,蓝)这三个通道构成的,如果我们只想要一个颜色通道的效 ...

  7. opencv图像处理之K-means聚类算法

    opencv图像处理之K-means聚类算法 opencv图像处理之K-means聚类算法 kmeans算法过程与简单的理解 基于Opencv的c++代码 opencv图像处理之K-means聚类算法 ...

  8. 【OpenCV图像处理入门学习教程六】基于Python的网络爬虫与OpenCV扩展库中的人脸识别算法比较

    OpenCV图像处理入门学习教程系列,上一篇第五篇:基于背景差分法的视频目标运动侦测 一.网络爬虫简介(Python3) 网络爬虫,大家应该不陌生了.接下来援引一些Jack-Cui在专栏<Pyt ...

  9. OpenCV图像处理算法——7(《Contrast image correction method》 论文阅读及代码实现)

    <Contrast image correction method> 论文阅读及代码实现 以下内容大部分引自:https://cloud.tencent.com/developer/art ...

最新文章

  1. 深度学习 | 三个概念:Epoch, Batch, Iteration
  2. python import出错_Python ImportError: cannot import name urlopen错误分析
  3. cisco 2600的密码破解
  4. CSS中margin和padding的区别
  5. 有没有朋友可以帮我解释一下贴水是什么意思?
  6. switch case 支持的 6 种数据类型
  7. Spring boot Mybatis 整合(注解版)
  8. 解决sourceTree的git clone 报SSH密钥认证失败的问题
  9. 百度Apollo开通上海自动驾驶示范路线 落地第5城
  10. python中文字符串排序问题_Python字符串排序
  11. php模块出现警告,PHP警告:模块已在第0行的Unknown中加载
  12. DB2 SQLCODE=-803,SQLSTATE=23505,SQLERROR=1
  13. 适合 Java 新手的开源项目集合——在 GitHub 学编程
  14. 通过电脑从Ovi商店下载软件并安装
  15. 有道词典生词本到excel的装换
  16. Apple MDM 开发
  17. 第一章概述-------第一节--1.1计算机网络在信息时代中的作用
  18. kubernetes-----pod资源创建与Harbor私有仓库
  19. 蓝桥 卷“兔”来袭编程竞赛专场-05棋盘加密 题解
  20. 最常见的开源游戏引擎_拔剑-浆糊的传说_新浪博客

热门文章

  1. Android开发——Java基础(2)
  2. unity笔记,如何做一个帅气的大招过场动画。
  3. 19E The Suspects
  4. [codeforces 1358B] Maria Breaks the Self-isolation 叫上所有伙伴 (自小到大排序+逆序处理)
  5. 百度发布AI操作系统和家用机器人,它能成为中国的Echo吗?
  6. 在VS中利用配置文件连接数据库
  7. char数组的默认值
  8. 第53届全球生态旅游大使参赛佳丽备战世界总决赛
  9. 常用oid节点_Oid配置、解析方法、ors客户端、oid节点及其数据库的制作方法_4
  10. php mongodb oid,MongoDB $oid vs ObjectId