算法
pangdawa
这个作者很懒,什么都没留下…
展开
-
g2o源码阅读
之前写的g2o源码阅读笔记,分享给有需要的人。整个文档请自行下载,这里只贴一个图片。原创 2023-03-03 14:54:53 · 178 阅读 · 0 评论 -
windows 10 Tensorflow GPU 版本安装
时隔一年,再装tensorflow,发现windows10上面安装已经比之前简单了很多https://www.tensorflow.org/install/gpu?hl=zh-cn现在GPU 版本和 CPU版本已经合并了,所以可以直接安装pip install tensorflow碰到错误,可能是因为之前装 tensorflow-gpu失败导致的https://www.cnblogs.com/conver/p/11141176.htmlCannot uninstall ‘wrapt’. It原创 2020-12-05 09:25:54 · 190 阅读 · 0 评论 -
广度优先搜索(BFS)用于图像处理
最近做一些需求,发现 BFS 还挺好使,经常用, 主要是用于 特定目的 的连通区域分析理论上 深度优先搜索也可以达到同样效果,但实际运用时发现 基于栈实现深度优先搜索在处理 比较大的连通区域时 导致 栈溢出, 那么还是使用 BFS 吧。// i - row,void bfsFix(int i, int j, cv::Mat & img, int thresholdValue, int destValue) { int m = img.rows; int n = img.cols; in原创 2020-07-18 11:40:44 · 384 阅读 · 0 评论 -
基于eigen实现 bundle adjustment
纯粹是演示性代码,用于展示BA过程,没有做稀疏矩阵相关的优化#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>#include &l...原创 2019-12-27 15:26:27 · 508 阅读 · 3 评论 -
博弈,游戏,是否有先手必胜的情况
最近做一个题, 说是 判断 某个游戏 是否有先手必胜的情况, 在草稿纸上画了画, 想了一阵,发现 把 所有当前游戏的局面描述为一个状态, 状态之间的变化 实际上构成一颗 多叉树, 如果 有先手必胜的情况, 那么这棵树 就会具有某种特点,即 包含某性质的某颗子树, 然后自己 便陷入 严格定义树的特定,然后 试图编码查找这样的树, 发现 挺恼火。第二天开会的时候, 发现可以不用管这么多。树中某个节点...原创 2019-12-07 21:45:34 · 611 阅读 · 1 评论 -
稀疏矩阵的乘法
最近做一个题, 稀疏矩阵的乘法, 自己想了下,最直观的想法当然是 记录 下来 哪些 不为0的元素,只对这些元素进行操作, 假设 A * B, 由于 矩阵乘法的定义是 A的某行乘以 B的某列, 产生的第一个想法是 记录下来 A的每一行中不为0的元素的列号, 记为 集合 AN, 记录下来 B的每一列的行号,记为 集合 BN。然后 进行计算。 等写代码的时候才发现, 需要列号 和行号对应 两个数字 才...原创 2019-12-07 21:37:31 · 1777 阅读 · 2 评论 -
yolov3 yolo层 涉及到的数据的内存分布情况
整个 yolov3 涉及到的比较复杂的数据在内存排布 就是 yolo层了,根据代码理了下,主要是 根据entry_index()进行分析yolov3有3个yolo层, 具体结构参考https://medium.com/@chih.sheng.huang821/深度學習-物件偵測yolov1-yolov2和yolov3-cfg-檔解讀-75793cd61a01这个网址估计不容易访问,直接贴图...原创 2019-06-28 15:27:24 · 2289 阅读 · 3 评论 -
Huffman 编码 C++实现
大约十年前就该完成的程序,今天才搞定了,花了三个小时,直接看《算法引论-一种创造性方法》第6章 haffman 编码的方法 和 第四章 堆 的实现, 书上给的是最大堆, haffman 编码 需要用最小堆, 使用数组实现堆, 如果起始坐标从0开始带来一些麻烦,书上给的是从1 开始。之所以说十年前,是因为大三的时候(按大三算还没到10年),信息论的课上肯定是讲了这个算法的, 算法本身很直观,思想...原创 2019-06-23 20:38:46 · 3168 阅读 · 0 评论 -
编程之美---正则匹配
动态规划,关键是处理 * 号, 根据匹配次数进行 状态转移,关键点是 多次匹配时, 保留星号,待匹配字符串划掉当前匹配字符,通过递归,即为多次匹配,不需要手动去写一个循环来处理 多次匹配。仅仅 匹配一次时, 星号去掉,待匹配字符串划掉当前匹配字符。class Solution {public: int width; bool isMatch(const char * s, const c...原创 2019-06-18 10:18:22 · 136 阅读 · 0 评论 -
编程之美---找出翻烙饼的最少次数
最近把《编程之美》上这个题做了下, 觉得挺简单的啊,就是一个广度优先搜索,用到的数据结构是 数组+队列+栈, 搜索空间还需要进一步优化感觉代码比 书上的要简单些,就是一些小函数 组合一下,不要使用类!!!#include <iostream>#include <vector>#include<queue>#include<stack>u...原创 2019-06-09 11:44:31 · 316 阅读 · 0 评论 -
对算法问题的思考
今天浏览一个复旦牛人的博客,此君现在在facebook复旦软院研究生,牛得不得了博客地址为:http://blog.yxwang.me/今天看到这篇文章,有点感触http://blog.yxwang.me/2008/04/count-1-bits-in-an-int32/《编程之美》一个二进制趣题的讨论这个题之前在几本书上都看过了,包括《编程之美》,无非是几个考虑时原创 2013-10-05 22:39:19 · 1056 阅读 · 0 评论 -
KMP算法实现
又把KMP实现了一编,检查出来以前的一个错误void getNext(char *p, int next[]){ int len = strlen(p); int i, j; next[0] = 0; for(i = 1; i < len; i++) { j = next[i-1]; while(j != 0 && p[j-1] != p[i-1]) j原创 2013-10-17 22:06:10 · 921 阅读 · 0 评论 -
gtsam笔记
Gtsam源码阅读笔记Values-inl.h中 // insert a templated value template void Values::insert(Key j, const ValueType& val) { insert(j, static_cast(GenericValue(val))); }过程为,将原创 2017-04-10 09:39:13 · 2223 阅读 · 3 评论 -
最近做的一些优化工作
最初的优化是多线程, 每层单独处理, 然后是优化了个别函数中 优化直接使用 Mat 运算时 出现大 大量临时 Mat/ MatExpr 对象这种问题, 尝试过 Intel 编译器, SSE指令集 去掉高斯模糊解决的问题有: 姿态漏发,通过屏幕录像专家 崩溃问题, 汇编调试, coredump 文件使用 OpenCV 的API 有两种优化思路: 1 数值运算如果量大,那么去掉直...原创 2018-10-15 16:15:16 · 291 阅读 · 0 评论 -
欧拉角和旋转矩阵的转换
网络上一些版本都是得到的分量都是在-90度和90度之间变化, opencv 那个实时位姿估计 带的代码反而在 -180和180之间 保存一下// Converts a given Rotation Matrix to Euler anglescv::Mat rot2euler(const cv::Mat & rotationMatrix){ cv::Mat euler(3...原创 2018-05-14 13:43:33 · 1417 阅读 · 0 评论 -
orb-slam开篇
过去的这两年里,很多时候都在和 orb-slam打交道。做了不少笔记。发表出来,权当备份。论文[ORB-SLAM: a Versatile and Accurate Monocular SLAM System]运行http://qiqitek.com/blog/?p=55下载并运行TUM(慕尼黑工业大学)的数据集下载的地址如下所示:http://vision.in.tum.de...原创 2018-11-23 21:07:05 · 431 阅读 · 0 评论 -
纪念自己看雪上的唯一一篇精华帖 《我的第一个keygen》
这些天想到 以前在看雪论坛写的文章,去看了下, 把 唯一一篇精华帖 搬过来,因为 这些年很少去那个论坛了。自己也不搞那个方向了。备注: keygen 就是 生成key的工具,也就是 注册机。需要通过阅读汇编代码理解 注册码的生成算法。也就是所谓的逆向工程了。 而 破解就比较粗暴,不用管 具体算法,让 注册验证机制失效即可。原文地址:https://bbs.pediy.com/thread-1...原创 2019-03-30 17:03:31 · 738 阅读 · 0 评论 -
编程之美---NIM游戏
使用了深度搜索、深度优先遍历多叉树等方法,最终输出 先手 必胜策略下的每一步状态转移,奇数步对应先手,偶数步对应后手#include <iostream>#include <vector>using namespace std;struct Sta{ int pos; // 从第几个位置取,从0开始计数 int len; // 取几个数,1或者2};...原创 2019-06-13 17:54:53 · 2300 阅读 · 0 评论 -
排队找零问题
这几天看《计算机常用算法与程序设计案例教程》--清华大学出版社一场球赛开始前,售票工作正在紧张的进行中。每张球票为50元,现有30个人排队等待购票,其中有20个人手持50元的钞票,另外10个人手持100元的钞票。假设开始售票时售票处没有零钱,求出这30个人排队购票,使售票处不至出现找不开钱的局面的不同排队种数。(约定:拿同样面值钞票的人对换位置后为同一种排队)m为有50元的人数原创 2013-10-05 22:24:46 · 4020 阅读 · 0 评论