
SSE图像算法优化
sse优化图像算法。
just_sort
Acdream.
展开
-
【AI PC端算法优化】八,小半径中值滤波的SSE极速优化
1. 前言大家应该经常碰到这种需求,那就是使用3×33\times 33×3或者5×55\times 55×5这种相对比较小的窗口进行中值滤波,而如果在图像的分辨率比较大的情况下这种操作也是比较耗时的。所以在这种固定场景下设计一个定制的优化算法是有意义的。2. 普通的3*3中值滤波实现普通的实现没什么好说,就是直接在窗口区域内遍历寻找中位数即可,这里获取中值直接使用了c语言的qsort。代码实现如下:int ComparisonFunction(const void *X, const void *原创 2020-06-02 21:28:44 · 929 阅读 · 3 评论 -
【AI PC端算法优化】七,RGB和YUV图像颜色空间互转SSE优化
1. 前言继续学习指令集优化的知识,今天来讨论一个图像颜色空间转换经常碰到的一个问题即RGB和YUV图像的颜色空间转换,我们从原理介绍和普通实现开始,然后介绍一些优化方法并引入SSE指令集来优化这个算法的速度。2....原创 2020-05-13 23:19:22 · 1027 阅读 · 0 评论 -
【AI PC端算法优化】六,优化一个简单的肤色检测算法
1. 前言继续学习优化知识,这一节将以一个简单的肤色检测算法为例谈谈当一个算法中有比较运算符时,我们该如何向量化并进行加速,简单来说就是如何将比较运算语句写成SSE/AVX指令。2. 普通实现这是一个用来做肤色检测的算法,在《human skin color clustering for face detection》这篇文章中被提出,核心伪代码就是如果满足下面这个条件:R>95 An...原创 2020-04-22 22:34:03 · 1264 阅读 · 0 评论 -
【AI PC端算法优化】四,一步步将Sobel边缘检测加速22倍
1. 前言继续优化技术的探索,今天以一个3×33\times 33×3的Sobel算子进行边缘检测的算法为例来看看如何使用SSE指令集对其进行优化。2. 原理介绍众所周知,在传统的图像边缘检测算法中,最常用的一种算法是利用Sobel算子完成的。Sobel算子一共有222个,一个是检测水平边缘的算子,另一个是检测垂直边缘的算子。Sobel算子的优点是可以利用快速卷积函数,简单有效,且对领域像...原创 2020-04-16 11:15:09 · 2176 阅读 · 7 评论 -
【AI PC端算法优化】三,深入优化RGB转灰度图算法
0. 目录前言RGB2GRAY最简单实现RGB转GRAY优化第一版(float->INT)RGB转GRAY优化第二版(手动4路并行)RGB转GRAY优化第三版(OpenMP4线程)RGB转GRAY优化第四版(SSE优化,一次处理12个像素)RGB转GRAY优化第五版(SSE优化,一次处理15个像素)RGB转GRAY优化第六版(AVX2优化,一次处理10个像素)RGB转GR...原创 2020-04-11 17:43:47 · 1240 阅读 · 5 评论 -
【AI PC端算法优化】二,一步步优化自然饱和度算法
上一节的RGB转灰度图算法我又做了两个相关优化,加入了多线程以及去掉了上次SSE计算中的一些重复计算,现在相对于传统实现已经可以获得4倍加速。同时我也在做一个AVX2的优化,所以不久后我将发布一个RGB转灰度图算法优化的升级版,尝试触摸这一个算法的优化极限,我会尽快做完实验发出来的。今天我先介绍一个有趣的自然饱和度算法,并讲解如何一步步进行优化。1. 原始实现今天要介绍的自然饱和度算法是一...原创 2020-04-08 15:01:14 · 1408 阅读 · 0 评论 -
【AI PC端算法优化】一,一步步优化RGB转灰度图算法
1. 前言终于下定决心来更新这个专题了,首先说一下我想做什么?我想做的就是基于SSE/AVX的PC端算法优化,也可以理解为对传统的OpenCV算法的指令集优化。这个系列也会保持一直更新,不断分享我学习SSE/AVX指令集以及利用它优化的一些小算法,希望能在算法加速这一点帮助到一些人。另外,虽然这个专题的核心是SSE/AVX算法优化,但我也同时会介绍一些其它的优化技术比如循环展开,多线程,内存优...原创 2020-04-06 17:30:20 · 1592 阅读 · 0 评论 -
SSE优化系列十:RGB和YUV格式图像互转SSE优化
前言最近感觉对SSE已经算是熟练度更加好了一点了,这一节就来探讨图像处理中一个常见的算法,就是颜色通道转换问题。RGB2YUV朴素实现原创 2019-08-14 10:23:41 · 2054 阅读 · 1 评论 -
SSE优化系列九:小半径中值滤波的SSE极速优化(比OpenCV3.1.0快9-10倍)
前言在优化系列六:https://blog.youkuaiyun.com/just_sort/article/details/97280807 中提出了一个直方图算法处理框架,可以处理中值滤波,最大值滤波等,算法复杂度是和半径大小无关的。但是这里忽略了一个点在半径很小的时候,这个算法实际上是比直接暴力处理更慢的。而我们在日常图像处理过程中,小半径的中值滤波是最常用的例如3 * 3, 5 * 5 在PS中都...原创 2019-08-06 16:10:50 · 1457 阅读 · 0 评论 -
SSE优化系列八:使用SSE优化多尺度细节提升算法
前言这篇文章的原始来源请看我以前写的这篇博客:https://blog.youkuaiyun.com/just_sort/article/details/85007555 上面有算法原理和普通的opencv实现。然后这篇文章是在SSE优化系列七: 对盒滤波的SSE优化(https://blog.youkuaiyun.com/just_sort/article/details/98075712)的基础上,将多尺度提升算...原创 2019-08-05 14:44:53 · 1968 阅读 · 0 评论 -
SSE优化系列七:使用SSE优化盒滤波
前言接着上一篇博客here构造的用直方图技巧加速的滤波算法处理框架,使用SSE实现了近似于O(1)的BoxFilter,参考博客:https://www.cnblogs.com/Imageshop/p/5053013.html ,接下来分享一些实现关键点和细节。本文的函数接口和上一篇博客完全一致。普通C语言实现// 函数功能: 实现图像方框模糊效果// 参数列表:// Src: 需要处理...原创 2019-08-01 16:58:20 · 1447 阅读 · 0 评论 -
SSE算法优化系列六:使用SSE优化最大值滤波
前言原创 2019-07-25 18:04:44 · 1998 阅读 · 0 评论 -
SSE算法优化系列5:一个简单的肤色检测算法
前言同样,这篇文章仍然可以看成是阅读了ImageShop的https://www.cnblogs.com/Imageshop/p/7364115.html 总结。肤色检测普通实现这个算法的原理我已经在之前的一篇文章讲过了:https://blog.youkuaiyun.com/just_sort/article/details/93134960 ,这里先直接给一下C语言实现的普通代码。#define ...原创 2019-07-19 15:22:59 · 754 阅读 · 3 评论 -
SSE算法优化系列4:使用SSE优化Sobel边缘检测算法,加速比9.5倍
前言仍然是学习Imageshop的文章,https://www.cnblogs.com/Imageshop/p/7285564.html 。做了一个小总结,并且完整实现了这个SSE优化的算法,可以关注我专门用SIMD优化图像处理算法的工程:https://github.com/BBuf/Image-processing-algorithm-Speed传统的Sobel算法实现我之前写过Sobe...原创 2019-07-17 11:33:14 · 2953 阅读 · 9 评论 -
SSE算法优化系列3-自然饱和度(Vibrance)算法的模拟实现及其SSE优化
前言在ImageShop的博客上看到这个算法,本着跟大佬一起学习SSE的目的,开始了这个博客。我的代码实现:https://github.com/BBuf/Image-processing-algorithm-Speed 。作者的源码失效了,这个代码是我参考着作者博客复现出的。算法原理实际上就是下面这个代码,具体原理不清楚,这篇博客的目的本来也就是学习如何SSE优化代码,所以也无伤大雅。/...原创 2019-07-15 18:32:16 · 1153 阅读 · 1 评论 -
SSE图像算法优化系列2-高斯滤波
前言本算法的原理以及优化过程都是偷师ImageShop,也可以把这篇文章理解为https://www.cnblogs.com/Imageshop/p/6376028.html 这篇文章的一篇阅读总结。原理首先,高斯滤波是可以用递归算法来实现的。这最早见于《Recursive implementation of the Gaussian filter》论文中:在forward的过程中,n是递...原创 2019-07-09 17:27:06 · 2867 阅读 · 0 评论 -
SSE图像算法优化系列1-RGB转灰度图
前言ImageShop博主是我的Idol。我会逐渐出一些SSE优化一些图像领域的算法的文章,并且将代码开源到Github,希望可以为我多多star。算法原理RGB转灰度图没啥说的了,这里的重点在于使用SSE优化,但为了和普通以及多线程优化的程序做一个速度对比这里也提供了一下对应的程序实现,我在实现这个代码的时候主要参考了ImageShop博主的这篇文章,https://www.cnblogs...原创 2019-07-02 17:06:37 · 2908 阅读 · 3 评论 -
SSE优化系列十一:SSE优化三次卷积插值算法
前言原创 2019-08-28 15:06:02 · 2297 阅读 · 0 评论