OpenCV图像处理常用算法

[opencv完整项目详解] 传统图像算法解决路标的检测和识别 前言: 这是数字图像课程的大作业,老师要求不可以采用深度学习的方法检测和识别特定的路标,只能采用传统的图像算法提取特征从而检测出特定的车牌. 完整代码: #include <iostream> #include <opencv2/opencv.hpp> #include <math.h> using namespace std; using namespace cv; #define PI 3.1415926 struct BGR // 定义BGR结构体 { 阅读详情

一、直方图和滤波器

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图像识别 本文学习图像预处理具体的内容可以分为图像翻转,图像仿射变换,图像色彩空间转换,图像二值化处理,图像掩模,图像位与操作,图像检测轮廓下一篇笔记会对OpenCV图片处理过程与方法有更进一步的讲解,本篇笔记对于单个知识点和混合使用有了初步的了解。 阅读详情

相关推荐

01-OpenCV框架与图像插值算法

OpenCV框架与图像插值算法 文章目录OpenCV框架与图像插值算法一.简介二.算法理论介绍1.最近邻插值算法原理计算公式效果展示图2.双线性插值算法原理计算公式效果展示图3.映射方法向前映射法向后映射法三.基于opencv的python实现总结 一.简介 在图像处理中,平移变换、旋转变换以及放缩变换是一些基础且常用的操作。这些几何变换并不改变图象的象素值,只是在图象平面上进行象素的重新排列。在...

Ray的博客 1503

opencv图像处理基本算法

图像处理基本算法

m0_68142870的博客 2609

基于Python+OpenCV+PyQt5数字图像处理系统

一、项目背景与意义随着数字技术的飞速发展,数字图像处理已成为多个领域不可或缺的一部分,包括医学影像分析、安全监控、自动驾驶等。为满足这些领域对图像处理技术的需求,我们设计了一个基于Python、OpenCV和PyQt5的数字图像处理系统。该系统提供了一个直观的用户界面,使用户能够方便地进行图像加载、处理和保存,同时集成了多种常用的图像处理算法,满足不同应用场景的需求。二、系统设计用户界面设计:使用PyQt5框架设计图形用户界面(GUI),包括菜单栏、工具栏、图像显示窗口、参数设置面板等。

qq1744828575的博客 1227

一文概括常用图像处理算法

本文总结了11种常用的图像处理算法,包含了预处理算法以及检测算法,并介绍了一些常用的开发库。 一、算法(预处理算法、检测算法)在采集完图像后,首先会对图像进行预处理操作。1、图像变换(空域与频域、几何变换、色度变换、尺度变换)2、图像增强3、纹理分析(取骨架、连通性)4、图像分割 5、图像特征 6、图像/模板匹配 7、色彩分析 8、图像数据编码压缩和传输 9、表面缺陷目标识别算法 10、图像分类(识别) 11、图像复原 二、现有的视觉检测软件/库 三、HSV颜色识别-HSV基本颜色分量范围

m0_61899108的博客 4万+

Python的图像处理库(OpenCV,PIL,matplotlib和scikit-image)

  目前接触过的python图像处理代码涉及到多种的图像库,其中最常用的当属opencv和PIL。惭愧的是,以前只是拿来用,却一直迷惑为什么不同的代码会选择不同的图像库、这些图像库的联系和区别又是什么,这些迷惑也迟迟没有解决。现在,我终于要好好整理一下了! Python的图像处理库OpenCV OpenCV   OpenCV是一个开源的计算机视觉库,该项目由Intel发起,采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上,还提供了Python、Ruby、MATLAB以及其他语

迷路的咸鱼的博客 3326

OpenCV图像相似性及相似度比对算法

在做图像处理或者计算机视觉相关的项目的时候,很多时候需要我们对当前获得的图像和上一次的图像做相似性比对,从而找出当前图像针对上一次的图像的差异性和变化点,这需要用到OpenCV中的一些图像相似性和差异性的比对算法。

图灵追幕者博客录 1万+

OpenCV常用的图像处理算法

21、OpenCV常用的图像处理算法有哪些? 答:图像直方图、直方图均衡化、均值滤波、中值滤波、高斯滤波、双边滤波、阈值处理(大津阈值/OTSU阈值)、寻找连通域、查找轮廓、边缘检测(sobel算子、Roberts算子、Canny算子)、图像腐蚀和膨胀、 (1)什么是图像直方图?什么是直方图均衡化? (2)什么是均值滤波/中值/高斯/双边滤波? (3)说一下Canny算子 (4)说一下大津阈值/OTSU阈值 ...

