10 2011 档案

摘要:昨天在linux下运行一个C程序,是处理一段视频中的每一帧的,本来在程序中是要每处理完一帧就要输出一条信息的,但是在运行是却不显示,而是在程序运行完成之后一块输出的,但是在windows中运行程序就没有这个问题。如果是这样的话,就非常不爽了,因为本来是想通过程序的输出来得到程序当前的运行状况,现在却达不到这种效果。然后上网上搜索了一下,看来果然有解决方案。存在这个问题的主要原因就是在调用printf输出信息后,程序并不是立即输出,而是将其输出到了缓存中,所以,我们要做的就是在printf之后立即将缓存中的信息输出到终端。所以可以在printf之后添加fflush(stdout),这样就能立即将 阅读全文
posted @ 2011-10-24 10:45 Mr.Rico 阅读 (3357) | 评论 (0) 编辑
摘要:自己最近需要跑一个利用opencv的程序,看到程序中有一个cvAddWeighted函数,不是很理解,所以到网上找了一些材料,整理了它的用法: vAddWeighted(constCvArr*src1,doublealpha,constCvArr*src2,doublebeta,doublegamma,CvArr*dst);src1第一个原数组.alpha第一个数组元素的权值src2第二个原数组beta第二个数组元素的权值dst输出数组gamma添加的常数项。函数cvAddWeighted计算两数组的加权值的和:dst(I)=src1(I)*alpha+src2(I)*beta+gamma所有 阅读全文
posted @ 2011-10-18 10:23 Mr.Rico 阅读 (5085) | 评论 (0) 编辑
摘要:这涉及到概率 分布的内容了,其实也简单只要能找到一个概率为1/2p的函数就解决了. 另外还有一个比较方便的实现: 一随机数f(x)以概率 p 生成0, 那么设g(x)=f(x)>0?0:1; 刚g(x)以概率 1-p 生成0. 所以f(x),g(x)同时生成0的概率为p(1-p)等于同时生成1的概率. 得等概率随机数 function g(x){ int v=f(x)+g(x); if(v==0){ return 0; //1.f(x)g(x)同时为0 else if(v==2){ return 1; //2.f(x)g(x)同时为1 }else{ ... 阅读全文
posted @ 2011-10-14 22:47 Mr.Rico 阅读 (527) | 评论 (0) 编辑
摘要:Shell识别三种基本命令:内建命令、Shell函数以及外部命令:(1)内建命令就是由Shell本身所执行的命令。 有些命令是由于其必要性才内建的,例如cd用来改变目录,read会将来自用户(和文件)的输入数据传给Shell外亮。 另一种内建命令的存在则是为了效率,其中最典型的就是test命令,编写脚本时经常会用到它。另外还有I/O命令,例如echo于printf.(2)Shell函数是功能健全的一系列程序代码,以Shell语言写成,它们可以像命令那样引用。(3)外部命令就是由Shell副本(新的进程)所执行的命令,基本的过程如下: a. 建立一个新的进程。此进程即为Shell的一个副本。 b 阅读全文
posted @ 2011-10-13 00:15 Mr.Rico 阅读 (5567) | 评论 (0) 编辑
摘要:Shell中的括号有其特殊的用法, 现总结如下:1. 符号$后的括号${a} 变量a的值, 在不引起歧义的情况下可以省略大括号.$(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh.$((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算.2. 多条命令执行(cmd1;cmd2;cmd3) 新开一个子shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后可以没 阅读全文
posted @ 2011-10-13 00:09 Mr.Rico 阅读 (4147) | 评论 (0) 编辑