自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++实现带语法检查的数学算式计算器

此为参加某竞赛时,利用C/C++实现的数学算式计算器项目。程序主要实现了以下三个步骤:1.数学算式括号配对情况及语法检查。2.数学算式结果运算。3.一些常见函数的编程实现(如三角函数,反三角函数,幂指函数等)。

2024-02-20 13:15:38 735 1

原创 深度估计berHu损失函数和语义分割带权值交叉熵损失函数

深度估计berHu损失函数和带权重的交叉熵损失函数

2023-04-01 21:51:05 589

原创 OpenCV实现按指定间隔抽取视频中的图像帧

习惯了C++语言的OpenCV突然用Python语言OpenCV还是感觉有点不适应,但是慢慢在写的过程中,觉得Python语言的风格也挺美的(但自己的写的还是很丑…),晚上回宿舍的剩余时间,记录一下最近用PythonOpenCV实现的视频抽帧小工具。

2022-09-22 09:34:22 3855 1

原创 目标检测学习1——iou计算与非极大值抑制NMS

IOU计算和目标检测中非极大值抑制算法(NMS)

2022-09-06 16:42:04 1392 1

原创 OpenCV综合练习2——扑克牌(文本)校正

多视角下,存在圆角的文本校正

2022-08-15 23:37:42 1755

原创 OpenCV综合练习1——水瓶水位线合格检测

马上就要转到学习深度学习的主干线了,这也是大势所趋,但不能忘本,传统图像处理的知识也是非常重要的,特此记录一下之前学习时做过的小练习。整个项目的资源放在:水瓶水位线合格检测题目来源于冈萨雷斯《数字图像处理》第11章练习题11.38,最终要解决的就是判断瓶中水量是否达到液位标准,液位标准就是瓶颈底部和肩部之间的中点。肩部是瓶子侧面与瓶子倾斜部分的交点。所以要解决的问题主要有以下几点:这个练习很简单,整个过程只使用VS2019+OpenCV4.20,有兴趣的小伙伴可以去尝试一下。图像读入时是三通道的,需要将原图

2022-06-17 18:14:58 3659 7

原创 OpenCV实现傅里叶描述子(下): 形状特征提取

简述在前面的更新中 OpenCV实现傅里叶描述子(上): 边界重建 有简单介绍了一下傅里叶描述子的内容,并利用边界的傅里叶描述子对其进行重建,使边界变得更加的平滑。但傅里叶描述子还是以其作为图像中形状的特征点得到广泛应用,例如手势识别,字符识别等。常见的形状描述子有链码,傅里叶描述子和Hu不变距等,前二是基于形状轮廓的,Hu不变距是基于形状区域的,通常的形状特征描述子需要具有平移、缩放、旋转不变性,但是直接傅里叶变换得到的描述子与形状的尺度,方向,和曲线的起点位置是有关的,因此需要对傅里叶描述子进行处理

2022-05-25 19:21:04 2045 2

原创 OpenCV实现傅里叶描述子(上):边界重建

