上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学。这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采样和基于局部均值的图像缩小,发现对Mat中的数据布局和一些属性的认知还是懵懵懂懂,本文对Mat的一些... 阅读全文
posted @ 2014-10-10 16:13 Brook_icv 阅读(63690) 评论(4) 推荐(29) 编辑
摘要: 图像的缩小从物理意义上来说,就是将图像的每个像素的大小缩小相应的倍数。但是,改变像素的物理尺寸显然不是那么容易的,从数字图像处理的角度来看,图像的缩小实际就是通过减少像素个数来实现的。显而易见的,减少图像的像素会造成图像信息丢失。为了在缩小图像的同时,保持原图的概貌特征不丢失,从原图中选择的像素方法... 阅读全文
posted @ 2014-10-08 19:18 Brook_icv 阅读(17283) 评论(0) 推荐(0) 编辑
摘要: 1.Mat基础在计算机内存中,数字图像是已矩阵的形式保存的。OpenCV2中,数据结构Mat是保存图像像素信息的矩阵,它主要包含两部分:矩阵头和一个指向像素数据的矩阵指针。矩阵头主要包含,矩阵尺寸、存储方法、存储地址和引用次数等。矩阵头的大小是一个常数,不会随着图像的大小而改变,但是保存图像像素数据... 阅读全文
posted @ 2014-07-13 16:57 Brook_icv 阅读(46905) 评论(7) 推荐(6) 编辑
摘要: 在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作。当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了。至于模板操作是实现空间滤波的基础,通常是使用一个模板(一个的矩形)滑过整幅图像产生新的像素。下面介绍通过使用OpenCV2实现Laplace算子锐化图像,来介绍OpenCV2中对邻域和模板的操作。 锐化处理主要的目的是突出灰度的过渡部分,通常由微... 阅读全文
posted @ 2014-05-05 22:18 Brook_icv 阅读(4714) 评论(0) 推荐(1) 编辑
摘要: Mat - 图像的容器 在对图像进行处理时,首先需要将图像载入到内存中,而Mat就是图像在内存中的容器,管理着图像在内存中的数据。Mat是C++ 的一个类,由于OpenCV2中引入了内存自动管理机制,所以不必手动的为Mat开辟内存空间以及手动的释放内存。Mat中包含的数据主要由两个部分构成:矩阵头(矩阵尺寸、存储方法、存储地址等信息)和一个指向存储图像所有像素值的矩阵(根据所选的存储方法不同的矩阵... 阅读全文
posted @ 2014-04-12 17:02 Brook_icv 阅读(13078) 评论(1) 推荐(5) 编辑
摘要: 使用C#实现Huffman对文件进行压缩和解压缩,那个对Huffman编码后的01串没找到好的方法来保存,就很愚蠢的使用字符串保存“01”串,功能实现了,但是感觉总是有些别扭。就搜索了下怎么保存这个“01”串,发现了BitArray这个东东。 BitArray在System.Collection命名空间下,是存储位值的压缩数组,其元素为布尔值,False表示位0,True表示位1. 构造函数 ... 阅读全文
posted @ 2014-04-01 17:15 Brook_icv 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: 导言好多次想学习C++,但都是望而却步。这次因为专业方向原因(数字图像处理),不得不走上学习C++的道路上。网上找了些C++的推荐书籍,入门的大多都是《C++程序设计语言》、《C++ primer》,《C++ primer plus》。这3本书都找来看,但是都没有看完,都是看到类型部分就放弃了。网上推荐的看不了,就自个在图书馆寻寻觅觅,偶然找到了《C++ In Action 》,大致翻看了下,没有用几章介绍类型,就它了。新学期第一周,把第一部分语言的基础看完了,这里就着书中计算器的例子做个总结。简单计算器计算器基于堆栈,接受用户数字和运算符号的输入。输入数字则保存在栈中,如果是运算符号则弹出栈 阅读全文
posted @ 2014-02-23 16:40 Brook_icv 阅读(4271) 评论(0) 推荐(1) 编辑
摘要: 作用域通常和变量捆绑在一起,限定了变量可用范围,同时也规定了变量的生命周期:何时创建、何时销毁。作用域通常分为:全局作用域和局部作用域。全局作用域(全局变量)在所用函数体外部定义的变量就是全局变量,具有全局作用域。它在main函数执行前创建,mian函数结束后销毁。下面的代码演示了全局变量的创建和销毁: 1: class World 2: { 3: public: 4: World() 5: { 6: std::cout << "Hello world.\n" ; 7: } 8: 9: ~... 阅读全文
posted @ 2014-02-19 16:54 Brook_icv 阅读(5104) 评论(0) 推荐(2) 编辑
摘要: 在程序中对文件操作是非常常见的,而对文件的操作则不可避免的需要文件的路径,并对文件的路径进行一系列的操作,例如:判断已知的路径是一个目录还是一个文件,路劲是一个文件则该文件的名称是什么,文件的扩展名名是什么等等。在C#中并并没有将文件的路径抽象为一个类,用来表示文件路径就是一个普通的字符串。对文件路径的操作例如,要获取文件名称,可以通过截取字符串或者使用正则表达式来取得。其实,在.NET类库中,有一个专门的功能类System.IO.Path,对表示文件或在目录路径的string进行操作。下面介绍下利用Path来对文件路径进行的一些诶常用操作。判断给出的路径或者文件名是否合法 Path.GetI 阅读全文
posted @ 2013-04-02 00:40 Brook_icv 阅读(11560) 评论(0) 推荐(1) 编辑
摘要: 字符串模式匹配指的是,找出特定的模式串在一个较长的字符串中出现的位置。 朴素的模式匹配算法 很直观的可以写出下面的代码,来找出模式串在一个长字符串中出现的位置。 1: /* 2: 朴素的模式匹配算法 3: 功能:字符串的模式匹配 4: 参数: 5: s:目标串 6: p:模式串 7: pos:开发匹 阅读全文
posted @ 2012-09-09 17:49 Brook_icv 阅读(13802) 评论(2) 推荐(15) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页