视频动态库测试及心得
这几天一直在弄动态库测试,h给的写好的动态库--预处理模块的库。视频处理项目一部分,需要连接实际情况测试。
需求:
1.把实际相机连接到,并读取实时数据流,保存到双循环链表里面;
2.测试背景建模的功能效果;
3.预处理四个数据(图像)显示结果;
4.测试实时处理多摄像头效果显示。
前几天一直写摄像头数据接受模块, ...
摄像机标定:矫正畸变
之前做过摄像机标定的研究,不过现在忘了好多,昨天下午又捡起来,好好复习一下(主要是学习opencv一书内容)。
摄像机标定基本知识:
摄像机标定误差包括内参(4个)、畸变参数(径向和切向共5个)、外参(平移和旋转共6个)。
误差参数分析:摄像机模型采用针孔模型成像模型,由于中心轴安装问题,这就造成了精度误差,就 ...
函数调用的汇编码分析
这几天学习汇编,分析了一下 c++ 中函数调用(cdecl 和 fastcall 方式) 过程的汇编码,记录如下:
程序例子
struct tagTest
{
int n1;
long n2;
DWORD n3;
};
long funtest1(tagTest p1,int p2,LPCTSTR lpszP3)
{ // 普通函数
p1.n1 = 3;
LPCTSTR lpszxx = lpszP3;
p1.n3 = p2;
return 300;
}
lo ...
C++中的虚函数的实现方法
学习 C++ 的同志不知道有没有和我一样遇到过这样的困惑:C++中的虚函数到底怎么实现的?在各种继承关系中,虚函数表的结构到底是什么样的?曾经我是很想当然,可是后来在使用ATL的过程中,我发现并不是我想的那样。大家知道,利用C++语言本身的特性进行COM编程当然是很方便的事,但是你就得随时随地都知道那虚函数表里头到底 ...
Crypto++使用方法
0 引言
为阅读本文,读者需要具备密码学最基本的知识,如:对称加密和非对称 加密、数字签名等。还好,准备这些知识,一个下午的时间就足够了。
许多朋友问我 如何使用CryptoPP(目前最新版本为5.4),我以前也没用过,但一直觉得是个好东西,属于 经典的C++库之一。因此,有必要把它作为我的软件基石之一。我以前是用Windo ...
C++中rdbuf重定向流的例子
今天学习了一点东西,其实是复习了。关于rdbuf的使用。
C++中rdbuf重定向流的经典例子:
#include
#include
int main(void)
{
std::ifstream log("out.log");
std::streambuf* x = cout.rdbuf(log.rdbuf()); // 返回cout的流对象指针,使cout重定向到log文件中
std::cout
很经典的东西了。 ...
用BCB开发有身份认证功能的Email程序
摘 要 本文介绍了如何增强BCB中发送电子邮件的NMSMTP控件的功能,实现具有身份认证功能的邮件发送程序。
关键词 ESMTP,MIME,身份认证
引言
为了更有效地抑制垃圾邮件的泛滥,目前多数网站的邮件收发系统都使用了ESMTP服务的身份认证功能。即用户发送邮件时,需要对用户的身份进行验证,如果帐号或密码错误,邮件服务器会 ...
CPPWebBrowser的PostData
WideString URL = "http://www.bianceng.cn/maker/pass.asp";;
ParamString = "username=test&password=12345";
TVariant *PostData = new TVariant(ParamString);
CPPWebBrowser->Navigate(URL,0,0,PostData,0);
这样是不行的,网页收不到参数。
http://www.bianceng.cn/maker/pass.asp?username=test&password=12345
这样 ...
在名字空间中声明类和成员函数
虽然很多程序员都熟悉名字空间的概念,但他们常常都是被动地使用名字空间。也就是说他们使用的是第三方定义的成员(如标准库的类和函数),而不是在名字空间中声明自己的类和函数。本文拟讨论如何在名字空间中声明自己的类和函数,以及如何在程序中使用它们。
名字空间是一个范畴,它包含类声明,函数声明,常量声明和模板 ...
一个C++日期类(第一部分)
本文适合初级读者
Chuck Allison 是盐湖城圣 Latter Day 教堂总部下耶稣教堂家族历史研究处的软件体系设计师。他拥有数学学士和数学硕士学位。他从1975年起开始编程,从1984年起他开始从事c语言的教学和开发。他目前的兴趣是面向对象的技术及其教育。他是X3J16,ANSI C ++标准化委员会的一员。发送e-mail 到 allison@decus. ...
C++经典面试题
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?
virtual修饰符会被隐形继承的。
private 也被集成,只事派生类没有访问权限而已
virtual可加可不加
子类的空间里有父类的所有变量(static除外)
同一个函数只存在一个实体(inline除外)
子类覆盖它的函数不加virtual ,也能实现多态。
...
怎样建立自己的函数库
自定义函数库的方法及应用:
一、2个相关的命令 1、TCC——TC的DOS下的命令行编译连接工具 2、TLIB——TC的DOS下的库操作工具
二、1个自定义的函数库的例子
1、在TC集成环境下,编一个文件USERADD.C
#define _NO_MAIN
int add(int *a,int *b)
{ int c;
c=(*a)+(*b);
return c;
}
按ALT—F9编译 生成一个 USERADD.OBJ文件。
...
用C++ Builderw做Ftp服务器程序
#include //Required for atoi()
#include "..\winsock.h" //Winsock header file
#define PROG_NAME "Quick FTP Version 1"
#define HOST_NAME "NIC.DDN.MIL " // FTP server host
#define PASSWORD "PASS guest\r\n " // Password for FTP server host
#define WINSOCK_VERSION 0x0101 // Program r ...
计算机短信DIY
手机短信已经成为当今的流行时尚,但怎样在计算机之间体验短信的方便与快捷呢?其实我们利用Windows 2000提供的信使服务就可以自制一个短信发送程序,令笔者最为得意的是它几乎可以穿越各种网络防火墙,不受限制。
信使服务是指“计算机管理”中的“发送控制台消息”。“计算机管理”将多个Windows 2000管理工具合并到了一个 ...
用BCB编SQL Server2000的扩展存储过程
这个存储过程是计算 MD5 值的,可以用来进行密码认证加密等。
SQL Server 的扩展存储过程 (Extended Stored Procedure, 简称 XP) 是通过在 MSSQL 数据库注册封装在 .dll 里面的函数实现的,
而这个 .dll 应该按照 M$ 提供的规则, 并且要连接 MSSQL 的库文件。由于 C++ Builder 自带的 MSSQL 库文件 OPENDS60.LIB 比较旧,
本 ...
用OLE操作Excel
用OLE操作Excel(目前最全的资料)(04.2.19更新)
本文档部分资料来自互联网,大部分是ccrun(老妖)在Excel中通过录制宏-->察看宏代码-->转为CB代码而来.本文档不断更新中.欢迎大家关注.
要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp
#include "Comobj.hpp"
C++ Builder把Excel自动化对象的功能 ...
巧算星期几
----本程序为老妖根据一个帖子写的。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *WeekName[7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
SYSTEMTIME Now,Tmp;
GetSystemTime(&Now);
Tmp.wYear=2222; //要查询的年份
Tmp.wMonth=12; //要查询的月份
Tmp.wDay=31; // ...
256色位图格式与256色位图编程
下面就一个C++程序(DrawBmp.cpp, Borland C++ Builder 6.0 编译运行通过)具体分析
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "DrawBitmap.h"
//---------------------------------------------------------------------------
#pragma package( ...
const使用详解
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助:
一 const基础
如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:
int b = 500;
const int* a = &b; [1]
int const *a = &b; [2]
int* const a = ...
找到数组轮转的X
问题:用C++代码实现函数 FindSortedArrayRotation。该函数接受一个整数数组和数组的长度。这个整数数组本来是有序的(升序),但被轮转了X位置(对给定的整数X (0 int FindSortedArrayRotation(int *array, int arrayLength)
{
// Insert your implementation here
/*
After rotation the array was divided int ...