- 博客(42)
- 资源 (27)
- 收藏
- 关注
原创 opencv 数字图象处理 镜像变换 cvFlip()
图像镜像(Mirror)变换分为三种:一种是水平镜像;一种是垂直镜像;一种是对角镜像。图像的镜像变换不改变原图像的形状。####################################################void cvFlip(){const CvArr* src,CvArr* dst=NULL,int flip_mode=0};
2015-06-29 22:21:53 10275
原创 opencv 数字图象处理 图像平移变换
图像平移(Translation)变换是图像几何变换中最为简单的一种变换,是将一副图像中的所有像素都按照给定的偏移量在水平方向(沿x轴方向),或在垂直方向(沿y轴方向)移动。void Translation(void){//平移变换 值为正表示向轴正向移动,值为负表示向轴负向移动 cout<<"输入水平移动距离:"; int disx=0; cin>>disx; cout<<
2015-06-29 22:05:03 4675
转载 opencv HSV 颜色模型(H通道取值 && CV_BGR2HSV_FULL)
http://blog.csdn.net/timidsmile/article/details/17297811之前知道,利用opencv把RGB图片像HSV颜色空间转变的时候,H通道的值范围为: 0-180S: 0-255V:0-255利用直方图显示三个通道的时候,H通道都集中在前半部分,想让它取值范围扩大~~~~~~~后来
2015-06-29 09:46:13 2465
原创 opencv 数字图像处理-图像错切
图像的错切变换实际上是平面景物在投影平面上的非垂直投影效果。图像错切变换也称为图像剪切、错位或错移变换。图像错切的原理就是保持图像上各点的某一坐标不变,将另一个坐标进行线性变换,坐标不变的轴称为依赖轴,坐标变换的轴称为方向轴。图像错切一般分为两种情况:水平方向错切和垂直方向错切。####################################################
2015-06-28 21:29:22 7222
原创 opencv 数字图像处理-图像缩放 自己写cvResize()函数
0阶和1阶灰度插值法最近邻插值法 //最近邻插值法 将原图像中每行像素重复取值一遍,每列像素重复取值一遍 优点:较为简单 缺点:放大倍数太大时,容易出现马赛克效应 for (i=0; iheight; i++) for (j=0; jwidth; j++) { pImg1->imageData[i*2*pImg1->widthStep + j*2
2015-06-27 11:06:27 2432 3
转载 VS2013/MFC基于对话框编程:[5]按钮的使用
今天在百度经验上看到的,很有用创建好项目,在工具箱中找到对话框,按钮名称是Button。2把对话框原有的按钮和静态文本删除,从工具箱中添加两个按钮到对话框中。3选中任意一个按钮,在属性页中可以查看按钮的所有属性。一般需要修改的属性只有两个,“Caption”项和“ID”项
2015-06-26 15:57:34 1997
原创 MFC 一个简单的消息示例
第一步:在VS2010上新建一个MFC应用程序,项目名称为“MessageDealer”单击“确定” 单击"下一步"选择“基于对话框”的应用程序类型单击“完成”按钮,项目新建完成#######################################在项目的“资源视图”中,将项目资源一层层展开,从中选择“IDD_MESS
2015-06-25 19:52:53 709
原创 IplImage 数据结构
OpenCV图像类型宏图像像素类型IPL_DEPTH_8U无符号8位整数(8u)IPL_DEPTH_8S有符号8位整数(8s)IPL_DEPTH_16S有符号16位整数(16s)IPL_DEPTH_32S有符号32位整数(32s)
2015-06-25 18:31:40 603
转载 利用cvMinAreaRect2求取轮廓最小外接矩形
地址:http://blog.csdn.net/fengbingchun/article/details/7069506转自:http://blog.csdn.net/mine1024/article/details/6044856对给定的 2D 点集,寻找最小面积的包围矩形,使用函数:CvBox2D cvMinAreaRect2( const CvArr* po
2015-06-25 18:02:26 3101
转载 [MFC]选择目录对话框和选择文件对话框
地址:http://www.cppblog.com/finehai/archive/2009/08/27/94578.html在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法:选择目录对话框//选择目录按钮void CDcPackerDlg::OnBnClickedDecgen() { char szP
2015-06-25 17:57:19 11140
原创 vi和vim编辑器(4)
vim编辑器中的窗口操作分割窗口在vim编辑器中,打开窗口是以分割当前窗口的形式完成的。按功能可以将分割窗口分为:分割当前窗口、垂直分割、分割窗口后打开新文件等1.分割当前窗口先使用vim编辑器打开一个文本文件,然后使用“.split”分割当前窗口。分割后的vim编辑器如下图使用分割命令之后,vim编辑器被分割为上下两个窗口,并且之前打开的文本文件会同时在两个窗口中显示
2015-06-19 20:50:57 650
原创 文本编辑器vi和vim(3)
快速移动光标1.在命令模式中,使用快捷键b,可以将光标快速移动到当前光标所在单词的前一个单词的首字母。如果要移动到当前光标所在位置的前3个单词的首字母处,可以使用3b;2.如果要将光标快速移动到当前光标的后一个单词的首字母,可以在命令模式中使用w。与快捷键b相同,移动多个单词时,可以在快捷键w前加上数字。3.如果要移动光标至后一个单词的尾字母,可以使用快捷键e。与前两个快捷键类似,移动
2015-06-19 19:16:01 769
原创 opencv 矩阵的存取
简单的方法利用CV_MAT_ELEM()宏存取矩阵元素elemtype CV_MAT_ELEM( mat, elemtype, row, col ) mat: 传入矩阵elemtype: 待提取的元素类型row: 行col: 列//矩阵的取void accessMat(void){ float vals[]={0.32, 1.55, 2.24, 6.54};
2015-06-19 15:37:34 985
原创 opencv CvMat矩阵结构
用于新建一个二维矩阵的例程:cvMat* cvCreateMat(int rows, int cols, int type);type预定义类型:CV_(S|U|F)C 例:32位浮点型数据(CV_32FC1)、无符号的8位三元组的整型数据(CV_8UC3)矩阵的创建和释放//Create a new rows by cols matrix of type 'type'
2015-06-19 15:07:33 938
原创 opencv 基本数据类型 cvPoint cvSize cvScalar cvRect
points,size,rectangles和scalar三元组的结构结构成员意义CvPointInt x, y图像中的点CvPoint2D32fFloat x, y二维空间中的点CvPoint3D32fFloat x, y, z
2015-06-19 14:45:26 2737
原创 opencv cvPyrDown cvPyrUp 缩放一半尺寸
使用cvPyrDown()创建一幅宽度和高度均为输入图像一半尺寸的图像功能:函数cvPyrDown使用Gaussian金字塔分解对输入图像向下采样。格式:void cvPyrDown(const CvArr*src,CvArr*dst,int filter=CV_GAUSSIAN_5x5);参数:src 输入图像。dst 输出图像,其宽度
2015-06-18 17:33:51 2633
原创 opencv 一个简单的视频播放器设置
//播放AVI视频#include #include void playavi(void){ cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE); CvCapture *capture=cvCreateFileCapture("光环:夜幕.BD.720p.中英双字幕.rmvb"); IplImage *frame; while (1) { f
2015-06-18 16:21:31 4397
原创 opencv cvNamedWindow cvWaitKey()
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE)是一个高层调用函数,有HighGUI库提供cvNamedWindow()函数的第二个参数定义了函数的属性。该参数可被设置为o(默认值)或CV_WINDOW_AUTOSIZE设置为0时,窗口的大小不会因图像的大小而改变,图像只能在窗口中根据窗口的大小进行拉伸或缩放设置为CV_WI
2015-06-16 16:56:09 4757
原创 opencv cvZero
先创建一个矩阵CvMat *mat=cvCreateMat(2, 2, CV_8UC1);得到一个2行2列的8位无符号一通道矩阵此时矩阵中的个点均为乱值将矩阵mat初始化为0cvZero(mat);
2015-06-16 16:54:00 1203
转载 “error LNK1169: 找到一个或多个多重定义的符号”的解决方法
http://www.cnblogs.com/A-Song/archive/2012/03/23/2413782.html问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。
2015-06-16 16:24:44 6795
原创 SVM 支持向量机 opencv实现
支持向量机 (SVM) 是一个类分类器,正式的定义是一个能够将不同类样本在样本空间分隔的超平面。 换句话说,给定一些标记好的训练样本 (监督式学习),SVM算法输出一个最优化的分隔超平面。1995年Cortes和Vapnik于首先提出SVM,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
2015-06-16 16:04:51 664
原创 opencv cvHoughCircles() 霍夫圆变换
opencv 中霍夫变换CvSeq *cvHoughCircles( CvArr *image, void *circle_storage, int method, double dp, double min_dist, double param1 = 100, double param2 = 300, int min_radius = 0, int max_radius = 0
2015-06-16 12:46:32 1174
原创 C++ 将文件夹中文件写入list.txt文件中
相关内容 C++如何读取文件夹中文件http://blog.csdn.net/u012005313/article/details/46490437C++代码如下 bool flag=true; int optional=0; while (flag) { string path; cout<<"输入路径:(xx\\xx\\)"; cin>>path;
2015-06-16 10:05:52 1415
原创 文本编辑器vi和vim(2)
读取文件有时需要从另一个文件读取文本并进行编辑,如果要打开新文件进行编辑,可以使用命令e(这个命令类似于图形界面编辑器中的文件->打开)。如果要读取另一个文件内容,并追加到当前文件的结尾,可以使用命令r。打开文件hello#vi hello在文本hello中输入了新的内容要打开新文件smb.conf#:e smb.conf使用以上命令时,应该保证
2015-06-15 20:25:59 593
原创 文本编辑器Vi和Vim(1)
vim兼容vi启动vi和vim编辑器vim [option] filename可以直接使用命令vim启动编辑器,也可以将文件名作为其参数,启动编辑器直接编辑参数指定的文件。在Vim编辑器的启动界面中,每一行的左侧存在许多“~”符号,Vim编辑器使用这种方式表示这一行为空使用别名vi启动的Vim编辑器将完全兼容Vi编辑器,并且使用别名启动的Vim编
2015-06-15 19:34:20 640
转载 利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
本文利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件,最基础的历遍所有文件。一下代码尚无法解决文件名为中文时的乱码问题,以及无法分别无后缀的文件名和文件夹名的区别。FindFirstFile()用于获得指定目录的第一个文件。其原型为:lpFileName 用于指定搜索目录和文件类型,可以用通配符,初次使用需要注意 \ 需要用转义字符表达
2015-06-14 12:22:32 31014 5
原创 C++ 文件输入和输出fout fin
最近在写C++程序,好久没有用C++,之前学的的一些函数都记不太得了。买了一本《C++ Primer Plus》中文版,看了其中关于文件输入和输出的章节,发现了一些以前没有学过的函数,很有用,先记下来。要让程序写入文件,可以这样做:1.创建一个ofstream对象来管理输出流;2.将该对象与特定的文件关联起来;3.以使用cout的方式使用该对象,唯一的区别是输出将进入文件,
2015-06-13 15:56:34 20364
转载 C++ 字符串分割方法 实现split
http://www.jb51.net/article/55954.htm利用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NU
2015-06-13 15:48:43 2804
原创 修改文件属主和属组命令chown、chgrp
chown命令chown命令的作用是更改文件的属主,也可以用于修改文件属组#chown [option] user:group file常用选项chown命令的常用选项只有一个R,该选项的作用是递归地修改目录及目录中的所有文件的属主和属组用法示例只有文件的属主或root用户可以使用chown命令,非root用户的属主只能更改文件的属组为用户所在的另一个用户组。即属主只能修改
2015-06-09 21:29:52 50774
原创 Linux grep工具应用实例 精简配置文件 从系统管理命令输出中查找
1.精简配置文件配置文件通常都使用了一个通用的注释格式,即使用井号“#”(通常是注释信息)或“;”(通常标志该行是默认设置)作为开头标志。配置文件中的注释信息和默认配置语句行写得非常详细,这些语句行比真正起作用的配置往往多出十数倍甚至更多使用grep工具的参数v精简这些配置文件,让这些配置文件的可读性更高,更方便修改。此处以精简Samba服务的配置文件smb.conf为例:进入配置
2015-06-09 20:35:13 819
原创 Linux 查找文本工具grep
gerp基本格式grep [option] pattern [file]grep工具在文件file中查找与字符串pattern匹配的字符,如果找到,则将整行输出到标准输出。常用选项i:忽略大小写n:将结果输出的同时,也输出该行的行号s:在没有查找到的匹配的内容时,不显示错误信息l:从多个文件中查找时,只输出找到匹配内容的的文件名称h:从多个文件中查找时,只输出匹配的
2015-06-06 16:17:17 1376
原创 Linux 查找文件工具find
find命令是从指定位置进行遍历查找(可以理解为对文件和目录进行逐一查找)find可以查找具有某一类特征的文件(例如查找具有某个权限特征的文件等),非常适合于批量处理具有某一类特征的文件###################################################################命令格式# find[path] [expr...
2015-06-06 14:04:09 2509 3
原创 多条命令中的逻辑运算符和括号 “||” “&&” () Linux
使用多条命令执行任务时,两条相邻的命令之间可能会存在某种依赖关系。此时两个命令之间的关系类似于C语言中的if语句,不同的是if语句使用的是条件判断,而Linux此处为前一个命令的执行情况Linux系统提供了两个逻辑运算符:逻辑或“||”和逻辑与“&&”,还提供了两个括号:小括号“()”(也称圆括号)和大括号(也称花括号)“{}”用于控制多个命令执行顺序。逻辑或“||”#
2015-06-04 21:39:10 7939
原创 文件名通配符 “?” “*” “[]” “[!]”
在使用Linux系统的过程中,许多时候都需要查找一个文件,如果只记住文件名的一部分,查找时就显得非常困难。这是可以考虑使用文件名通配符单字符匹配元字符“?”元字符“?”表示匹配文件名中任意一个字符,连续使用多个元字符“?”可以表示多个任意字符1.使用a?表示以a开头且有两个字符的文件名#ls -l a?2.查看当前目录下由字母a和任意两个字符组成的文件名
2015-06-04 21:03:03 13879
原创 Linux 命令符反引号`` 变量引用和命令转换符号$ 反斜线屏蔽符/
反引号··有时也称为倒引号,这个键通常位于键盘的Tab键上方、数字键1的左边。反引号主要用来引用一些函数、命令输出等,执行时系统会尝试将反引号中的内容当作一个命令执行如果在一条命令中出现了反引号,系统会首先执行反引号内的命令
2015-06-04 20:33:41 6371
原创 tar备份工具 Linux
小知识:在命令后加上&,表示将命令放到后台执行tar 是UNIX/LINUX系统中的打包工具,可以将多个文件或目录打包(也称为归档)成一个文件,因最初设计目的是用于磁带备份(tape archive)而得名tar [option] [file]...常用选项:c:建立一个新归档文件f:指定需要归档的文件t:列出指定文件的内容v:以详细模式显示命令执行过程x:
2015-06-03 21:36:14 1729
转载 is not in the sudoers file 解决
解决方案:首需要切换到root身份$su -(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)然后$visudo //切记,此处没有vi和sudo之间没有空格1、移动光标,到最后一行2、按a,进入append
2015-06-03 21:34:23 552
原创 视频编解码器
视频信号由一系列单独的帧组成。每一帧可以单独地用上面描述的图像编解码器压缩,这被称为帧内编码(Intra-frame Coding),每一帧在“内部”进行编码而没有参考其他的帧。但是,消除视频序列中的时间冗余(连续视频帧中的相似性),可以达到更好的压缩效果。具体通过给图像编解码器增加一个“前后的帧”来实现,主要有以下两个功能:1.预测:基于一个或多个先前传输的帧来建立对当前帧的预测。2
2015-06-03 19:43:59 2103
german_data.zip
2019-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人