自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (10)
  • 收藏
  • 关注

原创 加权最小二乘滤波用于一维数据平滑(附MatLab版和C++版源码)

好久没写博客了。过去的一年很忙,公司对保密要求也很严格,绝大多数的技术成果都无法公开,有些还是个人的得意之作,不得不说是件非常遗憾的事儿。最近想改进先前开发的轮廓变形技术,需要对一维数据进行平滑,以得到更加理想的平滑轮廓,联想到以前介绍加权最小二乘变形的文章,对原程序做了点儿改动进行了实验,效果还挺满意。下面给大家分享一下。 原始的加权最小二乘滤波是用于处理二维图像的,且目的是为了滤除微弱边缘,保留较强边缘,因而给较强的梯度更大的权重,而给较小的梯度较大的权重。现在我们的目标...

2022-02-24 20:13:55 5168 8

原创 图像中每个圆形区域内元素和及均值的快速计算C++程序

有时候感兴趣的目标具有圆形的特征,我们会希望能计算处以每个像素点为中心的圆形区域的元素和或是均值,这里本人就分享一下自己编写的快速计算任意圆形区域内元素和与均值的程序。程序原理非常简单,就是中心像素点在移动的过程中,区域中改变的只有边缘点,所以我们只需要考虑由这些边缘点的增减所导致的和值的改变即可。废话不多说,下面上代码:Mat getSumOfElementsInCirCle(Mat& img, int r){ img = 1 - img; Mat elemSumImg = Mat::

2021-05-14 09:17:03 616

原创 引导滤波(guidedFilter)与边窗盒式滤波(sideWindowBoxFilter)的C++与OpenCV实现

引导滤波(guidedFilter)与边窗盒式滤波(sideWindowBoxFilter)的C++与OpenCV实现好久没更博客了。去年年底跳了槽,转回了工业检测领域,忙于找工作和开发新算法,同时担心泄露技术秘密,所以一直没有更新博客。刚过去的三个月试用期里开发了两个原创算法,一个已经申请专利(涉及工业品区域边界轮廓提取),一个正准备申请(涉及复杂纹理下的圆孔提取),也算是值得骄傲的一件事了。待专利授权下来后,我可以给大家讲一讲这两个新算法,目前就暂且保密啦。引导滤波和边窗滤波都是近几年出现.

2021-04-16 10:40:12 1906 12

原创 基于MLS的3CCD变形模拟和校正(附C++程序)

前些天刚在博客介绍过基于移动最小二乘(MLS)的图像变形,这两天恰恰就接到了一个有关图像变形的任务。说来也简单,就是3CCD是用黏合剂粘到棱镜的三个面上,由于环境的改变,黏合剂的物理性质可能发生改变导致3个CCD接受的图像产生不同程度的变形,从而造成图像边缘上出现色散效果(类似“抖音”文字效果),要求对其进行模拟并提出校正方案。由于目前手头没有3CCD相机,没法实测其在不同环境下可能出现的变形种类和严重程度,所以模拟时就把情况想得稍复杂些,假定每一个小区域的变形都是刚性变形,每个区域可以对应不同的形变,也就

2020-11-19 11:00:49 740

原创 周志华西瓜书公式勘误(一)之公式2.27勘误

刚开始读周志华老师的机器学习西瓜书,读到第38页时感觉公式2.27的公式有误,照书上的理解怎么也说不通,网上搜一下,果然发现知乎上有人提问。可惜知乎上的回答也不能让人满意,不仅罗里吧嗦,还满屏公式让人难以读不下去,给出的结论也让人难以信服。下面我写下个人以为的正确结果并尝试为大家进行解读,有不认同的地方可以予以反驳,大家互相交流共同进步。首先说结论,个人以为正确的公式应该是下面我来为大家进行解读。首先,我们有两个假设:和。我们欲反驳假设,所需要做的其实就是证明,对于任意来说,出现测试错误率为

2020-11-11 15:14:14 1894 3

原创 Exposure Fusion的改进(含多曝光HDR数据库及MatLab程序)

在Tom Mertens等人的"Exposure Fusion"一文问世之前,HDR图像处理的一般流程是先恢复相机响应曲线和辐照图,然后采用色调映射算法使其能够在LDR设备上显示,而在此之后,研究重点逐渐转向了直接对各曝光水平下色调映射后的图像进行无缝融合。下面就简单讲一讲"Exposure Fusion"的处理流程并分析其缺陷和改进方法。"Exposure Fusion"的处理过程非常简单,无非就是首先根据局部对比度、颜色饱和度和曝光质量三个指标对每一个像素点进行质量评价给出质量评分,然后对每个像素点

2020-11-05 14:15:28 1875 6

原创 基于交叉双边滤波和像素显著性的图像融合

基于交叉双边滤波和像素显著性进行图像融合的原理可参照原始论文(https://sci-hub.se/10.1007/s11760-013-0556-9)或者知乎上的一篇文章(https://www.sogou.com/link?url=hedJjaC291OfPyaFZYFLI4KQWvqt63NB2DKvsrt7Dk6d2HCun2wYzA..)。其主要的思想就是对前景区域实施更强力的模糊而对背景区域实施更小幅度的模糊,从而更好地提取出前景纹理。然后对各前景纹理进行处理(根据窗口内水平/垂直纹理的一致性计

2020-11-04 16:08:06 1745 4

原创 移动最小二乘法(MLS)图像变形的基本原理解读及公式推导、勘误与MatLab实现

目录公式推导MLS用于图像变形及本人对源码的改动移动最小二乘法图像变形的论文链接见:https://www.cs.rice.edu/~jwarren/research/mls.pdf,目前CSDN上有一些相关博客,如https://blog.csdn.net/tuntunmmd/article/details/106211053,但基本都止于将英文论文核心部分简单翻译一下而已,这里我将尝试给出其中部分跳跃性较大部分的公式推导,并结合MatLab源码进行完整图像变形流程的讲解。下面先给出.

2020-11-02 20:01:04 4882 6

原创 HDR技术之带参数估计的经典Reinhard色调映射算法的改进(嵌入了亮度均衡/暗光增强算法)

上一篇博客已经贴出了带参数估计的经典Reinhard色调映射算法的代码。不过需注意的是,论文中是根据反映HDR图像动态范围的Zone数自动选择是采用全局映射还是局部映射。局部色调映射可以显著提升图像对比度,但是耗时显著增多,且局部映射结果同样面临局部亮度过暗的问题,因此,在HDR全局色调映射算法中嵌入快速暗部细节增强/亮度均衡算法很有意义。由于本人前期曾开发过这样的快速亮度均衡算法,因此,实现这种想法就成了水到渠成的事儿。下面给出包含本人改进后的Reinhard全局色调映射算法(嵌入了局部亮度调制算法)程序

2020-10-26 16:26:10 2605 2

原创 Reinhard的HDR色调映射算法参数自动选择版本MatLab程序

Reinhard的HDR色调映射算法参数自动选择版本的具体原理及公式请参见:Erik Reinhard (2002) Parameter Estimation for Photographic Tone Reproduction, Journal of Graphics Tools, 7:1, 45-51, DOI: 10.1080/10867651.2002.10487554。这里我就不再赘述了。下面直接给出代码及其处理效果(算法会根据Zone数,即动态范围,自动选择是用全局映射算法还是局部映射算法):

2020-10-19 16:24:21 2060 1

原创 基于视觉显著性度量的HDR图像色调映射MatLab程序(论文复现系列)

该文主要是提供论文"Visual-Salience-Based Tone Mapping for High Dynamic Range Images"的MatLab

2020-10-19 16:08:50 2350 9

原创 灰度共生矩阵的MatLab实现

上周五在复现一篇论文("Visual-Salience-Based Tone Mapping for High Dynamic Range Images")中的算法时涉足到了基于灰度共生矩阵的显著性度量,便顺手给实现了以下。我们将共生关系定义在w*w的窗口内,窗口内的不同两个像素p、q为共生关系,其灰度、即为共生灰度。论文算法在计算灰度共生矩阵前会先将灰度值量化为K个等级。当共生关系的考察窗口半径为r时,对于每个像素,我们只需要考察它右下方(包含本行和本列)的(r+1)*(r+1)-1个像素。因为站在当前像

2020-10-19 11:01:58 6316 2

原创 HDR技术讲解之Photographic Tone Reproduction for Digital Images论文算法复现及改进

上一篇文章给大家介绍了基于多尺度对比度调制重组的HDR技术,今天为大家介绍一个更有趣的HDR算法。该算法借鉴了具有150年历史的摄影处理经验,即“遮蔽”与“燃烧”技术。这是种具有悠久历史的印刷技术,在显影过程中,对于过亮的区域就遮一遮光线(遮蔽),对暗的区域就添加一些光进来(燃烧)。原理很简单,但是怎么利用起来就是个技术活儿了。Erik Reinhard等人的做法是对于每一个像素点都考察不同尺度的邻域,以找到使得对比度没有明显突变的最大邻域。如下面示意图所示,尺度过小和过大时,中心区域和环绕区域间的对比度都

2020-10-14 18:12:10 3488 18

原创 对现行暗通道先验去雾算法的几点修正与改进

在写作和发表论文前,这篇博客不会介绍任何实质性的内容,仅为展示对当前基于大气光传播模型和暗通道先验的主流去雾算法中的几处误区或是不合理的地方进行修正后(并加了简单的预处理)获得的去雾效果图(算法比何恺明的算法更加高效)。下面展示的测试图像是从他人论文中截取得到或是下载的他人代码中附带的测试图,含有一定的噪声。BeDDE数据集上208张图像的批量测试也已完成,稍晚些时候待打包上传完毕将给出网盘链接。以下均按照原图/处理结果的顺序进行贴图(去雾等级设置得比较保守)。...

2020-09-23 19:45:32 2942 13

原创 基于多尺度对比度重组的HDR技术解析(以最小二乘滤波器为例)

HDR功能是相机的重要功能之一,如https://cloud.tencent.com/developer/article/1167072的系列文章所言,近些年HDR技术发展迅速,新算法层出不穷。为了降低读者的入门门槛,下面我将结合代码就简单但非常经典的基于多尺度对比度重组的单图像HDR技术进行讲解。先前讲过最小二乘(WLS)滤波器可用于图像抽象、多尺度HDR分解等,本文其实可以看作是对WLS滤波器出处“Edge-Preserving Decompositions for Multi-Scale Tone a

2020-09-08 17:23:38 849 1

原创 一种简单快速有效的图像暗部增强/亮度均衡算法

在这里分享一下本人开发的一种简单快速有效的图像暗部增强/亮度均衡算法,算法思想非常简单,就是根据局部图像亮度进行增益控制,暗部增益更大,较亮部分增益更小,具体实现细节就不多说了(链接在文章下方)。算法目标是保持或者增强局部对比度的同时实现区域间亮度的尽可能均衡。该算法对于亮度提升较为克制,尤其适合于处理夜景,算法的非迭代版本可以实现流处理,迭代版本输入整图处理也可以实现实时处理。下面给出测试该算法与对比算法的脚本文件(程序有进一步加速空间),读者可以将其与ALTM-Retinex算法进行对比,同时也可...

2020-09-01 17:55:32 11543 7

原创 一种O(N)复杂度的自适应对比度增强算法

今天分享一款本人开发的自适应对比度增强算法,算法只处理亮度通道,基本思路就是综合考量当前点亮度与周围小邻域亮度、小领域亮度与大邻域亮度的对比度,即综合考量多尺度的对比度来确定最终的变换系数,具体实现细节暂且保密。下面给出脚本文件的链接和处理效果(原图在压缩包中,更多数据集可通过我之前关于亮度均衡算法的博客中的链接获取。这里先用我之前开发的亮度均衡算法做预处理,对比时只比较对比度增强前后图像。第一张图是截图处理的,所以图像质量较差):链接:https://pan.baidu.com/s/1gDTp7Dhg

2020-08-27 14:32:20 893 2

原创 超像素分割算法SLIC的matlab实现

SLIC是一种基于网格化KMeans聚类的超像素分割算法,其计算复杂度为O(N),其中N为像素点个数。SLIC的原理比较简单精致,具体的原理我这里就不介绍了,推荐大家自己去读原始论文加深理解。SLIC的算法流程如下:如所有其他聚类算法一样,SLIC不能保证连通性,所以需要后处理将旁生的连通域合并到邻近的主连通域上,但是论文中并未给出具体的后处理方法。我给出的方法是按照轮廓接触点个数最多原则合并连通域。由于每个聚类都有自己的“势力范围”,即每个标签覆盖的区域不会超过聚类时限定的范围(一般是2S*2S大

2020-08-20 17:32:04 11184 41

原创 二阶矩阵特征值与特征向量的计算matlab程序(可指定计算精度)

先前由于项目需要,自己实现了二阶矩阵特征值与特征向量的求取代码,其实很简单,主要部分就是求解一个二次方程的根,现在分享给大家作为参考(因为组长说求平方根可能比较费资源,为方便硬件实现,甚至连平方根求取的代码都是自己写的\笑哭):function [V,lamda]=myEig(A,err);% 求特征值与特征向量的程序% err为指定的计算误差a11=A(1,1);a12=A(1,2);a21=A(2,1);a22=A(2,2);delta=(a11-a22)^2+4*a12*a21;

2020-08-14 10:14:10 2466 2

原创 根据结构张量求边缘强度及方向的matlab程序

图像中某一点的(模糊)结构张量可以定义为:其中,分别是图像对于x和y的偏导数,求和针对邻域实施。是一个半正定矩阵,对应于一个二次型,也即对应一个椭圆函数。椭圆的长轴对应于图像边缘的方向,短轴对应于边缘法线方向。长短轴轴长平方根的倒数对应图像梯度在边缘与法线方向投影的大小。例如,对于图3左侧所示的篮球图像,由结构张量求得的边缘指向图像(每一...

2020-08-14 10:07:04 1965 14

原创 局部二值模式(LBP)的matlab实现

LBP是一种典型的描述图像局部纹理特征的算子,其相关原理网上已经有不少不错的博客介绍过了,如https://blog.csdn.net/xpplearnc/article/details/40658211,这里本人就不再赘述了。下面给出本人的matlab实现及示例结果以作示范(第二幅测试图为随手截取的网上的图片,由于半径及邻域点数不同、是否对均匀模式归化及归化到何值方面可能存在分歧,所以结果并不完全一致,这里只是做个示范。附图也不做介绍了,大家自己明白就好):function flag=isUnifo

2020-08-13 21:38:57 4869 6

原创 基于图像的被动式相机自动对焦小结(附搜索合焦位置的c++代码)

自动对焦功能在当下已经成为了相机的必备功能。实现自动对焦可以通过主动或被动感知的方法。在主动式感知中,摄像机发出的单束/多束红外光或超声波信号被成像物体反射,物体到摄像机的距离是通过三角测量或者信号返回到摄像机所需要的时间来确定的。然后,根据物体到相机的距离,从一个查找表中设置焦距。主动传感的优势在于它能够在不同的光照条件下聚焦,特别是在暗光条件下。然而,在通过窗户或玻璃进行聚焦时,由于较高的红外或超声反射率,这种感知机制会遇到一定的困难。此外,聚焦区域仅限于相机上的光源或声源所指向的位置也是其另一短板。

2020-08-11 16:27:31 3209 14

原创 核半径无关计算复杂度的中值滤波matlab实现

要实现一个核半径无关的排序滤波器其实非常简单,所利用的不过是像素值的离散性和有限性而已。简单地说,就是滤波窗口内的像素值取值范围就是0~255(对于8bit图像而言),取同一个值的这些元素之间是没有差别的,所以根本没有必要真的进行排序,使用一个直方图统计出每种灰度值出现的次数,最后从前往后累加到指定位置(对于中值滤波而言就是大于等于一半元素位置)的个数时停止,此时对应bin的灰度值就是指排序的值。而进行直方图统计又有一个小技巧,那就是利用上相邻窗口之间大量的重叠元素,统计时只考虑改变的部分即可。下面给出个人

2020-08-10 09:34:51 337

原创 基于rgb色域直方图重叠面积最大化的自动白平衡算法(附matlab程序)

本文是对论文“Auto White Balance Using the Coincidence of Chromaticity Histograms”中自动白平衡算法的matlab实现。论文思想也很简单,就是颜色直方图反映了色温信息,良好照明(合适色温)下的图像各颜色通道直方图通常具有较大的重叠面积,否则则图像中的颜色直方图的重叠面积通常较小(示例见fig1),于是可以根据颜色直方图重叠面积最大化原则来设计自动白平衡算法。其中,转换到rgb色域是为了消除亮度变化的影响。计算直方图重叠面积时则只计算50~12

2020-08-06 11:54:05 1583

原创 泊松图像编辑/融合(Possion image editing)的原理与数值解算法

泊松图像融合是目前融合算法的标杆,泊松图像编辑不仅可以用于图像融合,还可以用于风格迁移、插入透明物体、局部亮度/颜色调制等。网上有不少介绍泊松图像融合算法的文章,但基本表都刻意淡化了其理论推导,着重去讲其实现,让人读完还是只知其然而不知其所以然,甚至连知其然都做不到。这里我将尝试从原理到实现系统地讲一讲泊松图像编辑/融合技术。(注:本文源于对http://www.ipol.im/pub/art/2016/163/上“Possion image editing”论文与源码的解读,读者可以自行从上面下载论文和代

2020-08-03 19:59:47 1701

原创 李纯明“距离正则化水平集演进及其在图像分割中的应用”论文解读

今天要讲的是李纯明博士关于水平集图像分割的论文“Distance Regularized Level Set Evolution and Its Application to Image Segmentation”(算法缩写为DRLSE)。这是一篇让我看了有膜拜之感的论文,读过之后不得不感慨搞数学的人来搞图像处理对本专业的人真的是降维打击。下面我将尝试为大家进行解读。水平集主动轮廓算法基本思想在解读这篇论文之前,首先为大家普及一下水平集主动轮廓演化算法的基本思想。主动轮廓演化的基本思想就是不断驱动边

2020-07-31 17:47:20 5932 23

原创 基于K均值(KMeans)与EM法估计高斯混合模型(GMM)参数的图像分割matlab程序

前些天已经写过KMeans图像分割和高斯混合模型EM法图像分割的文章,今天写一写KMeans与EM法估计高斯混合模型参数相结合的文章。具体操作流程见下图所示(摘自Szeliski的《计算机视觉——算法与应用》中文版p223)(图片上传后旋转了,大概CSDN默认图像宽度不小于高度吧,大家可自行下载观看,有知道解决办法的小伙伴可以在评论区分享一下经验):下面给出本人实现的matlab程序:function [sg,normMuDiff]=KMeansEMSeg(img,k,Mu,eps)n.

2020-07-29 11:17:05 1773 2

原创 加权最小二乘(WLS)图像滤波原理剖析及代码解读(并以人脸磨皮示例)

最小二乘滤波器是一种保边滤波器,其目标是是滤波结果尽可能接近原图,同时在梯度较小区域尽可能平滑,而强梯度的边缘部分尽可能保持。记原图为,待求解的滤波结果为,、分别为x和y方向梯度的权值矩阵,则损失函数可表示为:其中,为像素点坐标。其矩阵形式为:其中,、为图像的向量表示。设图像大小为,令,则其为的列向量。、为的对角权值矩阵,、为 离散差分算子的矩阵表示。令导数为0,可得优化目标的解满足的方程:其中,很多人不明白差分算子的矩阵表示到底是怎么回事,这里就给大家简单介绍一..

2020-07-28 18:26:33 7850 13

原创 meanshift图像分割实例matlab程序(支持高斯核和Epanechnikov核)

本来不想写这篇文章的,因为代码只是对CSDN上一篇博客(https://blog.csdn.net/full_speed_turbo/article/details/83181982)上的程序做了小小的改动,不敢掠人之美。不过原博客大概由于没有给出中文注释和处理结果图像而似乎并没有受到应有的关注。故而纠结了几天,最后还是决定在这里给出改动后的版本以助其发扬光大,同时希望能帮助到有需要的人。基于meanshift的图像分割函数:function l=meanshift(im,hs,hr,err,ke

2020-07-27 17:24:16 3246 8

原创 基于KMeans(K均值)的图像分割matlab程序

KMeans图像分割算法是一种典型的分割算法。其主要思想就是首先随机(起始值其实很重要)选取K个特征值作为聚类中心,然后对于每个像素点计算其到各聚类中心的距离,将其划归到距离最近的类中(也可以进行软分类,即给出其属于各类的概率),然后计算各类中元素的(加权)均值作为新的聚类中心。重复上述操作直到收敛或者达到设定迭代次数。下面给出本人编写的一个matlab示例程序及处理结果。代码:function [sg,normMuDiff]=KMeansSeg(img,k,Mu,eps)normMuDiff=

2020-07-24 20:07:38 7169 3

原创 EM法进行图像分割实例(附灰度图像与彩色图像处理的matlab代码)

昨天写过EM算法拟合直线的文章,今天给大家展示一下EM用于图像分割的实例(程序参考了https://blog.csdn.net/on2way/article/details/47323775,不过这位老兄没有意识到EM法中一个较好的初始值的重要性,同时其方差初值竟然设为与均值相等,这样量纲上都对不上)。废话不多说,下面直接上代码。灰度图像处理的matlab程序:clear all;close all;clc;img = double(rgb2gray(imread('onion.png')));

2020-07-23 16:59:44 3742 11

原创 值域高斯函数分段线性拟合的双边滤波评估

双边滤波大概是最负盛名的保边滤波器了,然而其值域高斯函数带来的高计算量问题也限制了它的使用。尤其在流处理中,该问题更加突出。比如FPGA流处理中采用5*5窗口并行处理,一次处理4个点,10级调节参数,使用映射表的话为了避免读取权限竞争问题就要对10档参数的映射表各保存100份备份,这对硬件资源的占用是相当大的。即便通过灰度差粗量化来减少资源占用,这个问题依旧突出。关于双边滤波的各种优化算法,比如recursive bilateral filter、所谓的O(1)算法、双指数保边滤波器、高斯函数的泰勒展开逼进

2020-07-23 14:13:39 771

原创 基于EM(Expectation Maximization,最大期望)算法的直线拟合matlab实现

EM算法的主要思想就是给出一个初始分组信息,迭代地基于期望最大化进行参数的估计和分组的估计。用在直线拟合上,就是先预设某些点在直线上,然后基于期望最大化估计残差均方根(即估计数据波动范围),然后再估计哪些点属于正常数据,用这些正常数据再进行拟合,然后再估计残差均方根。这个过程不断进行直到收敛。下面给出个人实现的基于EM算法的直线拟合程序:function [a,b,c]=EM_linefit(x,y,k)% 用EM方法进行直线拟合% k为随机初始采样点个数n=length(x);index=r

2020-07-22 13:48:48 1289

原创 M估计(稳健估计)的matlab实现

在进行样本点线性拟合时,一个偏离严重的点(这种点通常称为离群点,又称局外点、外点、出格点)产生的误差相比其他多数正常点占主导地位,这些误差会导致拟合过程中产生巨大的偏差。产生这种后果的原因就是误差被平方了。一个很自然的想法就是给那些离群点更小的权重。常用的一个权重函数为,其中为尺度参数,调节权重衰减的快慢,为残差。显而易见,该权重函数给残差大的点分配更小的权重,当残差趋于无穷大,权重也趋于0,符合直觉想法。M估计法就是基于这种权重分配思想设计的,其其完整处理流程如fig1所示(参见《计算机视觉——一种现代方

2020-07-21 14:29:45 5059 3

原创 参考值随迭代更新的区域生长分割算法

这一篇是补充前一篇的。相比前一篇的第二种实现方法,这里使用了均值、标准差随迭代更新的策略,且根据区域的性质,对三通道取不同的权值。修正后的程序为:clear all;close all;clc;img=imread('parrot.png');subplot(3,1,1),imshow(img);[m,n,~]=size(img);seeds=[400,200,1;230,600,2;440,670,3]; %第3列为labellabelNum=3;newSeeds=seeds;ho

2020-07-17 16:49:03 237

原创 区域生长分割的两种实现方法

今天回顾图像分割算法,拿区域生长算法练了练手。区域生长算法的原理非常简单:取一个种子点,将所有与种子点满足某种关系的邻域点都加入到种子点中,这一过程不断迭代,直到达到稳定。下面给出本人编写的两种版本的matlab实现程序(第一种调用了图像重建函数,第二种自己动手实现了种子生长的具体过程,可以在生长中改变参考值,如在迭代中更新种子点的均值和方差作为生长条件)。第一种版本:clear all;close all;clc;img=imread('parrot.png');figure,subplo

2020-07-17 15:46:39 2685 6

原创 色差通道在医学图像处理中的应用

前阵子搞血管增强,组长让在亮度通道处理(说什么资源有限什么的,自己不搞FPGA不知道为什么这点儿资源都给不了,所以只好照做。但其实她后来也说可以尝试使用RGB通道和色度通道),搞来搞去结果也不理想(如前两篇博客所示)。后来自己放开约束,大胆用起色度通道,效果果然显著提升。众所周知,丰富的色彩能提供更多的信息,提升视觉质量。很明显,血管是红色的,那么为什么不利用起红色差通道呢?尤其是看论文中处理后图像整体偏红(如fig1),这更增强了我的信心。fig1 某论文中表面增强处理结果通过改变亮度通道提升亮

2020-07-13 03:10:47 917 16

原创 形态学梯度用于医学图像增强

前两天写过基于高反差图像软阈值化及非线性灰度级压缩(后续需要滤波获得渐变模板)的血管增强算法。实际应用中发现资源还是不够用,硬件上最多只能提供11行的存储空间,所以需要另外寻求解决办法。找到的一个替代方法就是使用灰度级形态学。具体做法是先使用较小的结构元获得形态学梯度图像,后续接一个小尺寸滤波器对其进行平滑,最后对其进行非线性灰度级压缩后叠加到原图上。示例结果见fig1~fig5。fig1 原图fig2 形态学梯度图像fig3 滤波后形态学梯度图像fig4 非线性灰度级压缩结果.

2020-07-08 23:30:42 812 5

原创 简单快速的血管增强算法

这里要讲的不是多么高深的算法,而是真正实用的算法,要做到每秒60帧4K图像处理的高效算法。其实思路特别简单,与人脸磨皮算法思路异曲同工,血管在图像中属于中等粒度的纹理,用高效保边滤波算法获得一张保边模糊图像,与原图相减就得到了一张中粒度纹理图像,对这个图像进行硬度/软阈值分割(之后模糊处理获得渐变掩模)或者曲线变换,就可以得到一张血管相对凸显了的掩模图像,用这个图像乘以一定系数与原图叠加便得到了血管增强的效果。这次只贴图不上代码了(曲线变换获得掩模应该会更好,这里只是粗略处理的,另,为了成功上传,增强结果图

2020-07-04 09:18:42 2236 2

原创 表面滤波及其在人脸磨皮中的应用

表面滤波是一种保边滤波方法,它由当前灰度差的绝对值分配权重,具体公式见https://blog.csdn.net/xiaota00/article/details/74908785。下面给出表面滤波用于人脸磨皮实验的matlab代码及处理结果(这里给出了两种融合策略,其中一种是所谓“平湖法”,见https://www.cnblogs.com/Imageshop/p/4709710.html,另一种是由原图+平滑图像+精细纹理三成分组合的融合方法):clear all;close all;clc;im

2020-07-03 23:05:36 637

基于WLS及多尺度对比度调制重组的HDR图像处理.rar

该资源是基于最小二乘(WLS)滤波器和多尺度对比度调制重组的HDR图像处理程序,内含若干HDR测试图像,关于最小二乘滤波器的讲解可参见我的博客https://blog.csdn.net/u014230360/article/details/107639764

2020-09-17

High dynamic range imaging and tonemapping

本程序是对http://cybertron.cg.tu-berlin.de/eitz/hdr/#downloads上开源代码的修正版。该开源代码在实现“Photographic Tone Reproduction for Digital Images”论文算法时有一处错误。论文本身有一个符号错误和一个参数设置不合理。这些我都在程序中做了修正。关于该论文的色调映射算法讲解可参见我的博客https://blog.csdn.net/u014230360/article/details/108527016。相机响应曲线恢复部分后续可能也会写篇博客,敬请关注

2020-09-17

toneMapping.m

程序是对Reinhard论文“Photographic Tone Reproduction for Digital Images”的实现,具体的讲解可参考我的博客https://blog.csdn.net/u014230360/article/details/108527016

2020-09-17

超全图像质量评价论文、matlab源程序及总结文档

压缩包包含了个人辛苦搜集来的近年来各种经典有参考/无参考图像质量评价方法的论文、相应matlab源码及本人撰写的简单总结文档(因为下载来源不一,部分指标的对应源码有重复,本来想抹掉总结文档中自己名字的,奈何已经压缩了,就懒得弄了)。个别程序若运行中报错,参见对应的readme文档,下载对应的工具包即可解决问题(因原始链接失效,自己未能下载下来包含进来,也没有到其他地方寻找资源)。

2020-06-16

基于PCA的CFA Raw图像去噪

压缩包包含了基于PCA的CFA图像去噪论文“Pseudo four-channel image denoising for noisy CFA raw data”及其源程序。

2020-06-16

简单易理解的霍夫曼编码matlab程序

程序中是一个包含测试用例的霍夫曼编码程序,实现超简单,总共只有25行,其中矩阵m记录各阶段数据的排序结果以便于回溯,cell数组c用于记录各阶段数据的编码值,可帮助你加深对霍夫曼编码的理解。要你5个积分不多哈☺

2020-06-16

快速可靠的噪声估计程序(matlab程序,针对高斯白噪声)

程序基于“Fast and reliable structure-oriented video noise estimation”并做了改进,分为针对CFA图像、灰度图像、RGB三个版本,各子通道方差综合方法可以修正,程序留出了第三个可选参数用于扩展。程序实现上可进一步优化以提高处理速度(比如记录K个最小值中的最大值位置等),感兴趣的朋友可以自己动手改动。

2020-06-16

去噪去马赛克算法对比(含源码及参考文献)

压缩包中包含“Frequency-domain methods for demosaicking of Bayer-Sampled Color Images”论文及修正后的源程序、自己基于“Fast and reliable structure-oriented video noise estimation”开发的噪声估计函数(针对CFA图像、灰度图像、RGB图像做了3个版本,对于CFA,可将总方差除以总块数而非每个子通道计算一个平均,然后四通道平均)。以run_开头的源程序主函数中直接加入了其他去噪去马赛克方法以作对比,包括去马赛克后Y通道去噪、去马赛克后双边滤波去噪、bayer四子通道分别去噪后去马赛克等。亮度通道去噪那个将第三个参数直接设为0,是只保留频域方法的去马赛克功能。注意:上传时将噪声估计部分单独放在了一个文件夹,运行时不要忘了将其添加到matlab搜索路径。

2020-06-16

基于暗通道优先的去雾程序(界面使用Qt设计)

本程序基于https://www.cnblogs.com/changkaizhao/p/3266798.html#commentform上赵常凯的程序修改而来。UI完全使用可视化设计,基于Qt5.14.2与OpenCV300,代码更加简洁,但是阉割了打印图像功能,引导滤波时引导图像使用的是灰度图像而非彩色图像。

2020-05-19

欧拉法解常微分方程组数值解的MATLAB程序

用Eular法解常微分方程组的数值解,使用了细胞数组,代码简洁,除注释外的有效代码只有二十行左右。(几年前上传的程序了,当时要20积分,现在为大家降到5个积分)

2016-05-25

空空如也

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

TA关注的人

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