自制摄像头监控程序
来源:百度文库 编辑:神马文学网 时间:2024/04/27 12:38:18
自制摄像头监控程序
花了一百块钱买的USB摄像头除了跟几个朋友聊视频外,平时就一直处于闲置状态。一日我突发奇想:能不能用它来做个视频监视报警系统,经过本人一段时间的研究发现还真是可以,只要使用C++ Builder6就很容易实现这个功能,而且效果还是不错的,现在就把自己的心得和大家分享一下!一、创建窗体
创建窗体Form1,将它调整到适当大小,在上面放上Panel1、Label1、StatusBar1、ScrollBar1、GroupBox1、Memo1、Button1、Button2和Timer1控件,将Button1的caption属性改为“启动摄像头”,Button2的Captio n属性改为“开始监控”,Label1的Caption改为“灵敏度”,修改Timer1的Enabled为false,Interval为500,修改ScrollBar1的Min为100,Max为1000。
二、增加头文件
打开头文件:Unit1.h,为它增加两个头文件:
#include "jpeg.hpp"
#include "vfw.h"
修改private段如下:
private: // User declarations
CAPDRIVERCAPS gCapDrvCaps;
int sizef,sizetemp,jd;
int __fastcall getfiles();
void __fastcall scanpic();
三、添加函数
打开Unit1.cpp文件,添加两个函数:
void __fastcall TForm1::scanpic()
{
Graphics::TBitmap *Bitmap=new Graphics::TBitmap;
TJPEGImage *jmp= new TJPEGImag
e;
Bitmap->Width=Form1->Panel1->Width;
Bitmap->Height=Form1->Panel1->Height;
Bitmap->PixelFormat=pf32bit;
::BitBlt(Bitmap->Canvas->Handle,Form1->Panel1->Left,Form1->Panel1->Top,Form1->Panel1->Width,Form1->Panel1->Height, Form1->Canvas->Handle,0,0,SRCCOPY);
// Bitmap->SaveToFile("tu.bmp");
jmp->Assign(Bitmap);
jmp->Compress();
jmp->SaveToFile("temp.jpg");
delete jmp;
delete Bitmap;
}
//-----------------
int __fastcall TForm1::getfiles()
{
HANDLE HMyFile=::CreateFile("aa.jpg",GENERIC_READ,0,0,OPEN_EXIS
TING,FILE_ATTRIBUTE_NORMAL,0);
double sized=(double)::GetFileSize((void *)HMyFile,NULL);
CloseHandle(HMyFile);
return sized;
}
四、为按钮添加代码
双击Button1按钮,为它添加OnClick事件代码如下:
HWND capWin = capCreateCapture
Window ((LPSTR) "Video Windows",WS_CHILD | WS_VISIBLE,Panel1->Left,Panel1->Top,Panel1->Width,Panel
1->Height,(HWND) Handle,1);
if(capDriverConnect(capWin,0))
{
capDriverGetCaps(capWin,&gCapDrvCaps,sizeof(CAPDRIVERCAPS));
if(gCapDrvCaps.fCaptureInitialized)
{
capPreviewRate(capWin,66);
capPreview(capWin,TRUE);
}
else
{
StatusBar1->SimpleText="摄像头初始化失败!";
}
}
else
{
StatusBar1->SimpleText="摄像头连接不成功!";
}
双击Button2为它添加OnClick事件代码如下:
jd=ScrollBar1->Position;
scanpic();
sizef=getfiles();
Timer1->Enabled=true;
双击ScrollBar1为它添加OnChange事件如下:
jd=ScrollBar1->Position;
双击Timer1为它添加OnTimer事件如下:
scanpic();
sizetemp=getfiles();
if(abs(sizetemp-sizef)>jd)
{
AnsiString fp;
DateTimeToString(fp,"yyyy'年'mm'月'dd'日'mm'分'ss'秒'",Now());
Memo1->Lines->Add("有人偷苹果!"+fp+IntToStr(sizetemp));//产生报警日志
sndPlaySound("xx.wav",SND_ASYNC);//播放警报声
}
五、设置报警声
在程序目录下面放上你喜欢听到的报警声音,并将声音文件命名为xx.wav,运行程序,点击“启动摄像头”将摄像头对准桌面上的苹果,当画面基本稳定时再按“开始监控”。这时你偷偷地把手伸过去抓苹果,是不是报警了?同样你还可以将摄像头对准你房间的门,防止你在聚精会神地玩电脑时,有人突然窜到你的背后吓唬你,在使用过程中还可以任意调整监视系统的灵敏度。
引用(1)
评论(0)
阅读(38)
上一篇:简单方法(6步)让平凡的照片变的不平凡
下一篇:超小动态小图标
最近读者
阿建
高人
南山夫子
hlqasd
继往开来
zydonglijiang@126
shaodeyi
税海
评论
姓 名: (必填) 我要登录 ->
邮箱或网址: (选填)
暮野苍狼
最新日志
【经典音乐欣赏】 红楼梦曲笛音乐(FLASH版)
精美水晶球闪图
经典的不良笑话
如何自己制作QQ空间开场动画!
如果你也流泪了,请把它转发你最爱的人
[大图音画] 【雪舞音画】殇情赋
公司简介-联系方法-招聘信息-客户服务-相关法律-互动营销-
网易公司版权所有 ©1997-2009
正在加载中...
自制摄像头监控程序
摄像头做监控设备
摄像头做监控设备
摄像头视频监控安装
摄像头监控标语
安装监控摄像头及家庭监控摄像头安装方法介绍
用摄像头视频监控家
教你用摄像头进行视频监控
向日葵远程摄像头监控使用帮助
监控室上岗程序标准
自己动手写打印机监控程序
云南一涉案人员在派出所自缢 处监控摄像头死角
教你用摄像头视频监控家里情况+
教你用摄像头视频监控家里情况
教你用摄像头视频监控家里情况
教你用摄像头视频监控家里情况1
海口“最牛钉子楼”装8摄像头“监控”
乌鲁木齐安装8370个摄像头监控全城(图)
教你用摄像头进行视频监控家里
教你用摄像头视频监控家里情况
监控摄像头的镜头的种类及参数
教你用摄像头进行视频监控家里
教你用摄像头进行视频监控家里情况
教你用摄像头进行视频监控家里情况