摘要:
基于离散夹角余弦相似度准则的形状匹配,其原理实际上是 halcon里相似度准则的一个简化,但是,正是这种简化,加上恰当的离散角度数量,让这种简化后的匹配可以充分利用一些硬件里的特殊函数,从而起到了算法加速的作用。本文描述了这种加速策略,并对早期算法里的部分目标识别及最小外接矩形的功能实现予以描述。 阅读全文
摘要:
在工业应用场合,有着非常广泛使用场景的是多目标多角度的模板匹配(基本无缩放或轻微缩放),本人尝试基于NCC模仿halcon的一些方法和步骤,加以复现,基本实现了具有一定价值的快速匹配。本文对实现过程中一些细节予以描述。 阅读全文
摘要:
腐蚀和膨胀是形态学中最常用的两个算法,扩展到普通图像则可以称之为最大值和最小值(PS-滤镜-其他),其在图像去雾、增强方面都有应用,本文提供了一种非常高效的该算法实现方式,欢迎各位指导。 阅读全文
摘要:
从07年开始有写这个软件的想法,历经五年到2012发布了2.3版本,其中也不乏有过想放弃的想法,不过最终还是坚持了下来,我会持续改进的。 阅读全文
摘要:
去除椒盐噪音或脉冲噪音最经典的算法是中值滤波,通常在噪声的密度不是很大的情况下,使用中值效果不错。但当概率较大时,普通中值已经难以胜任,此时自适应中值滤波的处理效果简直就是逆天,基本完美的复现了原图,有的时候我自己都不敢相信这个结果,而保守滤波采用了稍微不同的策略,稍作改动也可以起到类似的作用。 阅读全文
摘要:
以前看过matlab的bwlookup函数,但是总感觉有点神秘,一直没有去仔细分析,最近在分析计算二值图像的欧拉数时,发现自己写的代码和matlab的总是对不少,于是又去翻了下matlab的源代码,看到了matlab里实现欧拉数的代码非常简单,其核心就是借用了bwlookup函数。 阅读全文
摘要:
最近受朋友的委托,想自己实现Matlab里的一个HDR转LDR的函数,函数名是tonemapfarbman,乘着十一假期,稍微浏览下这个函数,并做了一点C++的实现和优化。 阅读全文
摘要:
Demosaic,中文直接发翻译为去马赛克, 但是其本质上并不是去除马赛克,这让很多第一次接触这个名词或者概念的人总会想的更多。本文提供了经典的HA算法代码,并针对HA的缺点,分析了Zhang Wu基于LMMSE算法改进后的优化过程。 阅读全文
摘要:
这个东西是个非常古老的算法了,大概是2008年的东西,参考资料也有很多,不过基本上都是重复的。最近受一个朋友的需求,前后大概用了二十多天时间去研究,也有所成果,在这里简单的予以记录。图像修复这个东西目前流行的基本都是用深度学习来弄了,而且深度学习的效果还是非常不错的。 阅读全文
摘要:
传统的基于边缘信息的匹配算法有着大量的浮点计算,在某些硬件条件下不友好,通过对公式进行分析,传统算法的匹配度公式可以转换为求解角度差异的余弦值,而进一步的进行量化和定点化后,则可以转化为查找一个整形数据的二维或一维表,从而加快算法的查找速度。 阅读全文
摘要:
时不时有人问我我的SSE优化Demo里emphasize(边缘强调)的原理是啥,有没有写博客,其实不是我不愿意写博客,而是那个东西太过于简单,我不想写博客。但是耐不住问的人多了,我就干脆复制点资料放在博客里吧,省的每次我还要去找点资料复制给人家。 阅读全文
摘要:
介绍了在不同指令集环境下(SSE4\SSE3\SSE2)统计二进制中1的个数的优化,其优化速度较最原始版本的有近80倍提高。 阅读全文
摘要:
VS2019自带了一些增强型的指令集,其精度和速度和自我优化的版本到底有多大的区别了 ,本文做了一些简单的测试. 阅读全文
摘要:
基于边缘的匹配有个贪婪度的参数,其对提高查找目标的速度有着比较关键的作用,本问简单的记录了下对这个参数的一些认识和推导。 阅读全文
摘要:
泊松融合还可以创建一些很有意思的图片,比如一张图片任意规格平铺,使用泊松融合后,平铺的边界处过渡的很自然,另外,对于两张图片,由于局部亮度等等的影响,导致拼接在一起时不自然,也可以使用泊松融合予以解决。 阅读全文
摘要:
泊松融合是一种非常不错多图融合算法,在OpenCv的相关版本中也包含了该算子模块,作者尝试着从OpenCv的大仓库中扣取出该算子的全部代码,并分享了一些在扣取代码中的心得和收获。 阅读全文
摘要:
对于现在很多相机采集的数据存在NaN或所谓的空值的情况,提出了一种高效简单的填充算法,同时这个算法也可以用于一些简答的祛痘、祛斑等环境中。 阅读全文
摘要:
当处理实际的项目时,Opencv自带的角点检测算法goodFeaturesToTrack的速度就显得有点捉襟见肘了,我们在感谢CV提供算法思路的基础上,也应该沿着他的脚步,继续前进,把计算机的计算能力充分挖掘,实现更为高效的结果。 阅读全文
摘要:
关于Halcon中variation_model模型这方面的资料网络上也基本是空白,不过好在Halcon的帮助文档非常人性化,经过自己的尝试,基本复现了这个算子的各个细节,分享供大家共同研究。 阅读全文
摘要:
最近有朋友在研究Halcon中gen_gabor的函数,和我探讨,因为我之前也没有怎么去关注这个函数,因此,前前后后大概也折腾了有一个星期去模拟实现这个东西,虽然最终没有实现一模一样的这个函数,但是也是有所收获,这里做一点总结,也算是最这个函数有个完美的收尾吧。 阅读全文
摘要:
通过指令集以及其他优化方式加速非局部均值滤波算法的速度,比网络中公开的算法速度(CPU版本)至少快二倍以上,结合多线程技术,可以做到接近其GPU的速度。针对5*5的搜索特例,做了特别优化,可达到单核1080P灰度图 28ms/帧的速度,如果用双线程,可满足实时处理的需求。 阅读全文
摘要:
针对Exposure fusion算法存在的Out-of-range Artifact和low frequency halo两个瑕疵,分析了Extended Exposure Fusion的改进过程,并进一步借助有关方法实现了单幅图像的Simulated Exposure Fusion过程。 阅读全文
摘要:
对于多图像的多曝光融合,在相机的应用中较为广泛,我们同时也可以认为这是另外一种的HDR算法,目前能够找到最为详细的和效果还不错的也包含本文所描述的 阅读全文
摘要:
RGB和HSL/HSV颜色空间的相互转换在我们的图像处理中是有着非常广泛的应用的,无论是是图像调节,还是做一些肤色算法,HSL/HSV颜色空间都非常有用,他提供了RGB颜色空间不具有的一些独特的特性,但是由于HSL/HSV颜色空间的复杂性,他们之间的转换的效率一直不是很高的,有一些基于定点算法的尝试,对速度有一定的提升,但一个是提升不是特别的明显,另外就是对结果的精度有一定的影响。 阅读全文
摘要:
我估摸着这个应该是关于形状匹配或者模版匹配的最后一篇文章了(同时纸质旋转和缩放),其实大概是2个多月前这些东西都已经弄完了,只是一直静不下来心整理文章,提醒一点,这篇文章后续可能会有多次修改(但不会重新发文章,而是在后台直接修改或者增加),所以有需要的朋友可以随时重复查看。 阅读全文
摘要:
GIMP的小波分解只是偏重于实现,但是其效率还是很慢,本文简单的提出了其加速算法。同时对于如何使用小波分解后的数据,通过小波去噪和小波锐化两个过程予以了说明,另外,基于小波去噪的这些过程也可以使用拉普拉斯金字塔来实现。 阅读全文
摘要:
早年就接触过小波的概念,那个时候看什么小波十讲这类的,看的可真谓云里雾里,一大堆数学公式,头大的要死。做去噪的时候也看很多人说小波去噪算法效果不错,最近定心的去研究了下GIMP里的小波分解插件,有一些心得,一起分享给大家。 阅读全文
摘要:
尝试从单幅图像中评估加性噪音的均方差,这个结果可以用于计算匹配时的最小对比度(发现新大陆了,原路模板匹配还可以用这个做自动化)、边缘检测滤波器的幅度、摄像机评估、控相机操作中的错误(例如用户过度调节相机增益)等等。 阅读全文
摘要:
基于局部直方图的算法有很多很多,比如中值模糊、表面模糊、选择性模糊等等,这类算法有个通病,就是即使选择使用SIMD指令加速,因为其内在的特性,速度还是不能很快,但是又找不到其他合适的构架来优化他,还必须使用直方图技术,本文介绍了一种简单的方法来计算该类算法的加速和优化。 阅读全文
摘要:
简单的描述了光度立体法的一些细节,并重点对其中Normal Map的快速获取做了讲述。 阅读全文
摘要:
查表算法,无疑也是一种非常常用、有效而且快捷的算法,我们在很多算法的加速过程中都能看到他的影子,在图像处理中,尤其常用,但是查表在SSE指令的基础上很难得到加速,但是,随着AVX2提供了新的gather指令,使得查表过程的加速成为可能。 阅读全文
摘要:
弄了SSE指令集,必然会在不同的场合不同的人群中了解到还有更为高级的AVX指令集的存在,早些年也确实有偶尔写点AVX的函数,但是一直没有深入的去了解,这个十一,那里也没去,终于开启了真正的AVX之旅,本文对AVX编程做个初步的小结。 阅读全文
摘要:
通常,我们谈的高斯模糊也有着各种优化算法实现,而且其速度基本是和参数大小无关的。但是,在实际的应用中,有至少50%以上的场景中,反而是微小半径的模糊更有用武之地,因此,小半径的高斯是否能进一步加速就值的研究。 阅读全文