C/C++
文章平均质量分 71
liuying_1001
这个作者很懒,什么都没留下…
展开
-
单向链表删除操作
<br />操作算法的简单描述:<br /> 这个例子里结构体里有个num成员用来指示节点的编号(这里也用编号来指定要删除的操作),首先用while(num!=p1->num && p1->next!=NULL)来遍历这个链表,在遍历的过程中用p2来指向p1的前一个节点(p2=p1;p1=p1->next;)。假设找到了要删除的节点(是p1),因为p2是p1的前一个节点现在的关系应该是 :p2->next指向p1,p1->next指向p1的下一个。那好办了,p2->next=p1->next,这样就原创 2011-06-02 11:05:00 · 1088 阅读 · 0 评论 -
颜色空间转换YCbCr2RGB/RGB2YCbCr/YCbCr2HSI/HSI2YCbCr/YCbCr2TSL/TSL2YCbCr
以下为从一机器人系统中提出出来的关于各个颜色空间的转换,这些转换都是基于通道值的,对于不使用OPENCV的程序还是有用的。static void fromYCbCrToRGB(unsigned char Y, unsigned char Cb, unsigned char C原创 2012-03-14 15:09:52 · 3357 阅读 · 0 评论 -
利用颜色表进行图像预处理1:OpenGl显示三维颜色表
在学习SPL世界冠军B-Human的框架程序和具体实现中觉得我们与世界冠军相差的太远了。即使是北京大学功夫队(参见http://www.mech.pku.edu.cn/robot/fourleg/cn/index.htm)与世界顶尖队伍相差的也很多。北大功夫队在代码量、代码结构、效果上都没有世界一流队伍的好。这和我们整个国家的教育体制,培养方法都有关系。我等P民能做的就是尽自己一份微薄之力。在原创 2012-04-01 16:22:15 · 5412 阅读 · 0 评论 -
ubuntu上安装OpenCV 2.1
OpenCVis an excellent library for Computer Vision. I have been using it for years and it helped me a lot during my master thesis.OpenCV 1.0 can be easily installed in Ubuntu via the repositories.转载 2012-03-17 08:28:07 · 3259 阅读 · 0 评论 -
Nao机器人基于颜色表的足球场地边界识别
机器人在足球比赛中,处理信息的速度是决定其比赛效果的一个重要因素。在以视觉为主导的Nao机器人上,对图像处理的快慢将影响整体的效率。在经过学习后发现,利用扫描线对图像进行处理相对于处理整幅图像,这种方法只处理了20%左右的像素。而且通过队水平线(通过计算可以在图像中得出一条线,在这条线的上半部分的图像不用处理)。同时我们还可以将场地的边界标示出来,这样我们就可以只处理足球场地上的那一部分图像。原创 2012-04-07 20:41:58 · 6712 阅读 · 0 评论 -
建立颜色表并进行基于颜色的初步分割
本文作者 email: liuying31195@126.com本文创建日期: 2012-4-1原文地址链接:http://blog.csdn.net/liuying_1001/article/ 如需转载请注明出处。之前提到过利用颜色表进行图像分割的基本原理,总的来说就是将像素颜色的RGB值作为一个三维数组的索引,而三维数组中的每一元素的值用于标记这个索引所代表的颜色属于哪一类原创 2012-04-07 20:01:00 · 3452 阅读 · 1 评论 -
基于二维直方图的阈值分割
利用摄像头获取YUV422 640*480,然后变换为YUV444 320*240,这种操作可以一定程度上增加图像本身的清晰度(当然相对与直接获取320*240的图像)。在 YCrCb 颜色空间中,Y 值主要表征亮度,颜色主要由Cr 和 Cb 决定,因而直方图由原本灰度图像的一维变为彩色图像的 CrCb 维。考虑到二维空间上搜索峰值比较复杂,为了简化问题,将 Cr 和 Cb 的取值范围 0-2原创 2012-05-04 17:57:48 · 12325 阅读 · 0 评论 -
多个应用程序同时编辑一个文件不同部分后能否合成?
问题根源来自一个客户,客户的问题是,我有一个文件需要同时被多人访问,怎么实现?性能怎么样?有问题就有答案,只是目前这个答案对我还不太清晰,试着探讨以下。 手头正好有一本冬瓜头的《大话存储》,就抱着一丝希望,翻了翻,找到关于该问题的一些描述。以下是《大话存储》中的描述。 集群中的分布式锁机制 在单个节点的单一操作系统内,存在多个原创 2013-09-20 17:28:18 · 2744 阅读 · 0 评论 -
堆与栈的区别
一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态转载 2014-09-09 22:46:01 · 761 阅读 · 0 评论 -
CPU访问内存
首先我们需要一个引子,引子如下:作为一个计算机领域的工程师,这里有一个问题:有一个10米深的水池需要测量其水深,并在计算机(或者微机)上显示测量结果,保留小数点后一位。请概要的设计这个系统。分析如下:10米深的水池,需要保留一位小数,所以测量精度应该是0.1米,如下图所示: 采样的方法,我们采用最简单的水漂,即随水深上下浮动,带动滑线变阻器。原创 2016-01-02 23:52:06 · 11690 阅读 · 3 评论 -
粒子滤波器之巴式距离测试直方图相似度
在粒子滤波器中,放出去的采样粒子是否采集到我们所需跟踪目标,这里就需要一个判断:也就是将采样粒子与我的事先定义好的参照粒子作比较。于是在比较的过程中就出现了怎样比较,怎样评价他们的相似度。这里可以使用巴氏距离。在统计学中,Bhattacharyya距离(以下称巴氏距离)测量的是两个离散或连续概率分布的相似性。计算方式和Bhattacharyya系数关系很密切。两种计算方式都以A. Bhatta原创 2012-03-12 14:22:13 · 3967 阅读 · 2 评论 -
Opencv——粒子滤波
这个项目是由俄亥俄州立大学(OSU)一位博士生所写,http://web.engr.oregonstate.edu/~hess/,这位博士在其个人主页上对该项目进行了如下描述:Object tracking is a tricky problem. A general, all-purpose object tracking algorithm must deal with difficult转载 2012-03-10 18:23:38 · 2124 阅读 · 0 评论 -
一个句柄类的简单实现
///句柄:什么是句柄???////用于控制对一个对象的多次利用,而又不去复制它?!////有时候复制一个对象的代价是非常的大的。class Point {public: Point(): xval(0),yval(0){} Point(int x,int y): xval(x),yval(y){} int x() const {return x原创 2011-06-19 21:43:00 · 1107 阅读 · 0 评论 -
VS2008评估期到转正式版本
VS2008评估版本刚好到期了,用不了,可是我可不想再重装,耗时又耗费人力。于是网上搜了一会,终于找到简便的转正式的方法。即 :1、在“控制面板”中启动“添加删除程序”,选中Vs2008,点击“更改、删除”;2、输入序列号:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T,choose“升级”。 OK,一切恢复原样而且可以保持永久使用权了。转转载 2011-06-23 18:15:00 · 2310 阅读 · 1 评论 -
一个面向对象程序范例
面向对象编程的3个要素:数据抽象、继承及动态绑定。这个例程非常完整的展示了这3个要素。程序要做的内容就是要将这个算术表达树输出,即得到:(-5)*(3+4) #include #include using namespace std;class Expr_node { friend ostream& op原创 2011-06-21 21:41:00 · 752 阅读 · 0 评论 -
c++浮点数的二进制表示
前几天,我在读一本C语言教材,有一道例题:摘自红黑联盟(www.2cto.com) 原文:http://www.2cto.com/kf/201106/94135.html #include void main(void){ int num=9; /* num是整型变量,设为9 */ float* pFloat=# /* pFloat表示num的内存地址,但是设转载 2011-06-23 23:10:00 · 4924 阅读 · 2 评论 -
利用双向循环链表进行显示更新
这个程序目前的的功能是显示10个节点里面的内容。这里假设能从一个socket中不断地读取数据(如何读取这里忽略),要对这些数据进行显示和过滤。显示时最新更新的显示在最前面,程序实现后前过滤关键字满足关系运算。现在的状态是十个节点可以简单过滤,显示最新。下面是源码://file.h,the fuctiongs header file//#pragma once#inc原创 2011-06-24 21:48:00 · 1617 阅读 · 1 评论 -
vs2008安装配置opencv【转载】
来源:http://blog.csdn.net/zhangyouzhuo/archive/2010/12/04/6054106.aspxhttp://ailiuzhumei.blog.163.com/blog/static/1110909201091304835938/安装所需要的软件安装VC++ 2008安装OpenCV(从 http://www.opencv.org.cn/index.php/Download 下载OpenCV 2.0,并安装,本文档假定安装目录为:D:/Program Files/Op原创 2011-05-06 16:55:00 · 4039 阅读 · 1 评论 -
静态成员、关键字mutable 、公有继承与私有继承、虚函数的基本概念
1、静态成员#include using namespace std;class salary{public: salary(const int b){sal = b;} static void reset(const int p)原创 2011-07-04 20:52:38 · 2108 阅读 · 1 评论 -
2012届华为校园招聘上机考试题目(9月6日下午1点场)
原文地址: http://blog.csdn.net/liuqiqi677/article/details/6755498 昨天去参加了华为的校园招聘上机考试,题目一共三道,都比较简单,不要求算法效率,也不要求对所给数据的合法性作检测,主要还是注重基础知识的考察,和大家分享转载 2011-09-09 16:48:19 · 1496 阅读 · 0 评论 -
nao机器人视觉模块创建和调用
nao作为一个机器人,视觉对其非常重要,也就是它的摄像头。在nao这个平台上如何从摄像头获取图像数据进而进行处理?首先看看给的例子:#include #include #include // Opencv includes.#include #incl原创 2011-08-29 13:09:20 · 13992 阅读 · 2 评论 -
几个有意思的C语言小函数
MINU4 src1,src2,dst分别比较有符号数src1和src2的4个无符号字节,取其中的小数送到dst的相应位置。#include #include MINU4 cmpfun1(MINU4 src1,MINU4 src2){ int i = 0; MINU4 dst = 0; MINU4 tmp原创 2012-03-08 11:20:56 · 2530 阅读 · 0 评论 -
粒子滤波器之建立选定区域直方图(histo_bin())
/* Calculates the histogram bin into which an HSV entry falls @param h Hue @param s Saturation @param v Value @return Returns the bin index corresponding to the HSV color defined by原创 2012-03-11 21:59:37 · 1582 阅读 · 0 评论 -
C++类构造函数初始化列表
c++中初始化列表在构造函数中作用:include<iostream>class A{public: int a; const int b; A():b(0),a(0){}};int main(){ A a; return 0;}如果类A中使用构造函数将报错 A::A(){ a = 0; b = 0; }原创 2017-09-21 14:17:44 · 516 阅读 · 0 评论