算法
8rfuz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PPG插值
DCRAWdarktable原创 2020-12-11 18:25:47 · 793 阅读 · 0 评论 -
噪声
https://blog.csdn.net/matrix_space/article/details/105745560/https://blog.csdn.net/lpsl1882/article/details/51339742原创 2020-12-03 14:03:32 · 515 阅读 · 0 评论 -
clang - msvc
想体验下openmp后续的一键GPU优化新特性,可惜VS只支持openmp2.0。https://devblogs.microsoft.com/cppblog/clang-llvm-support-in-visual-studio/然后装了个clang体验,结果neon_2_sse.h这个文件各种编译通不过。error报各种未定义标识符:__fp16 __builtin_ia32_shufps __builtin_ia32_pshufd等等网上也找不到相关解决方案,看来只能等后续V...原创 2020-11-10 17:00:22 · 790 阅读 · 0 评论 -
interpolation method
Cubic Key:cubic B-spline:cubic o-Moms:Thévenaz P, Blu T, Unser M. Image interpolation and resampling[J]. Handbook of medical imaging, processing and analysis, 2000, 1(1): 393-420R. Keys (1981). "Cubic convolution interpolation for digit...原创 2020-10-15 16:48:11 · 1019 阅读 · 0 评论 -
Bicubic interpolation
网上的公式基本指的是Cubic convolution interpolation。看了下这篇文章,主要就是提出了一个 双三次卷积插值算法,这个算法精度介于线性插值与三次样条插值之间,并且是三阶近似。——————————————————————————————————————————————————————插值kernel公式:1. 插值使用特定区间分段三次多项式,并且插值的权重kernel是对称的 (为什么?),那么形式如下,8个未知数待定2.插值kernel满足整点...原创 2020-10-13 17:21:58 · 1191 阅读 · 2 评论 -
bayer AHD插值
最近做RAW,遇到一些issue涉及到raw的伪彩,为了有希望解决这个问题,去看了下AHD paper,希望能学到一些技巧有助于帮助伪彩的解决。这里做个记录。AHD插值step1. G的插值: paper里用最优化过程导出了一个filter。filter 长度为5,对于R0,G1,R2,G3,R4,运用该filter可得到G2的值。这个定点化后的filter的理解(性质): 若进行变形可得到 a. G2 = weight(Gi-Ri)+R2,也就是说R2加上一...原创 2020-09-28 09:17:58 · 2346 阅读 · 0 评论 -
超高速指数模糊算法
网上有一篇非常快的模糊算法实现:SSE图像算法优化系列五:超高速指数模糊算法的实现和优化(10000*10000在100ms左右实现)。名字叫 Exponential blur(指数模糊)。在搜材料时搜到只搜到了代码:blur.cpp两个链接的核心代码就是 *zR += (alpha * ((R << zprec) - *zR)) >> aprec;事实上可以看出代码实现的就是Deriche filter里提到的公式:a first order I...原创 2020-07-28 09:45:12 · 731 阅读 · 0 评论 -
harris角点,亚像素 以及 hdrplus的亚像素对齐
最近在弄对齐,对齐里有个亚像素对齐,然后opencv里又有个角点亚像素refine,然后就到了角点...,这一系列关联下去,就去学了个角点,然后这些基本推导都非常类似... 看上去只要是扯到图像结构啥的,都会涉及到梯度啊,局部极小,然后taylor,hessian,特征值一系列都会有所涉及,所以原理推导基本都很类似。 1.harris角点认为局部移动导致变化强烈的点就是角点,然后公式里talor展开合并得到一个二次型,矩阵就是类hessian。二次型矩阵是实对称矩阵A,可以正交分解成...原创 2020-07-17 09:05:34 · 861 阅读 · 0 评论 -
tonemap SR
一种快速简便优秀的全局曲线调整与局部信息想结合的非线性彩色增强算法(多图深度分析和探索)SSE图像算法优化系列二十:一种快速简单而又有效的低照度图像恢复算法。低对比度图像增强及图像边缘检测方法SSE图像算法优化系列二十八:深度优化局部拉普拉斯金字塔滤波器。论文笔记:Handheld Multi-Frame Super-ResolutionHMSR - 根据图像梯度方向生成滤波kernel权重Kernel Regression for Image Processing and R.原创 2020-07-03 15:02:52 · 400 阅读 · 0 评论 -
性能优化相关以及一些困惑
最近稍微看了些CPU性能相关,大致浅显地了解了下“缓存”“cache line”“false sharing”“缓存分块算法”对性能的影响。在理论了解后,打算实际应用时产生了困惑:1.缓存大小已知后,实际编码时怎样简单快速地感知当前代码在CPU上的缓存表现?如果使用缓存分块算法,怎样确定计算具体分块参数?这些疑惑网上没找到解答,网上多数都停留于理论介绍上,实际如何应用的材料还没看到,快速操作推荐方法没怎么看到。 看来只能日后自己在代码中尝试做下实验进行实际感受了。2.既然性能还与缓存相关,那么给定.原创 2020-06-30 16:03:35 · 206 阅读 · 0 评论 -
poisson快速算法
泊松融合是个经典问题,网上已经有很多材料介绍了,自己以前也有做过笔记:poisson方程组矩阵前段时间,项目中用了泊松融合,为了能在产品使用,对性能有一定要求,通用的解法基本是不满足要求的。后来网上看到了一个关于poisson的优化材料,code实现了下,性能优化非常明显,可见数学优化还是非常重要。材料链接:Solving the Discrete Poisson Equation using Jacobi, SOR, Conjugate Gradients, and the FFT各种算法复杂原创 2020-06-29 15:05:38 · 2175 阅读 · 0 评论 -
RAW ISP流程
键盘摄影(七)——深入理解图像信号处理器 ISP原创 2020-06-28 14:42:03 · 780 阅读 · 0 评论 -
Recursive filter笔记记录
Recursive gaussian filter是gaussian filter的一种近似实现,可以参看这篇survey: A Survey of Gaussian Convolution AlgorithmsPascal Getreuer其中之一是Vliet–Young–Verbeek :1.Recursive implementati...原创 2019-11-07 14:56:17 · 1752 阅读 · 0 评论 -
最大团问题(Maximum Clique Problem, MCP)
http://www.cnblogs.com/xymqx/p/3745180.html转载 2016-10-24 09:55:43 · 1094 阅读 · 0 评论 -
乘法逆元+线性求mod p的所有数逆元
http://blog.miskcoo.com/2014/09/linear-find-all-invert[数论]线性求所有逆元的方法 September 7, 2014 miskcoo Algorithm, Math前几天在看 lucas 定理的时候发现要求 1, 2,⋯,p−1modp1, 2,⋯,p−1modp 的逆元,然后就看到了一个 Θ(n)Θ(n)原创 2015-11-21 20:46:56 · 1613 阅读 · 0 评论 -
最小生成树 kruskal算法+时间复杂度
Kruskal算法与Prime算法的区别就在于一个是以边为目标进行考虑,一个以点为目标进行考虑。由于Kruskal算法以边进行考虑,就涉及到边可能属于两个连通块,这时候就涉及到连通块的判断查找合并。 这个知识点属于 算法导论里 不相交集合 的 内容。转载 2016-10-08 17:34:46 · 22854 阅读 · 1 评论 -
最小生成树 Prime算法 + 时间复杂度
主要就是以点作为目标来考虑, 而不是以边进行考虑。转载 2016-10-08 17:13:03 · 29688 阅读 · 0 评论 -
字典树 Tri树
以下是固定存储字符的字典树。 可以以空间换时间,变为可变长的字典树,不过这样的话,查找就会费时了。#pragma comment(linker, "/STACK:10240000,10240000")#include#include #include #define node_size 70 #define maxlen 100const char trie_b原创 2016-10-28 15:40:41 · 802 阅读 · 0 评论 -
并查集(DSU)
并查集的英文是Disjoint Set Union, 因此又称(DSU)算法导论里的 不相交集合的数据结构 章节指的就是这个。并查集有两种优化策略:1.按秩合并 Union by Rank2.路径压缩 Path Compression使用与不使用这些策略的时间复杂度分析如下:在实际应用中,人类现有甚至未来的数据几乎不原创 2016-10-26 15:14:08 · 6948 阅读 · 1 评论 -
线性筛法 约数个数
对线性筛法进行修改,就可以在O(n)复杂度内,递推求得n以内所有整数的约数个数。 #include<iostream>using namespace std;const int MaxPrimeNum = 278499, MaxSize = 1000001;int num_prime = 0, MinPrime[MaxSize], MaxPrime[MaxSi...原创 2016-10-24 14:19:07 · 2132 阅读 · 0 评论 -
BSP material
ftp://ftp.sgi.com/other/bspfaq/faq/bspfaq.html#7.txt点击打开链接原创 2016-12-10 02:41:44 · 337 阅读 · 0 评论 -
BSP代码 日志记录
主要记录一些觉得可能存在的问题。最近以为代码有个潜在的bug,只是因为特例的特殊,所以出现概率较小。 所以还是记录一下比较好,记忆太差。存在的bug是这样的:当建成的BSP树对某个polygon A进行空间划分切割时,如果出现共面情形,并且该 划分超平面上同时有正负2种polygon时,并且A同时与这2种polygon有重叠时。这时候该polygonA哪些原创 2016-12-17 16:15:43 · 756 阅读 · 0 评论 -
记 整数划分(integer partition)
好几次了,怕以后找不到了,还是记录一下网址吧。http://www.cnblogs.com/xubenben/p/3664959.htmlhttp://duoerbasilu.iteye.com/blog/1606001转载 2017-02-20 16:43:37 · 809 阅读 · 0 评论 -
二进制倒序算法
建表,递推求出1-n的所有数的二进制倒序,复杂度O(n):二进制串长度L, 求出某个数n的二进制倒序,算法思想复杂度O(log L):原创 2016-05-13 16:53:02 · 2886 阅读 · 0 评论 -
傅里叶变换
很多东西学了后就忘光了,淡淡的忧伤。本科数学分析学了后,教材保留带到研究生阶段。研究生毕业竟然扔了,现在到用到的时候,感觉亏死了。还好还是留有一些印象,在网上找了些资料又回顾了一些。 但还是觉得好亏,怎么能扔了呢!!!傅里叶级数展开:点击打开链接傅里叶级数转化为复数形式:点击打开链接算法导论里是讲傅里叶变换的应用在多项式相乘上。里面嵌套了DFT的如何快速求...原创 2017-11-13 17:19:49 · 513 阅读 · 0 评论 -
小波变换笔记
双正交、完备性、对偶向量原创 2018-11-13 13:56:26 · 280 阅读 · 0 评论 -
yuv rgb理解笔记
(转)视频与图像RGB/YUV格式详解但是对于视频捕获和编解码等应用来讲,这样的表示方式数据量太大了。需要想办法在不太影响感觉的情况下,对原始数据的表示方法进行更改,减少数据量。 无论中间处理过程怎样,最终都是为了展示给人观看,这样的更改,也是从人眼睛的特性出发,和发明RGB三原色表示方法的出发点是一样的。 于是我们使用Y,Cb,Cr模型来表示颜色。Ia...转载 2018-11-13 14:23:50 · 471 阅读 · 0 评论 -
dp四边形优化
四边形优化资料: https://blog.csdn.net/noiau/article/details/72514812 题目链接 : postoffice已过: https://cn.vjudge.net/problem/POJ-1160 #include<iostream>#define maxlen 2001+90#define maxva...原创 2018-12-18 23:01:49 · 350 阅读 · 0 评论 -
积性函数系列(一):欧拉函数
http://zhengyidong.me/2014/11/积性函数系列(一):欧拉函数/积性函数系列(一):欧拉函数NOVEMBER 14, 2014 AT 1:23 AM本系列是数论篇章的第一篇(于是又挖了一个数论的坑orz),主要介绍、证明初等数论中一些重要的概念、结论。在微积分学领域,积性函数指的是具有f(ab)=f(a)f(b)的函数,在数转载 2015-11-21 15:33:02 · 2441 阅读 · 0 评论 -
树形dp 二叉树版本与多叉树版本
#includeusing namespace std;#define maxlen 100001#define maxlen1 101//int s[maxlen];int c[maxlen][5];int myarray[maxlen];//int father[maxlen];bool is_visited[maxlen];long long result[maxlen原创 2016-10-10 14:44:15 · 510 阅读 · 0 评论 -
PCA原理理解记录
以前对主成分分析PCA(Principal Component Analysis)总是似懂非懂,也因此只会拿来用,但心里没底气深入地跟人交流自己对PCA的理解。最近总算是下定决心搞懂了PCA的原理由来以及推导证明了,让我用C++程序实现也有底气了。现在给定一堆数据集是n个p维的向量。有时候为了更好的分析,我们希望能对它进行降维(这只是拿来举例,一开始可能只是想要更好地重组这个数据)。这原创 2016-06-18 23:03:19 · 655 阅读 · 0 评论 -
EM算法
http://blog.csdn.net/zouxy09/article/details/8537620http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.htmlhttp://blog.csdn.net/abcjennifer/article/details/8170378点击打开转载 2016-06-30 10:56:54 · 299 阅读 · 0 评论 -
最长递增子序列
目录(?)[-]问题解法1最长公共子序列法解法2动态规划法时间复杂度ON2解法3ONlgN算法问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4. 解法1:最长公共子序列法这个问题可以转换为最长公共子转载 2015-12-12 20:45:56 · 369 阅读 · 0 评论 -
随机抽样一致性算法(RANSAC)
随机抽样一致性算法(RANSAC)作者:王先荣 本文翻译自维基百科,英文原文地址是:http://en.wikipedia.org/wiki/ransac,如果您英语不错,建议您直接查看原文。 RANSAC是“RANdom SAmple Consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它是转载 2015-11-26 12:00:56 · 573 阅读 · 0 评论 -
第一类stiring数
下面是有符号第一类stiring数 ,原创 2015-11-01 17:19:30 · 613 阅读 · 0 评论 -
一些常见组合数
上面的排列,不考虑其顺序。也就是说,这k个循环排列之间互相交换顺序,还是算一种。而且每个循环排列是按特定顺序的,即{A D C}与{A C D}是不同的,即有向环,按特定方向。这里n个物品是被标号的物品,互不相同,可以被区分开来。原创 2015-11-01 16:13:07 · 3599 阅读 · 0 评论 -
Least-Squares Rigid Motion Using SVD
Least-Squares Rigid Motion Using SVD原创 2015-11-22 15:23:50 · 1217 阅读 · 0 评论 -
莫比乌斯函数
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Syu Gau链接:http://www.zhihu.com/question/23764267/answer/26007647来源:知乎首先定义几个概念:1,卷积:设是两个数论函数(也就是说,以自然数集为定义域的复数值函数),则卷积运算定义为可以证明,卷积运算满足:1)交换律转载 2015-11-21 15:26:02 · 2089 阅读 · 0 评论 -
floyd算法原理
floyd算法的本质是一个动态规划的过程。 下面 前k个点即:1,2,...,k状态转移方程:f[k][i][j]=min(f[k-1][i][j],f[k-1][i][k]+f[k-1][k][j])f[k][i][j]表示只经过前k个点(包括k),从i到j的最小值。 我们熟悉的用二维数组的写法实际上是对空间的一种压缩。f[k][i][j]表示i到原创 2015-10-28 10:03:27 · 1412 阅读 · 0 评论 -
矩阵乘法的优化
/* for (i = 0; i < 2; ++i) for (j = 0; j < 2;++j) { result[i][j] = 0; for (k = 0; k < 2;++k) { result[i][j] = (result[i][j] + (A[i][k] * B[k][j])%m)%m; } }*/ result[0][0] = resu转载 2015-10-12 15:41:26 · 490 阅读 · 0 评论
分享