继去年上半年一鼓作气研究了几种不同的模版匹配算法后,这个方面的工作基本停滞了有七八个月没有去碰了,因为感觉已经遇到了瓶颈,无论是速度还是效率方面,以当时的理解感觉都到了顶了。年初,公司业务惨淡,也无心向佛,总要找点事情做一做,充实下自己,这里选择了前期一直想继续研究的基于离散夹角余弦相似度指标的形状匹配优化。    在前序的一些列文章里,我们也描述了我从linemod模型里抽取的一种相似度指标用于形状匹配,个人取名为离散夹角余弦,其核心是将传统的基于梯度点积相似度的的指标进行了离散化:   传统的梯度点积计算公式如下:        对于任意的两个点,通过各自的梯度方向,按照上述...

  23q59msja7dS   2024年03月19日   60   0   0 计算机图形学

  去年年底把工程项目由VS的2015升级到2019版本,本以为直接配置下运行环境就可以了,但是一编译发现一大堆错误,所有的错误都指向一系列的指令集,比如_mm_exp_ps、_mm_log_ps、_mm_pow_ps等等,后面发现原来从2019版本开始,编译器已经自带了这些常用的函数,所以自己函数和系统的重名了,也就无法通过编译了。   这个时候只能把自己大函数名都适当的进行修改,再重新编译了.   我们在intel的关于指令集方面的官方网站也发现了一些信息:比如_mm_exp_ps,其说明如下:         注意其中的Sequence说...

  23q59msja7dS   2024年02月27日   16   0   0 计算机图形学

  对这个课题稍作研究,以便记录。   在基于边缘的模版匹配中,我们知道可以有个贪婪度参数可以设置。在Halcon的帮助文档中,也有对他进行说明。我们在Halcon那本经典的书上,没有看到对这个参数的解析。不过他也有讲到在计算某个候选位置的得分时,如果满足一定的条件也可以提前结束对得分的判断,而判定这个点不是一个候选点,原文贴图如下:          这里我通俗的讲解下为什么可以有这个判断条件,也就是这个公式是如何得到的。   我们知道,某个点的最大得分必然是1,这只有在每个点都和模版的特征点信息完全一致的情况下获取,这个时候,每个...

  23q59msja7dS   2024年01月24日   14   0   0 计算机图形学

  在【快速阅读二】从OpenCv的代码中扣取泊松融合算子(PoissonImageEditing)并稍作优化 一文的最后,我曾经提到有个使用泊松融合来来实现SeamlessTiling的效果,我自己尝试去实现,暂时没有获取正确的结果,论文里给出的效果如下:                       一开始我没怎么看这个tinling的意思,总是以为算法的目的是左图通过泊松融合的处理,能够处理成...

  23q59msja7dS   2024年01月19日   24   0   0 计算机图形学

  泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果。前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了,可以直接使用,他说opencv的框架太大,不想为了一个功能的需求而背上这么一座大山,看能否做个脱离那个环境的算法出来,当时,觉得工作量挺大,就没有去折腾,最近年底了,项目渐渐少了一点,公司上面又在搞办公室政治,我地位不高,没有参与权,所以乐的闲,就抽空把这个算法从opencv里给剥离开来,做到了完全不依赖其他库实现泊松融合乐,前前后后也折腾进半个月,这里还是做个开发记录和分享。   在翻译算法...

  23q59msja7dS   2024年01月16日   15   0   0 计算机图形学

  最近遇到一个需求,从相机获取的数据局部区域存在空值,即那些地方没有有效数据,如果直接赋值为0,则很有可能得到错误的结果,如果不填充值,很多算法又无法进行,因此,需要一种填充算法把这些空白区域设置成合适的值。我想了一下,有几个算法可  能可以解决这个问题:   1、inpainting(修复)算法,Inpainting本身就是一种修复算法,可以从周边领域的信息填充未知区域的值,这个开源的在Opencv里有2种。       但是这个算法的步骤实际上都是迭代算法,一步一步由空值边缘向空值内部慢慢填充,直到填充完成或者达到指定的迭代步数。     2、PS...

  23q59msja7dS   2023年12月22日   69   0   0 计算机图形学

  搜索到某个效果很好的视频去燥的算法,感觉效果比较牛逼,就是速度比较慢,如果能做到实时,那还是很有实用价值的。于是盲目的选择了这个课题,遇到的第一个函数就是角点检测,大概六七年用过C实现过Harris角点以及SUSAN角点。因此相关的理论还是有所了解的,不过那个时候重点在于实现,对于效率没有过多的考虑。   那个代码里使用的Opencv的函数叫 goodFeaturesToTrack,一开始我还以为是个用户自定义的函数呢,在代码里就根本没找到,后面一搜原来是CV自带的函数,其整个的调用为:       goodFeaturesToTrack(img0Gray,featurePtSe...

  23q59msja7dS   2023年11月05日   53   0   0 计算机图形学

  十一期间在家用期间研读了下Halcon的variation_model模型,基本上全系复现了他的所有技术要求和细节,这里做个记录。   其实这个模型的所有原理都不是很复杂的,而且Halcon中的帮助文档也讲的很是清楚,所以通过猜测、测试、编码基本能搞清楚是怎么回事。   关于这个模型,Halcon里有如下十来个函数:   create_variation_model、prepare_variation_model,train_variation_model、compare_variation_model、prepare_direct_variation_model、clear_variat...

  23q59msja7dS   2023年11月02日   45   0   0 计算机图形学

  最近有朋友在研究Halcon中gen_gabor的函数,和我探讨,因为我之前也没有怎么去关注这个函数,因此,前前后后大概也折腾了有一个星期去模拟实现这个东西,虽然最终没有实现这个函数,但是也是有所收获,这里做一点总结,也算是最这个函数有个完美的收尾吧。   1、Gabor滤波器   首先总是度娘出场,关键词Gabor滤波器,一大堆东西出来了,里面最多的肯定是关于OpenCv的getGaborKernel函数,这个函数的具体代码如下: / Gaborfiltersandsuch.Tobegreatlyextendedtohavefulltextureanalysis. Fortheform...

  23q59msja7dS   2023年11月02日   38   0   0 计算机图形学

    非局部均值滤波(NonLocalMeans)作为三大最常提起来的去燥和滤波算法之一(双边滤波、非局部均值、BM3D),也是有着很多的论文作为研究和比较的对象,但是也是有着致命的缺点,速度慢,严重的影响了算法的应用范围。目前在已有的文献中尚未看到在不对算法的本质原理上做更改的情况下,能取得实时的效果,本文呢,也不求得到这个目的,只是对现有的开放的资源上来取得更进一步的提升。   标准的NL-Means算法中,一般有三个参数,搜索半径SearchRadius,块半径PatchRadius,以及一个决定平滑程度的高斯函数参数Delta。在百度上能够搜索...

  23q59msja7dS   2023年11月02日   37   0   0 计算机图形学

  弄了SSE指令集,必然会在不同的场合不同的人群中了解到还有更为高级的AVX指令集的存在,早些年也确实有偶尔写点AVX的函数,但是一直没有深入的去了解,今年十一期间也没到那里去玩,一个人在家里抽空就折腾下这个东西,也慢慢的开始了解了这个东西,下面是基于目前的认知对这个东西进行下一个简单的小结,有些东西也许是不正确或者不全面的,但应该无伤大雅。   第一、用AVX指令集必须做好合适的IDE配置。   如果你们有看过我之前的一些文章,应该可以看到我在部分博文中有多次提高过“使用AVX对该算法似乎没有什么速度和效率方面的提升”,那么现在我这里要稍微纠正一下:即如果一个算法可以用AVX有效的写出来,...

  23q59msja7dS   2023年11月01日   50   0   0 计算机图形学

  查表算法,无疑也是一种非常常用、有效而且快捷的算法,我们在很多算法的加速过程中都能看到他的影子,在图像处理中,尤其常用,比如我们常见的各种基于直方图的增强,可以说,在photoshop中的调整菜单里80%的算法都是用的查表,因为他最终就是用的曲线调整。   普通的查表就是提前建立一个表,然后在执行过程中算法计算出一个索引值,从表中查询索引对应的表值,并赋值给目标地址,比如我们常用的曲线算法如下所示: intIM_Curve_PureC(unsignedcharSrc,unsignedcharDest,intWidth,intHeight,intStride,unsignedcharTab...

  23q59msja7dS   2023年11月01日   55   0   0 计算机图形学

 这个东西是我接触的第一个非2D方面的算法,到目前为止其实也没有完全搞定,不过可能短时间内也无法突破。先把能搞定的搞定吧。  这个东西也有一大堆参考资料,不过呢,搜来搜去其实也就那些同样的东西,个人觉得就属这个文章最经典,既有说明,也有图片,还有代码:    PhotometricStereo    ChamanSinghVermaandMon-JuWu      https://pages.cs.wisc.edu/csverma/CS766_09/Stereo/stereo.html   另外,gith...

  23q59msja7dS   2023年11月01日   42   0   0 计算机图形学

  在Halcon中有这样一个函数:   estimate_noiseestimate_noise—Estimatetheimagenoisefromasingleimage.   Signature     estimate_noise(Image::Method,Percent:Sigma)   Description   Theoperatorestimate_noiseestimatesthestandarddeviationofadditivenoisewithinthedomainoftheimagethatispassedinImage.Thestandarddeviationi...

  23q59msja7dS   2023年11月01日   25   0   0 计算机图形学

    早年就接触过小波的概念,那个时候看什么小波十讲这类的,看的可真谓云里雾里,一大堆数学公式,头大的要死。做去噪的时候也看很多人说小波去噪算法效果不错,不过网络上有的都是matlab代码,而matlab的小波包里的函数是已经写好的内嵌函数,是无法看到代码的。因此,一直以来,也从未想过自己动手写个小波去噪之类的效果。     偶尔翻阅了一下GIMP软件的菜单,再次看到了在其Filters-->Enhance菜单下有个wavelet-decompose菜单,点击一下,发现原图像是没有任何增强的效果的,但是在其...

  23q59msja7dS   2023年11月01日   64   0   0 计算机图形学

  上一篇文章谈及了GIMP里实现的小波分解,但是这仅仅是把图像分解为多层的数据,如果快速的获取分解数据以及后续怎么利用这些数据,则是本文的重点。   一、我们先来看看算法速度的优化问题。   原始的GIMP实现需要将图像数据转换为浮点数后,然后进行各级的模糊和图层混合,这样得到的结果是比较精确的,但是存在两个方面的问题,一个是占用了较多的内存,因为GIMP这个版本的小波分解各层是没有改变数据的尺寸的,因此,如果使用浮点,占用的内存要比字节版本的大四倍,而且和层数有着密切的关系。第二个是浮点的处理还是稍微慢了点,虽然对现在的CPU来说,浮点数更易用SIMD指令集优化。但是如果有更好的数据类型的...

  23q59msja7dS   2023年11月01日   48   0   0 计算机图形学

  我估摸着这个应该是关于形状匹配或者模版匹配的最后一篇文章了,其实大概是2个多月前这些东西都已经弄完了,只是一直静不下来心整理文章,提醒一点,这篇文章后续可能会有多次修改(但不会重新发文章,而是在后台直接修改或者增加),所以有需要的朋友可以随时重复查看。  这次带来的更新也是革命性和带有建设性的,使得该算法向工程化更加迈进了一步。不过严格意义上说和halcon还是有较大的差距的。  能够带来这次的变化和提升,其实也得益于偶尔的一次交流,一个微信好友给我发了一份可以不用配置就可以运行的linemod的代码,因为可以运行,我就有兴趣看其代码的细节,也从中得...

  23q59msja7dS   2023年11月01日   42   0   0 计算机图形学

    RGB和HSL/HSV颜色空间的相互转换在我们的图像处理中是有着非常广泛的应用的,无论是是图像调节,还是做一些肤色算法,HSL/HSV颜色空间都非常有用,他提供了RGB颜色空间不具有的一些独特的特性,但是由于HSL/HSV颜色空间的复杂性,他们之间的转换的效率一直不是很高的,有一些基于定点算法的尝试,对速度有一定的提升,但一个是提升不是特别的明显,另外就是对结果的精度有一定的影响。   对于这两个算法的指令集优化,网络上就根本没有任何资料,也没有任何人进行过尝试,我也曾经有想法去折腾他,但是初步判断觉得他里面有太多的分支了,应该用了指令...

  23q59msja7dS   2023年11月01日   60   0   0 计算机图形学

   在SSE图像算法优化系列二十九:基础的拉普拉斯金字塔融合用于改善图像增强中易出现的过增强问题(一) 一文中我们曾经描述过基于几种高频融合法则的拉普拉斯金字塔融合算法,那里是主要针对2副图像的。实际的应用中,我们可能会遇到多帧图像的融合过程(图像都是对齐后的),特别是多帧不同曝光度的图像的融合问题,在相机的应用中较为广泛,我们同时也可以认为这是另外一种的HDR算法。     这方面最经典的文章是2007年TomMertens等人发表的《ExposureFusion》一文,用简单的篇幅和公式描述了一个非常优异的合...

  23q59msja7dS   2023年11月01日   59   0   0 计算机图形学

  在拉普拉斯金字塔在多图HDR算法中的应用以及多曝光图像的融合算法简介一文中提高的ExposureFusion算法,是一种非常优秀的多曝光图片合成算法,对于大部分测试图都能获取到较为满意的结果,但是也存在着两个局限性:   1、存在着Out-of-rangeArtifact;     2、存在着lowfrequencyhalo;   为了解决这两个问题,CharlesHessel在2019年发表了一篇名为《ExtendedExposureFusion》的论文,基本上有效的避免了《ExposureFusion》的这两个缺陷,并且以此为基础,将Exposu...

  23q59msja7dS   2023年11月01日   40   0   0 计算机图形学
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~