- 博客(23)
- 资源 (8)
- 收藏
- 关注
原创 牛人博客汇总之摘抄三
http://blog.csdn.net/v_july_v/article/details/6628086又发现了一个牛人的博客哎,,,好厉害的说en .http://www.cnblogs.com/bo083/archive/2012/03/25/2416627.htmlhttp://blog.csdn.net/zjf280441589/article/d
2015-07-14 08:59:36 458
原创 牛人博客汇总之摘抄二
http://blog.csdn.net/zjf280441589/article/details/16878347无坚不摧——完整项目“当他说他是OpenCC的作者的那一刻,哪个面试官不被秒杀。”当然你不需要NB到这个程度。如果你能对面试官说:“我读书期间做的项目有x万行代码。Google关键字xxx可搜到该项目的演示视频”,就足够了。程序员的所有技术能力都能在一个完整的
2015-07-13 11:08:57 498
原创 牛人博客汇总之摘抄(Talk is cheap, show me the code.)
http://blog.csdn.net/zjf280441589/article/details/260584311、读书计划的第一步是选择书籍,我曾向当时我觉得很牛的"学长"和"大神"请教应该读哪些算法书籍,"学长"们均推荐算法导论,还有几个"大神"推荐计算机程序设计艺术(现在我疑心他们是否翻过这些书),草草的翻了下这两本书发现实在看不懂,但幸运的是我在无意中发现了豆瓣这个神奇的网站,
2015-07-13 09:56:23 12297 3
转载 通道,灰度,深度
关于通道的解释: 1、比较通俗易懂的解释是:灰度图的通道数为1,彩色图的通道为3。基本上,描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道。如果一个像素点,有RGB三种颜色来描述它,就是三通道。 2、4通道通常为RGBA,在某些处理中可能会用到。2通道图像不常见,通常在程序处理中会用到,如傅里叶变换,可能会用到,一个通道为实数,一个通道为虚数,主要是编程方便
2015-07-10 10:34:23 1202
原创 c++中.h和.cpp中具体应该写什么内容
头文件(.h): 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下):头文件(.h):写在头文件里的是:类的声明(包括类里面 的成员和方法的声明)、函数声明、#define常数等。一般来说不写具体的实现 注意:要在开头
2015-07-09 21:13:54 1107 1
原创 《牛人博客汇总》
每次搜资料都能搜到很多牛人的东西,然后搜着搜着,就陷入了深深的膜拜之中。因为牛人很多,有价值的东西很多,所以要学习的东西有很多很多。不断持续更新中……于是将每次搜集到的牛人博客网址做个汇总,每次迷失方向的时候都去看看,并且想把里面的好的东西都学习一下。。。。为什么每次都觉得要学习的东西有好多好多好多好多啊!!!!!!!!!!!!!!!!!!!!!!!浅墨_毛星云ht
2015-07-09 11:07:20 1461
原创 CvMemStorage
CvMemStoragetypedef struct CvMemStorage{struct CvMemBlock* bottom;struct CvMemBlock* top;struct CvMemStorage* parent;int block_size;int free_space;} CvMemStorage;内存存储
2015-07-09 11:06:13 597
原创 《opencv入门》
imread("1.jpg",flag)flag=0;以单通道的形式引进图片flag>0;返回3通道的图片flag《Opencv入门》之后的便是视频的打开和读取。
2015-07-08 21:29:24 278
原创 《opencv入门》
随机填充:Mat R=Mat(3,2,CV_8UC3);randu(R,Scalar::all(0),Scalar::all(255));#include#includeusing namespace std;using namespace cv;int main(){ Mat R = Mat(600, 800, CV_8UC3); randu(R, Scal
2015-07-08 21:24:18 319
原创 《opencv入门》
Mat类简介:Mat是一个类,由两个数据部分组成,矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵的指针。为了解决矩阵数据的传递,OpenCV 使用了引用计数机制。其思路是让每个 Mat 对象有自己的矩阵头信息,但多个Mat 对象可以共享同一个矩阵数据。让矩阵指针指向同一地址而实现这一目的。 很多函数以及很多操作(如函数参数传值)只复制矩阵头信
2015-07-08 21:06:46 350
原创 《opencv入门》
矩阵的对角线元素可以使用 Mat 类的 diag()函数获取,该函数的定义如下: Mat Mat::diag(int d) const 参数 d=0 时,表示取主对角线;当参数 d>0 是,表示取主对角线下方的次对角线,如d=1 时,表示取主对角线下方,且紧贴主多角线的元素;当参数 d表示取主对角线上方的次对角线。 如同row()和col()函数, diag()函数也不进行内
2015-07-08 21:03:22 325
原创 《opencv2入门》感兴趣区域
Mat img(Size(320,240),CV_8UC3)方法一:Mat roi(img,Rect(10,10,100,100));方法二:Mat roi2=img(Rect(10,10,100,100))方法三:Mat roi3=img(Range(10,100),Range(10,100));方法四:Mat roi4(img,Range(10,100),Ran
2015-07-08 21:02:17 402
原创 《opencv入门》
选择:单行或者单列:Mat Mat::row(int i) constMat Mat::col(int j) const取出A矩阵的第i行:Mat line=A.row(i);取出A矩阵的第i行,将这一行的所有元素都乘以2,然后赋给第j行;A.row(j)=A.row(i)*2;多行或者多列://创建一个单位阵Mat A=Mat::eye(1
2015-07-08 20:40:56 310
原创 《Opencv入门》指针遍历
#include #include "opencv2/opencv.hpp" using namespace std;using namespace cv;int main(int argc, char* argv[]){ Mat grayim(600, 800, CV_8UC1); Mat colorim(600, 800, CV_8UC3); //遍历所有像素,并设置像
2015-07-08 20:31:03 896
原创 《opencv入门教程》(迭代器遍历)
#include#includeusing namespace std;using namespace cv;int main(){ Mat grayim(600,800,CV_8UC1); Mat colorim(600, 800, CV_8UC3); MatIterator_ graybegin, grayend; MatIterator_ colorbegin, col
2015-07-08 20:27:00 980
原创 《opencv 入门》第三章笔记(用at进行遍历)
#include#includeusing namespace std;using namespace cv;int main(){ Mat image(600,800,CV_8UC1); Mat image2(600,800,CV_8UC3); for (int i = 0; i < image.rows; ++i) { /*uchar * p = image.ptr(
2015-07-08 18:44:53 1548
原创 《opencv 入门教程》
一幅图像可以看做是一个m*n的矩阵,矩阵的元素的值表示这个位置上的像素的亮度,一般像素值越大则表示该点越亮。灰度图像:2维矩阵,彩色图像:3维矩阵。图像数据在计算机内存中的存储顺序为以图像最左上角开始。Mat 类定义里关键属性:int flag;int dims;int rows,cols;uchar*data;构造Mat;Mat M(3,2,CV_8UC3,S
2015-07-07 21:21:23 778
原创 《opencv入门教程》
常见错误:1.编译错误(1)找不到头文件(2)拼写错误2.连接错误运行错误:常见的运行错误就是:内存错误。如提示某些条件不成立,从而程序运行不下去,可能不是条件不成立,而是,条件所在的载体可能压根就不存在。所以,载入图片的时候,会事先验证一下图片是否存在。
2015-07-07 21:16:41 558
原创 《Opencv 入门教程》
很多初学者希望快速掌握opencv,但是会遇到很多困难,总结起来有两种:(1)c/c++编程基础不过关。提升编程能力,多练习编程。(2)不了解算法原理。提升理论知识。系统学习《数字图像处理》《计算机视觉》《模式识别》等opencv是一个计算机视觉库。1.1 编程的流程一个编程的基本流程:编辑,编译,连接。编辑即:编写代码。编译:将某种语言写成的源代码转换成目标文件(包含
2015-07-07 21:09:56 1390
原创 《数据结构与算法分析C++》 维斯 第一章 笔记
指数,对数,级数,模运算,证明方法。递归的简单介绍:递归并不是循环逻辑。因为他是从f(5)到f(4),一直下去,而非,从f(5)还在f(5).所以,递归并不是循环。当编写递归历程的时候,关键是呀牢记递归的四条基本法则:(1)基准情形:某些基准情形不用递归就能求解(2)不断推进:对于那些需要递归求解的情形,总能朝着基准情形方向靠近(3)设计法则:假设所有的递归调用都能运行
2015-07-01 19:39:16 1283
原创 《c++ primer》第五版 第15章 面向对象程序设计
面向对象的程序设计基于三个基本概念:数据抽象,继承,动态绑定数据抽象:将类的接口和实现分离继承:定义相似的类型并对其相似关系进行建模动态绑定:可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。继承。基类。派生类。基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。派生类:派生类列表。派生类必须在其内部对所有重新定义的虚函数进行声明
2015-07-01 16:23:56 576
原创 《c++ primer》第五版 第十四章 重载运算和类型转换 笔记
重载的运算符是具有特殊名字的函数,他们的名字由关键字operator和其后要定定的运算符号共同组成,重载的运算符也包括返回类型,参数列表以及函数体。重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。当运算符作用与内置类型的元素对象的时候,我们无法改变该运算符的含义。我们只能重载已有的运算符,而无权发明新的运算符号。不应该重载逗号,取地址,逻辑与,逻辑或运算符。表示容器
2015-07-01 16:04:44 441
原创 《c++ primer》第五版 第十二章 动态内存
全局对象在程序启动时分配,在程序结束时销毁。局部对象,当我们进入其所在的程序块时被创建,在离开块时被销毁。局部static对象,在第一次使用前分配,在程序结束时销毁。动态分配对象时,它的生存期与他们在哪里创建是无关的,只有当显式的被释放时,这些对象才能被销毁。为了更安全使用动态对象,标准库定义了两个智能指针类型来管理动态分配的对象,当一个对象应该被释放的时候,指向他的智能指针可以确
2015-07-01 15:17:50 485
opencv 中文参考手册
2015-06-13
[数据结构与算法分析C++.描述].(美国)Mark.Allen.Weiss.扫描版
2015-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人