简述傅里叶描述子在数字图像处理中是属于特征提取的内容,其最主要的作用之一是应用在形状识别中,如字符识别。其描述子组成的特征向量经过适当的处理可以具有旋转、平移和尺度不变性。这次博客的内容主要是边界重建,形状识别放在以后的更新当中,下面是关于一些学习内容的总结。内容总结及算法步骤:将由K个点组成的边界(轮廓点)的坐标对(x0,y0),(x1,y1),⋯ ,(xk−1,yk−1)(x_0,y_0),(x_1,y_1),\cdots,(x_{k-1},y_{k-1})(x0​,y0​),(x1​,y1​

2022-05-18 11:06:38 1695

原创 OpenCV实现击中击不中变换和形态学细化

1 击中击不中变换1.1 HMT概述形态学Hit-or-Miss是形状检测基本工具,只要结构元设置得当,就可以检测一些基本的形状图案,HMT变换只能作用于二值图像,结构元(核)元素值由0、1、-1组成。操作时,结构元在图像上滑动,覆盖一小片与核大小一样的区域,然后逐一对比,核的值为1时,覆盖区域对应位置必须为255,而核值为-1时,则必须为0,核值为0时0和255均可,如果覆盖区域所有的位置均满足上述要求,则表示击中,锚点位置设置为255,如果有任意一个位置不满足,则表示击不中,锚点位置设置为0。不

2022-03-28 22:15:14 4624

原创 OpenCV实现同态滤波

同态滤波是属于图像增强的一个小算法,其原理和代码实现在众多博客中均有提及,再此,只对学习中一些自认为有用的知识点进行总结。实现和学习过程中的一些总结:同态滤波类似于灰度变换,都是对灰度级进行动态范围压缩和对比度增强来改善图像的外观。图像f(x,y)f(x,y)f(x,y)可以表示为其照射分量i(x,y)i(x,y)i(x,y)和反射分量r(x,y)r(x,y)r(x,y)的乘积,即:f(x,y)=i(x,y)r(x,y)f(x,y)=i(x,y)r(x,y)f(x,y)=i(x,y)r(x,y)

2022-03-16 11:32:25 5265 1

原创 OpenCV实现双边滤波

双边滤波的数学原理在其他博客中很容易找到,再此不在赘述。仅仅记录一下自己对这个滤波器功能的一些总结。个人觉得这个滤波器十分优美和简洁,其特点:双边滤波同时考虑了空间(像素距离)和像素值层面的因素。双边滤波某一点的权重取值w(i,j,k,l)=wd(i,j,k,l)×wr(i,j,k,l)w(i,j,k,l)=w_d(i,j,k,l)\times w_r(i,j,k,l)w(i,j,k,l)=wd​(i,j,k,l)×wr​(i,j,k,l)。空间层面等价于高斯滤波,核中权重是由两点间距离来计算,离

2022-03-11 10:22:00 1161

原创 OpenCV实现图像基础频率域滤波

频率域滤波

2022-03-02 11:19:16 3598

原创 经典图像处理算法—区域生长法(功能实现)

一到期末杂事较多,许久未更新…记录一下区域生长法的学习过程,区域生长法是基于区域的分割方法,通过算法自动选取或者交互式选取种子点(即单个像素点),并规定所应用的谓词逻辑,将8邻接或4邻接并满足谓词逻辑的点进行合并,不断迭代,直至不满足谓词逻辑时,完成分割。最开始在实现这个功能的时候,在网上看了一些别人的代码,发现和自己理解的区域生长法有些出入,再此写下自己所理解的算法代码,仅代表个人意见。代码如下:/** function: 区域生长法; 递归版本* input: grayImage 源图灰度图

2021-12-25 16:19:10 3235

原创 自适应阈值canny边缘检测(功能实现)

学习记录…canny边缘检测是一种特别常用且性能优秀的边缘检测算法,相比于普通的边缘检测算法,canny获得的边缘较细且具有连续的边缘轮廓,为之后的一系列图像处理带来极大的便利。

2021-11-12 22:07:11 15695 8

原创 具有掩膜功能的大津阈值法(Otsu)

学习记录…前文说到大津阈值法是一种自适应的基于全局的阈值分割算法,只有在图像直方图分布为双峰的情况下才会呈现出一种比较好的分割效果,但是待分割图像直方图分布并不是每次都是理想的结果。可能会是光照的影响改变了原本为双峰的直方图分布,或者说背景本身就呈现出了两个灰度级,加上前景那就是三个灰度级了,等等一些情况都会造成使用Otsu分割失败。试验用图如下:如图所示:直接利用Otsu算法对原图进行分割,因为高灰度级分布的影响,我们想要的前景数字部分被归结为了背景,导致分割失败。期望分割图是利用上图中掩模部分直

2021-11-02 09:44:36 2488

原创 大津阈值法(OTSU)功能实现

具体的公式推导参见冈萨雷斯**《数字图像处理》**Otsu方法又称最大类间方差法,通过把像素分配像素分为两类或多类,计算类间方差,当方差达到最大值时,类分割线(即灰度值)就作为图像分割阈值。Otsu还有一个重要的性质,即它完全基于对图像直方图进行计算,这也使他成为最常用的阈值处理算法之一。算法步骤如下:...

2021-10-29 15:27:26 4037

原创 基于快速径向对称变换的圆环检测

记录平时学习的碎片…快速径向对称变换在原论文中的主要作用是用来作为图像特征点检测(面部特征、感兴趣区域),其依赖于梯度信息,来检测图像中高度径向对称的点。圆是旋转对称的,可以利用此算法来检测圆环的中心点。圆周上的点到圆心的距离相等,且圆周上的点的梯度方向垂直于切线指向圆心。基于以上两点结合径向对称变换算法内容,对圆周上的每一个点进行遍历生成该半径下的投影图像,找到投影图像中像素较大的值,便可确定圆心的位置。...

2021-10-24 20:18:14 754

原创 直方图均衡化(功能实现)

间断式更新一些无用的知识…直方图处理一直是传统图像处理中最重要的技术手段之一,直方图处理包括经典的直方图均衡化、直方图规定化、直方图比较、局部直方图的均衡等等。本章主要介绍直方图均衡,后续不断更新剩下的图像处理技术。直方图均衡化的作用:通过使均衡化后的图像的灰度级覆盖更宽的灰度范围,从而实现对源图像对比度的增强。直方图均衡化特点:整个实现过程直接从给定的图像中提取信息,而不需要规定任何参数,自适应程度高。数学原理:具体的内容可参见冈萨雷斯《数字图像处理》结合OpenCV,直方图均衡C/C++实现

2021-10-20 10:50:46 835

原创 利用findcontours实现仅查找内轮廓

第一次尝试写博客,就当做写一次随笔吧!最近在做一个小项目,需要检测目标轮廓,而且只需要内轮廓,OpenCV自带的轮廓检测函数findContours使用起来特别方便,利用轮廓之间层级关系即可实现内轮廓查找。findContours函数的具体使用方法自行查看相关教程和手册,下面仅对本算法相关的关键点进行一些强调和补充,如有错误,还请批评指正。findContours( InputOutputArray image, OutputArrayOfArrays contours,

2021-08-15 15:03:44 2541 1

OpenCV综合练习——多视角下扑克牌(文本)校正

该项目的具体介绍连接如下:https://blog.csdn.net/qq_42593411/article/details/126334259?spm=1001.2014.3001.5501,有兴趣的小伙伴可以尝试一下,我的环境是vs2019 + OpenCV4.2,其他版本也均可。

2022-08-16

OpenCV综合练习-多视角下扑克牌(文本)校正

该项目的具体介绍连接如下:https://blog.csdn.net/qq_42593411/article/details/126334259?spm=1001.2014.3001.5501,有兴趣的小伙伴可以尝试一下,我的环境是vs2019 + OpenCV4.2,其他版本也均可。

2022-08-16

数字图像处理综合练习项目——水瓶水位合格检测

数字图像处理综合练习,对于刚学数字图像处理的同学可以参考练习一下,我所用工具为VS2019+OpenCV4.20,其他版本搭配也均可,只需要拷贝Cpp和头文件到自己的环境就可以运行了!(具体的内容讲解可以参考博客:https://blog.csdn.net/qq_42593411/article/details/125323731?spm=1001.2014.3001.5501)

2022-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除