- 博客(17)
- 资源 (24)
- 收藏
- 关注
原创 地址转换函数
IPv4: #include int inet_aton(const char *cp, struct in_addr *inp); //返回值: 1----有效 0----出错 in_addr_t inet_addr(const char *cp); //返回值:成功:32位的二进制网络字节序IP地址 失败:INADDR_NONE char *inet_ntoa(stru
2012-11-19 12:40:25
437
原创 字节排序函数与字节操纵函数
字节排序函数 考虑一个16bit的整数,它由2个字节组成。内存中存储这两个字节有两种方法:一种是将低序字节存储在起始位置,这种称为小端(little-endian)字节序,另一种是将高序字节存储在起始地址,这称为大端(bin-endian)字节序。MSB(最高有效位):16位数的最左一位。LSB(最低有效位):最右一位。 查看主机的字节序: #include #include
2012-11-15 19:40:51
1113
原创 套接口地址结构
套接口地址结构 大多数套接口函数都需要一个指向套接口地址结构的指针作为参数。每个协议都定义他自己的套接口地址结构,以“sokcaddr_”开头,并以对应其协议族的唯一后缀结束。 IPv4套接口地址 以“sockaddr_in”命名,定义在头文件中 struct in_addr { in_addr_t s_addr; //32bit
2012-11-15 16:58:27
1718
转载 Smooth 函数 平滑处理函数 OpenCV
OpenCV Smooth 函数 各种方法的图像平滑 void cvSmooth( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN, int param1=3, int param2=0, double param3=0 ); src输入图像.dst输出图像.smoothtype平滑方法: CV_BLUR_NO_
2012-04-16 19:22:31
7201
原创 C++函数指针
函数存放在代码的内存区域内,函数名代表了函数的地址,如:int fun(int a);fun就是函数在内存中的地址。 1.定义一个指向函数的指针 以int fun(int a)为例: int(*fp)(int a);//定义了一个指向函数的指针. 注意与int *fp(int a)的区别, int *fp(int a);//声明了一个返回int 型指针的函数. #incl
2012-04-13 14:47:51
542
原创 位移操作
Java中Int类型占4个字节,二进制用补码表示: 3的二进制表示: 00000000 00000000 00000000 00000011 -3的二进制表示:11111111 11111111 11111111 11111101 1.左移 如: 300000000 00000000 00000000 00000110=6; -311111111 11111111 111111
2012-04-12 19:31:21
629
转载 C++中map的使用说明
C++中map容器的说明和使用技巧 C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。 一、map的说明 1 头文件 #include 2 定义 map my_Map; 或者是typedef map MY_MAP;
2012-04-10 15:45:05
4943
原创 多线程同步
1.在使用多线程或者多进程时,有时候需要调节两个或者多个线程(进程)之间的活动,这一个过程称之为同步。 当多线程(进程)访问一个共享资源时,这个时候就需要同步。 任务会处于两种状态:阻塞或者正在执行。 2.windows的同步对象 (1)经典信号量 (2)互斥体信号量 (3)事件对象 (4)可等待计数器 3.使用互斥体同步线程 使用CreateMutex()创
2012-04-09 17:11:12
509
原创 C++中的多线程
1.多线程程序并发的执行它自身的各个部分,多线程程序的主要问题是管理线程之间的交互。所有的进程都包含一个 执行线程,称之为主线程。主线程在程序开始时创建,然后主线程创建一个或者多个子线程。c++没有包含任何对多线程应用程序的内建支持,它依赖于操作系统提供的特性。c++允许直接使用操作系统提供的多线程特性。 2.windows线程函数 (1)线程的创建和终止
2012-04-09 15:22:11
2001
原创 模拟鼠标移动
#include #include #include //#include using namespace std; int main(int argc,char* argv[]) { int cx=GetSystemMetrics(SM_CXSCREEN);//得到屏幕宽度 int cy=GetSystemMetrics(SM_CYSCREEN);//得到屏幕高
2012-04-02 15:45:16
935
转载 SendInPut函数
来自MSDN SendInput Function The SendInput function synthesizes keystrokes, mouse motions, and button clicks UINT SendInput(UINT nInputs, LPINPUT pInputs,
2012-04-02 14:13:49
5606
原创 Learning OpenCV第十一章(1)
十一 摄像机模型与标定 一.简介 1.发光源发出射线,穿过空间照射在物体上形成光线,物体表面吸收掉大多射线,只剩下一小部分 被人眼或者摄像机察觉,被视网膜或者图像采集器吸收。 2.摄像机的标定过程给出了摄像机的几何模型以及透镜的畸变模型,这两个模型给出了摄像机的内参数, 通过这两个模型可以矫正透镜畸变。 3.单应变换(Homography transformation):描述摄像机基本
2012-03-30 15:38:38
1673
原创 Learning OpenCV第三章--一些函数
1.矩阵和图像的基本操作 一些很有用的函数: (1)cvAbs, cvAbsDiff, and cvAbsDiffS /*Absolute value of all elements in an array*/ void cvAbs(const CvArr* src, CvArr* dst);
2012-03-20 21:34:43
670
原创 Learning Opencv第三章(3)IplImage数据类型
1.ImlImage数据结构 typedef struct _IplImage { int nSize; /* sizeof(IplImage) */ int ID; /* version (=0)*/ int nChannels; /*
2012-03-15 15:41:46
1025
原创 Learning Opencv第二章(2)
1.矩阵数据的存取 (1)简单的方法: 利用宏CV_MAT_ELEM()传入四个参数,矩阵、数据类型、列号、行号,返回一个指定的元素。 CvMat* mat = cvCreateMat( 5, 5, CV_32FC1 ); float element_3_2 = CV_MAT_ELEM( *ma
2012-03-15 14:08:38
657
原创 Learning Opencv第三章(1)
1.Opencv2.3.1的基本数据类型定义在: ../OpenCV-2.3.1/modules/core/include/opencv2/core/types_c.h中。 2.基本数据类型 (1)CvPoint、CvPoint2D32f、CvPoint3D32f定义如下: typedef struct CvPoint
2012-03-14 23:44:40
784
原创 Learning Opencv第二章
1.第一个例子:读取图片并显示: #include "highgui.h" //包含图片视频读取与显示的库 #include "cv.h" int main( int argc, char* argv[]) { argv[1]="/home/xxx/desktop/截图.png"; IplImage *img = cvLoadImage( argv[1]
2012-03-14 21:54:10
1055
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