
学习笔记
智慧视觉
意图致力于基于视频的行为识别、基于内容的图像/视频搜索,希望能与大家多多交流,共同提高!
展开
-
PIP安装本地离线包whl
PIP安装本地离线包whl原创 2022-09-04 14:59:40 · 6627 阅读 · 1 评论 -
PC上为嵌入式开发算法时遇到的麻烦解决
1,面向嵌入式的源文件,在vs2012下调试开发时尽量全部使用.cpp后缀,省去大量编译麻烦,搞定之后再行改为后缀.c2,预编译头 stdafx.h 冲突处理:为能避免文件内部使用预的预编译文件头 冲突,在嵌入式环境下预编译指令打开使用使用预编译头,否则关闭。并在vs2012项目下,选择这些文件, 右键---文件属性---配置属性--- c/c++ ---预编译头 --- 不使用预原创 2014-02-20 22:12:49 · 1092 阅读 · 0 评论 -
ofstream ifstream 文件操作
源址: http://www.cppblog.com/niewenlong/archive/2007/06/14/26302.htmlofstream ifstream 文件操作c++中输出和输入导屏幕和键盘的类别声明包含再标题文件中,而磁盘类文件的 I/O则声明再包含标题文件内。输入和输出格式:输出到磁盘 ofsteam 识别字(“文件名”)从磁盘读文件转载 2013-11-09 22:47:56 · 1181 阅读 · 0 评论 -
【有趣的面试算法题】之四 求最小不重复数,源于百度2014届校园招聘软件研发岗位深圳站
百度2014届校园招聘软件研发岗位深圳站的笔试中有这样一题:输入一个任意正整数,输出一个比输入值要大但又不重复的最小数(不重复是指:相邻两个数字不相同,例如1101是重复,1234不重复,1201不重复),比如输入1234,应当输出1235,而不是 1232、1236、4321等。分析思路:一,考虑数值区间。尽量选择一个容器比较大的类型,以便不溢出,unsigned long原创 2013-09-29 16:26:56 · 2524 阅读 · 6 评论 -
【OpenCV学习笔记】之六 手写图像旋转函数---万丈高楼平地起
话说,平凡之处显真格,这一点也没错! 比如,对旋转图像进行双线性插值,很简单吧? 可,对我,折腾了大半天,也没有达到预期效果! 尤其是三个误区让我抓瞎好久:1,坐标旋转公式。 2,双插的数据来源。 3,双插的方法。 这会的你,有明确答案了么?原创 2013-08-18 13:19:23 · 2124 阅读 · 1 评论 -
【OpenCV学习笔记】之三:Mat初始创建方法----要求数据连续存储
关于Mat的初始创建方法有很多,下面列举一些我喜欢使用的方法,以及使用过程中的一些注意事项。 使用Mat的一个基本常识是:它可区分为“数据头+数据体”两大部分,并且二者在内存中是可分离的,其产生过程也不需要并发/次序完成全部,因此,一个Mat变量的存在模式有:空头、头+体。另外,数据体部分可与其它Mat变量共享。对于共享的数据区块,只有大家都不使用时才会得以销毁和释放。 膜拜Open原创 2013-05-29 10:40:12 · 5183 阅读 · 0 评论 -
【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
做字符识别,不能不了解google的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新编译生成适合自己平台的lib和dll,经过近些天的不断搜索和尝试,可算是找了些门路。尤其感谢以下作者的分享带给我的帮助和启发:cxf7394373的 字符识别Google开源Tesseract-ocr的DLL调用方法夏梦c的Tesser原创 2013-08-11 14:39:26 · 13393 阅读 · 14 评论 -
【有趣的面试算法题】之三 求最大子序列和/积问题,关注起点和终点
最大子序列和的问题,网上讨论得比较多,较为推崇的复杂度为O(n)的算法:int maxSubSum(int* a, int n, int *seqStart=0, int *seqEnd=0){ int maxSum = 0; int thisSum = 0; for( int i = 0, j = 0; j < n; j++ ) { t转载 2013-08-20 13:20:59 · 1004 阅读 · 2 评论 -
【有趣的面试算法题】 数组循环移动算法细究
设计一个算法,把一个含有N个元素的数组循环右移K位,要求:时间复杂度为O(N),且只允许使用两个附加变量。最直接的想法是“一步到位”,每个数据只移动或者交换一次,几经摸索,终于找到了解法,效率堪称基本到达最优,呵呵, 进来看看?templatevoid shiftArrRightCir(T* arr, const int N, int k){...} k %=N; const int divN =N/k; for (int i =原创 2013-08-18 19:01:31 · 1611 阅读 · 0 评论 -
【有趣的面试算法题】之二 求1~n的整数中1的个数,递归统计区间块中1的数量
题目:求1~n的整数中1的个数。 常规做法是,先写一个右移判1的子函数,计算每个数里面的1的个数,然后遍历1~n,取和,就是答案。 但是 采用 递归统计区间块中1的数量,并且递归深度不会超过 n 的最高非0 bit位数,比较快吧?原创 2013-08-20 12:03:19 · 1350 阅读 · 1 评论 -
【C++基本功补习】查找三个数据中的最大值、最小值、中间值,两种实现方案比较
数据处理中经常有遇到 查找三个数据中的最大值、最小值、中间值的情况,而这又无现成的函数,又于是试着写了两套实现方案, 在代码简洁度和运行速度方面各有优劣,正所谓“鱼与熊掌不可兼得也”。 方案一//找出三个数中的 最小值template const T min3(const T a, const T b, const T c) { return m原创 2013-06-20 16:49:37 · 6415 阅读 · 0 评论 -
【OpenCV学习笔记】之五 RGB图像归一化处理函数,消除线性变化的光照影响
听说,将RGB图像归一化之后,可以消除部分光照影响,于是在没有找着现成的之后试着写了个,发现它并不能解决我的问题, 处理之后的视觉效果比较差还,像素之间显得那么不和谐。 现将源码公布,请大家多多指导。 // 将BGR颜色归一化,消除线性光照影响bool colorNormal(Mat& img){ if (img.channels() != 3) { ret原创 2013-06-19 20:02:34 · 10227 阅读 · 1 评论 -
【C++基本功补习】定时器使用及文件路径提取
1,定时器的使用 SetTimer(1, 1000, NULL); //启动定时器1, 定时1000毫秒, 使用默认的处理函数 OnTimer() KillTimer(1); //关闭定时器1处理函数的实现void CMFCView::OnTimer(UINT_PTR nIDEvent) // CMFCView 这个可以根据项目需要变更的,它只是表明原创 2013-06-07 00:12:52 · 1539 阅读 · 0 评论 -
【OpenCV学习笔记】之四:二值图像细化方法/骨架提取----基于2.0 Mat接口
由于OpenCV没有自带的图像细化函数,网上提供的基本是基于1.0接口的,于是乎动手搞成2.0 Mat类型接口的,方便好用。细化方法当中,当属经典的Zhang并行快速细化算法,细化之后的轮廓走势与原图保持得相对较好。参照 http://blog.youkuaiyun.com/byxdaz/article/details/5642669, 代码改造结果如下, //将 DEPTH_8U型二原创 2013-06-14 09:55:02 · 9766 阅读 · 0 评论 -
【OpenCV学习笔记】之二:Mat使用的潜规则----对数据类型敏感
一 概述 显然,OpenCV 2.x版本之后,Mat 类大有一统天下之势,操作方式上基本在向Matlab看齐,方便好用! 但它仍然没有Matlab灵活可靠,尤其是数据类型支持度方面。正所谓,有舍有得,估计正是OpenCV牺牲了数据类型的灵活支持度,才换得它的快速运行能力吧。二 函数接口中需手动指定输出数据类型 一大把的函数接口中均有明确列出目标数据类型原创 2012-12-05 18:04:51 · 1105 阅读 · 0 评论 -
【OpenCV学习笔记】之一: reduce() 和 findContours()的使用陷阱
之前学习OpenCV时是从于老师的书本教材开始的,所以一直使用的接串口就全是其于C的,但越使用越觉得C接口不其方便,再者使用C++应当是大的趋势所向,所以,又只好对相应的C++接口进行学习和使用,真心烦燥! 浪费了一些时间不说,关键是c++接口中的一些函数的使用和要求,与C的有些出入,按之前C的方法去使用,有时会出些莫名的问题,解决起来老费劲! 之前的笔记也记,只不过是,不是记在原创 2012-11-09 15:47:09 · 7148 阅读 · 1 评论