• 大小: 405KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-09-12
  • 语言: PHP
  • 标签: matlab  

资源简介

教程使用MATLAB搭建一个家庭监控系统视频温湿度报警-Home Security System 12-09-04.zip
系统背景:监控家里是否有陌生人闯入,家里的设备是否工作正常(北方的会员可能知道,如果家里的暖气是自供的话,冬天千万不能关暖气,否则水管容易爆裂)。所以打算自己DIY一个家庭监控系统,全部使用MATLAB自带的函数功能。使用MATLAB GUIDE设计一个操作界面,使用MATLAB图像采集/处理/机器人视觉工具箱来检测物体。

需要的硬件:
1:家里有网络(一般使用无线摄像头、无线摄像头一般有网线接口);
2:一台运行windows的电脑(能连上家里的网络即可,我用的是05年买的一个台式机,现在看来已经很落后了);
3:一个无线IP Camera(会员@梦之缘工作坊给我推荐EasyN IPCam的F系列和H3系列,因为他们提供SDK。 我现在使用的是从淘宝上购买的凯聪1018,但是他们不提供SDK,摄像头的很多功能都不方便调用。所以打算放弃凯聪,选购EasyN的IP摄像头。如果大家有好的推荐,也欢迎跟帖。硬件必须要选对);
4:一个USB温度计、湿度计(我也是在taobao上购买的,还在邮寄中,一般可以把环境温度录入Excel文件)。

希望实现的功能:
(1)        无线摄像头能够检测到移动物体,系统能自动给我发邮件,并且附上当前的照片。
(2)        USB温度计检测室内温度,当温度低于15°时候,能够发邮件给我,提醒我是否忘记开暖气。当温度高于40°时候,也能够提醒我,很可能着火了。
(3)        USB湿度计检测室内湿度,如果发现湿度很大,是否表示水龙头没有关好,或者提醒我打开空调的除湿功能。

你是否有这个疑问?
一般IP Camera厂商都提供完善的物体检测、发邮件报警等功能,那有必要还要自己开发么?
我的经验是这样的,自己开发是可以实现一些自定义的功能,比如说加上一些特定的图像算法、扩展应用(邮件报警只是一个使用,是否可以实现与其他硬件的协作)等。


我计划把我的实现过程记录下来,而不是只是呈现一个最终的系统界面给大家。我每天添加一些类容,公布一些进展,并且上传不同阶段的程序。这样做的好处是可以把整个系统分散开来,不同会员可以根据自己的需要摘取系统里的一些功能。跟我以前给的教程类似,我一般只是给一个大体的可以工作的框架,希望感兴趣的会员能完善整个系统的功能。

所有开发都基于MATLAB R2012a, 需要用到的MATLAB工具箱(不断添加中):
MATLAB
MATLAB图像处理工具箱
MATLAB图像采集工具箱

======================== 2012年7月22日 ========================
实现功能:
1:搭建一个基础的GUI框架;
2:实现MATLAB读取IP摄像头:
修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_auth,使之调用urlwrite_basicauth。使用MATLAB的timer功能,不间断读取图像,用户可以在GUI上修改帧率。


常见问题:
用户名和密码怎么修改?
答:在urlwrite_basicauth.m,搜索urlConnection.setRequestProperty;复制代码其中的aWxvdmVtYXRsYWI6MTIzNDU2是加密后的用户名和密码。
压缩包里,有一个get_code.php文件,其中“ilovematlab:123456”对应的是用户名ilovematlab和密码123456.
根据你自己的需要,修改成自己的用户名和密码。然后运行此php文件,返回值就是加密的用户名和密码。


程序打包下载: Home Security System 12-07-22.zip 使用MATLAB搭建一个家庭监控系统(视频 温湿度 报警)

MATLAB 视频监控系统.png 使用MATLAB搭建一个家庭监控系统(视频 温湿度 报警)
MATLAB读取IP Camera.png

======================== 2012年8月05日 ========================
更新:
用户可以自定义采集图像的URL地址,用户可以根

资源截图

代码片段和文件信息

function varargout = HomeMonitoringSystem(varargin)
% HOMEMONITORINGSYSTEM MATLAB code for HomeMonitoringSystem.fig
%      HOMEMONITORINGSYSTEM by itself creates a new HOMEMONITORINGSYSTEM or raises the existing
%      singleton*.
%
%      H = HOMEMONITORINGSYSTEM returns the handle to a new HOMEMONITORINGSYSTEM or the handle to
%      the existing singleton*.
%
%      HOMEMONITORINGSYSTEM(‘CALLBACK‘hobjecteventDatahandles...) calls the local
%      function named CALLBACK in HOMEMONITORINGSYSTEM.M with the given input arguments.
%
%      HOMEMONITORINGSYSTEM(‘Property‘‘Value‘...) creates a new HOMEMONITORINGSYSTEM or raises the
%      existing singleton*.  Starting from the left property value pairs are
%      applied to the GUI before HomeMonitoringSystem_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to HomeMonitoringSystem_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE‘s Tools menu.  Choose “GUI allows only one
%      instance to run (singleton)“.
%
% See also: GUIDE GUIDATA GUIHANDLES

% Edit the above text to modify the response to help HomeMonitoringSystem

% Last Modified by GUIDE v2.5 03-Sep-2012 16:31:03

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘       mfilename ...
                   ‘gui_Singleton‘  gui_Singleton ...
                   ‘gui_OpeningFcn‘ @HomeMonitoringSystem_OpeningFcn ...
                   ‘gui_OutputFcn‘  @HomeMonitoringSystem_OutputFcn ...
                   ‘gui_LayoutFcn‘  []  ...
                   ‘gui_Callback‘   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State varargin{:});
else
    gui_mainfcn(gui_State varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before HomeMonitoringSystem is made visible.
function HomeMonitoringSystem_OpeningFcn(hobject eventdata handles varargin)
% This function has no output args see OutputFcn.
% hobject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to HomeMonitoringSystem (see VARARGIN)

% Choose default command line output for HomeMonitoringSystem
handles.output = hobject;
web -browser http://www.ilovematlab.cn/thread-201914-1-1.html
% Update handles structure
guidata(hobject handles);

% UIWAIT makes HomeMonitoringSystem wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = HomeMonitoringSystem_OutputFcn(hobject eventdata handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hobject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       33878  2012-09-04 10:41  HomeMonitoringSystem.asv
     文件       15452  2012-09-04 08:25  HomeMonitoringSystem.fig
     文件       34205  2012-09-04 10:56  HomeMonitoringSystem.m
     文件        2731  2011-07-20 08:01  imftype.m
     文件       19199  2012-07-17 09:24  imread_auth.m
     文件      378888  2012-07-22 21:35  matlab.mat
     文件         176  2012-07-22 23:17  ReadMe.txt
     文件        1641  2011-10-19 02:53  urlreadwrite.m
     文件        5016  2012-08-06 00:01  urlwrite_basicauth.m
     文件         198  2012-07-22 23:17  下载最新程序版本.url
     文件          48  2012-07-22 23:28  get_code.php

评论

共有 条评论