yishuihanq的博客 693

计算机视觉基础知识(十一)--OpenCV算法解析

举例说明:某产品的利润在售价为2元\5元\10元时分别为4元\10元\20元;商品的利润与售价的关系符合直线:y=2x;上述关系中,"2"称为回归系数,即斜率;回归系数表示商品的售价x变动一个单位时,利润y与之对应的变动关系;线性回归表示离散点总体上"最逼近"哪条直线;;这是一个无约束最优化的问题;分别对k和b求偏导,令偏导数为0,可得极值点;;散列函数或散列算法又称哈希函数:Hash Function;一种从任何一种数据中创建小的数字"指纹"的方法;

newsymme的博客 1628

OpenCV常用函数及图像处理常用算法

文章目录学习记录设备环境1.medianBlur(img, img_noise, 3);2.blur(img, img_box_smooth, Size(3,3));3.calculateLightPattern(img_noise);4.去光算法的比较 学习记录 OpenCV常用函数 设备环境 树莓派 3B OpenCV 3.4.1 1.medianBlur(img, img_noise, ...

I_LOVE_MCU的博客 2056

别再只盯着CXL协议了,聊聊CXL.mem里那个能动态调优内存性能的‘QoS遥测’到底怎么用

本文深入解析CXL.mem协议中的QoS遥测功能,探讨如何通过DevLoad指标动态调优内存性能。文章详细介绍了QoS遥测的核心机制、多QoS类别设备的实战配置,以及AI训练、金融交易和视频处理场景中的优化案例,帮助数据中心实现高效内存资源管理。

weixin_33725722的博客 436

电机控制必看!SVPWM谐波优化:5段式与7段式全参数对比测试

本文通过实测数据,对比分析了电机控制中5段式与7段式SVPWM控制算法的谐波性能。实验表明,7段式SVPWM在电流波形质量(THD)和低速性能上更优,而5段式SVPWM则在开关损耗和效率方面表现突出。文章为工程师在不同应用场景(如对噪音、效率或动态响应的侧重)下的算法选型提供了清晰的依据和实用的工程指南。

weixin_28331555的博客 178

openCV图像处理常用算法总结

一、直方图和滤波器 1、直方图:在灰度图中,每个点的像素范围为 0~255 ,密度是具有该值的图像像素数量。 2、色彩均衡:色彩均衡的目的是获得分布更加均匀的直方图。其结果将会导致图像的对比度增加。 3、LUT色彩空间转换表:生成一个256个元素的矩阵,取得要从源空间变换到目标色彩空间的变换函数f(x)。从0到255,对每个数字带入到f(x)中,将得到的结果存入到矩阵中对应的位置。然...

weixin_38278993的博客 1万+

deepfake detection数据集

最全Deepfake数据集总结,包含各个数据集下载链接: https://github.com/deepfakeinthewild/deepfake_in_the_wild Dataset name Download Generate method Deepfake videos Actors Deepfake-TIMIT low download De...

where_is_horse的博客 1万+

Opencv图像处理常用算法方法汇总

在上面的代码中,首先定义了 Sobel 和 Scharr 算子的卷积核。然后将图像转换为 PyTorch 张量,并使用 F.conv2d() 函数应用 Sobel 和 Scharr 算子。最后,通过计算梯度幅值,可以得到最终的梯度图像。需要注意的是,使用 PyTorch 实现 Sobel 和 Scharr 算子时,需要将卷积核转换为 PyTorch 张量,并使用 F.conv2d() 函数进行卷积操作。在 PyTorch 中,可以通过使用卷积操作来实现 Sobel 和 Scharr 算子。

chumingqian的博客 1152

Simulink实战:5步搞定固定翼飞行器六自由度动力学建模(附模型下载)

本文提供了一份详细的Simulink实战指南,通过5个核心步骤手把手教你构建固定翼飞行器的六自由度动力学模型。内容涵盖从顶层架构设计、核心方程手动实现,到模型集成、测试调试及进阶优化的完整流程,旨在帮助航空航天学生和工程师将抽象理论转化为可运行的仿真模型,并附有模型下载。

perl8的博客 634

雷达工程师避坑指南:STAP处理中,间歇采样转发干扰为什么这么难对付?

本文深入解析了STAP处理中间歇采样转发干扰(ISRJ)的挑战与应对策略。通过分析ISRJ的工作机制和自由度消耗问题,结合仿真数据对比,揭示了其与传统压制干扰的本质差异。文章还探讨了在工程实践中如何构建有效的防御体系,包括降维处理技术选择和混合架构设计,为雷达工程师提供了实用的避坑指南。

weixin_30530339的博客 268

图像处理常用算法(C++/OPENCV)

//添加椒盐噪声 void salt(Mat&amp; src,int number) { for (int i = 0; i &lt; number; i++) { int r = static_cast&lt;int&gt;(rng.uniform(0, src.rows)); int c = static_cast&lt;int&gt;(rng.uniform(0, src.c...

thecentury的博客 8842

ANSYS APDL 异类单元连接实战:MPC方法在壳-实体装配中的应用

本文详细介绍了在ANSYS APDL中使用MPC方法实现壳单元与实体单元高效连接的技术要点。通过分析工程仿真中的常见需求,阐述了MPC方法在解决异类单元连接问题上的优势,包括网格独立性、自由度耦合和载荷传递等特性,并提供了具体的APDL命令流操作示例和实用经验技巧。

weixin_33391446的博客 178

图像处理之 opencv 学习---opencv 中的常用算法

http://blog.youkuaiyun.com/lindazhou2005/article/details/1534234 文中有提到鲁棒性 http://blog.youkuaiyun.com/chary8088/article/details/24935559

weixin_33816611的博客 102

23 中望CAD二次开发(ZRX C++)-自定义实体(二)

本文详细介绍了自定义图形实体,如何实现几何变换、捕捉、节点编辑,并介绍了CAD代理的概念。

cilvsuanna的博客 437

用 CDS 作为 Referenced Data Source 开发 SAP Gateway OData 服务,一条更轻的 SEGW 路线

本文介绍了SAP Gateway项目中从传统手工建模到基于CDS View的现代化开发方式转变。主要内容包括: 传统方式需要在SEGW中手动创建Entity Type、Entity Set等元素,并在DPC_EXT中编写大量查询逻辑,存在模型层和业务逻辑重复表达的问题。 7.50版本后,SAP Gateway与ABAP CDS深度集成,可通过SEGW直接引用CDS View作为数据源,自动生成数据模型和SADL读取逻辑,支持完整的OData查询功能。 最佳实践建议通过Consumption View而非直接

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 706

opencv中插值算法详解

导读 做图像处理的同学应该经常都会用到图像的缩放,我们都知道图片存储的时候其实就是一个矩阵,所以在对图像进行缩放操作的时候,也就是在对矩阵进行操作,如果想要将图片放大,这里我们就需要用到过采样算法来扩大矩阵。 如上图所示,左图是原图像矩阵,右图是扩大后的图像矩阵,右图中的橙色点表示的是矩阵扩大之后通过插值算法填充的像素值。所以,这篇文章我们主要探讨的就是如何来通过插值算法来填充像素值 相关函数介...

修炼之路 2万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

基于Qt与OpenCV的数字​​​​​​​图像处理系统

摘要:本课设旨在通过设计一个基于Qt与OpenCV框架实现的数字图像处理系统,以掌握数字信号与图像处理的基本理论和技术。该系统实现了多种常用的图像处理功能,包括裁剪、旋转、亮度、曝光、饱和度、灰度图、对比度、锐化、平滑、直方图均衡化、色温、色调等。此外,还设计了一些高级功能,包括HSL、去雾,曲线调节等。本项目的实验过程不仅帮助我们深入理解了图像处理算法,同时提高了我们使用Qt与OpenCV进行图像处理的实践能力。关键词:Qt,OpenCV,数字图像处理,灰度图,旋转,对比度,锐化,平滑,直方图均衡化,色温

weixin_74969078的博客 1116

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Opencv中文手册PDF下载

Opencv中文手册PDF下载 【下载地址】Opencv中文手册PDF下载 本仓库提供了一个极为实用的资源——OpenCV中文手册PDF,专为图像处理和计算机视觉开发者设计。手册详细介绍了OpenCV库的核心功能、常用算法和接口,适合初学者和进阶者。无论你是刚刚接触OpenCV,还是希望深入掌握其应用,这份手册都能为你提...

gitblog_06745的博客 400

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【图像处理OpenCV(C++版)】——初学OpenCV

通俗易懂OpenCV(C++版)详细教程 【图像处理OpenCV(C++版)】——初学OpenCV

cqy阳的博客 1626

10个图像处理的Python库

无论你是刚开始基本的图像处理还是探索高级机器学习模型,这些库都为广泛的图像处理任务提供了必要的工具。

deephub 1万+
上一篇: Transformer 中的 Encoder 机制
下一篇: OpenCV应用项目——零部件的自动光学检测
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值