随笔分类 - [03] 图像算法优化
解释图像算法的优化技巧。
摘要:Halcon里有个texture_laws 算子,稍微实现了下,效果和Halcon基本一致。
阅读全文
摘要:在OpenCV中,如果源图像的高度和宽度都为偶数,且目的图像的高度和宽度都为源图像的一半,此时使用双线性插值算法对图像进行缩放时,所使用的时间非常短,比其他尺寸的双线性大约快了七八倍,甚至比同尺寸的最近邻插值都要快,本文分析和重现了此算法,并提供了参考代码。
阅读全文
摘要:字节按位反转算法,在有些算法加密或者一些特殊的场合有着较为重要的应用,其速度也是一个非常关键的应用,本文巧用一个SSE技巧将其速度提升到普通C语言能以抵达的高度。
阅读全文
摘要:最近看到一篇文章讲IMAGE DECOMPOSITION,里面提到了将图像分为Texture layer和Structure layer,测试了很多方法,对于那些具有非常强烈纹理的图像,总觉得用TV去燥的方法分离的结果都比其他的方法都要好,本文分享了一种较为快速的TV实现代码。
阅读全文
摘要:从GIMP中的扣取出其Noise Reduction算法,并简单的分析了原理,重点对算法的加速、内存优化等进行了总结和实现,借用系统的SIMD指令达到了30倍的速度提升,大大的提高其工程应用化的可行性。
阅读全文
摘要:特殊半径的中值模糊算法急速优化,在某些预处理过程中有着非常重要的应用,本文给出基于SSE的指令的3*3核大小中值优化的方法,实测能达到4000*4000灰度图7.5ms实现的速度,并介绍了Photoshop中蒙尘和划痕算法的原理及其和中值模糊的关系。
阅读全文
摘要:经典的Canny边缘检测算法实现过程中部分细节的描述,开发记录等。
阅读全文
摘要:拉普拉斯金字塔融合是多图融合相关算法里最简单和最容易实现的一种,我们在看网络上大部分的文章都是在拿那个苹果和橙子融合在一起,变成一个果橙的效果作为例子说明。在这方面确实融合的比较好。但是本文我们主要讲下这个在图像增强方面的运用。
阅读全文
摘要:针对二值图的特殊性,提出了极度高效的腐蚀和膨胀算法,和巨头halcon相比,速度毫不逊色,针对4096X8192这样大小的图,甚至达到了13ms内处理完的速度。
阅读全文
摘要:Euclidean distance map(EDM,欧几里得图)这个概念可能只有经常和二值图打交道的人才可能比较熟悉,其可由一幅二值图生成一幅灰度图,并且可灵活的运用于图像腐蚀、膨胀、开闭运算等,对于图像分割也能起到很好的作用,而且其各向同性的属性能有效弥补某些传统算法的不足和缺陷,且有着非常高效的快速算法。
阅读全文
摘要:MLAA即Morphological Antialiasing,是一种完全基于CPU处理的抗锯齿解决方案,能够在图像生成后再次对图像进行去锯齿处理。本文解析了Intel的相关代码,提出了一些优化手段和改进意见。
阅读全文
摘要:这是一篇2010年比较古老的文章了,是在QQ群里一位群友提到的,无聊下载看了下,其实也没有啥高深的理论,抽空实现了下,虽然不高大上,还是花了点时间和心思优化了代码,既然这样,就顺便分享下优化的思路和经历。
阅读全文
摘要:在学习housisong大神关于三次卷积插值一文的基础上,对算法进行重新整理和分析,使用SIMD指令再次提高算法的速度并分享代码。
阅读全文
摘要:对图像算法进行SSE优化时,有很多常用的过程,本文列举了十几个例子,有些是很高效的,有些是很常用的,对研究图像的朋友有一定的帮助。
阅读全文
摘要:分支判断的语句一般来说是不太适合进行SSE优化的,因为他会破坏代码的并行性,但是也不是所有的都是这样的,在合适的场景中运用SSE还是能对分支预测进行一定的优化的,我们这里以经典的USM锐化算法的部分代码为例进行讲解。
阅读全文
摘要:使用SSE优化两种颜色空间的转换,测试1080P的图像能达到455fps左右,可显著提高视频算法的实时性。
阅读全文
摘要:关于局部均方差有着较为广泛的应用,但是直接计算其计算量较大,本文描述了基于SSE优化的思路,并提出使用均布平方差代替均方差来提高某些场合的效果。
阅读全文
摘要:再次触发灵感,终于将懒惰算法的图像模糊算法使用了SIMD指令集实现,速度比opencv的cvSmooth函数快近5倍,在一台老旧的I3笔记本上处理3000*2000的灰度图达到了6ms的速度,本文分享该优化过程并提供灰度版本的优化代码供大家学习和讨论。
阅读全文
摘要:理论分析和工程实践之间还有很长的路要走,本文描述了作者在实践FFT用于快速卷积过程中的若干经验和技巧。
阅读全文
摘要:在很多场合需要高效率的肤色检测代码,这里分享一个简单的肤色检测的SSE实现算法。
阅读全文