【Matlab编程】Matlab让电脑失而复得
在学校常常有同学电脑失窃,大抵都是粗细大意。据说iPhone手机失窃后能够获取小偷的照片,从而将照片找到。如今用matlab写一个程序使得当小偷使用电脑上网时,电脑自己主动将电脑前面的人的照片发到你指定的邮箱。
前提是你的电脑装有摄像头而且有网!
先用以下代码測试你邮箱是否正确设置:
clear
myaddress='sender@qq.com';
%这里sender为你发邮箱的qq号。注意你的邮箱要已经提供SMTP服务。没有也没关系,qq邮箱会提醒设置设置的mypassword='password';%这里为你邮上面邮箱相应的密码(一般和QQ密码同样)
to = 'receiver@qq.com'; %这里为你要发送到的邮箱
setpref('Internet','E_mail',myaddress);
setpref('Internet','SMTP_Server','smtp.qq.com');
setpref('Internet','SMTP_Username',myaddress);
setpref('Internet','SMTP_Password',mypassword);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
subject ='电脑小偷'; obj = videoinput('winvideo');
h=preview(obj);
set(gcf,'Visible','off')
set(h,'Visible','on')
start(obj);
pause(10);
photo=getsnapshot(obj);
imwrite(photo, 'thief.jpg')
sendmail(to, subject,[],'thief.jpg');
obj = videoinput('winvideo');
h=preview(obj);
set(gcf,'Visible','off')
set(h,'Visible','on')
start(obj);
pause(10) % 假设你的电脑调用摄像头的时间很短,能够不用这句
photo=getsnapshot(obj);
imwrite(photo, 'yourpicture.jpg');
第二步:获取当前电脑前人的相片并与自己的图片进行比較,若相似度不高。则会发送当前电脑前人的相片到你指定的邮箱
%文件名称为sendemail.m
clear
myaddress='sender@qq.com';
%这里sender为你发邮箱的qq号。注意你的邮箱要已经提供SMTP服务,没有也没关系,qq邮箱会提醒设置设置的mypassword='password'; %这里为你邮上面邮箱相应的密码(一般和QQ密码同样)
to = 'receiver@qq.com'; %这里为你要发送到的邮箱
setpref('Internet','E_mail',myaddress);
setpref('Internet','SMTP_Server','smtp.qq.com');
setpref('Internet','SMTP_Username',myaddress);
setpref('Internet','SMTP_Password',mypassword);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
subject ='电脑小偷'; %邮件主题 obj = videoinput('winvideo');
h=preview(obj);
set(gcf,'Visible','off')
set(h,'Visible','on')
start(obj);
pause(10) % 假设你的电脑调用摄像头的时间很短。能够不用这句
photo=getsnapshot(obj);
imwrite(photo, 'thief.jpg')
pause(10)%假设你的电脑调用摄像头的时间很短,能够不用这三句
photo=getsnapshot(obj);
imwrite(photo, 'thief.jpg')
a=imread('yourpicture.jpg');%这里的'yourpicture.jpg为你自己的照片
a1=rgb2gray(a);
aa=imread('thief.jpg');
aa1=rgb2gray(aa);
corr= corr2(a1,aa1);
if corr<0.85 %0.85能够自己设置0-1的范围,值越小表示两幅图很easy匹配,最好取值为0.8-0.9
sendmail(to, subject,[],'thief.jpg');
end
在右边栏中选中“创建任务“,弹出创建任务对话框,为任务填个名称,勾选下方隐藏,配置选为。windows7那一项,触发器选项卡中单击“新建”,选择“登录时”。“每天”,勾选延迟任务。设定延迟时间为3分钟。确定。“操作”选项卡,单击新建,选择“启动程序”,单击“浏览”。选择matlab文件夹下生成的exe文件,确定。
“条件”选项卡中仅仅需勾选“仅仅有在下面网络连接可用时才启动”,然后在下拉列表中选择“不论什么连接”(这个设置非常重要,仅仅有在电脑联网的情况下才干发送邮件)。确定。后面两个选项卡,自己看样子办。
然后注销用户又一次登录。在三分钟内连接上网络。三分钟后,程序会自己主动执行,整个过程结束。
clear
myaddress='sender@qq.com';
mypassword='password';
to = 'receiver@qq.com';setpref('Internet','E_mail',myaddress);
setpref('Internet','SMTP_Server','smtp.qq.com');
setpref('Internet','SMTP_Username',myaddress);
setpref('Internet','SMTP_Password',mypassword);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
subject ='电脑小偷'; obj = videoinput('winvideo');
%h=preview(obj);
set(gcf,'Visible','off')
%set(h,'Visible','on')start(obj);
pause(2);
photo=getsnapshot(obj);
imwrite(photo, 'thief.jpg')
a=imread('yourpicture.jpg');
a1=rgb2gray(a);
aa=imread('thief.jpg');
aa1=rgb2gray(aa);
corr= corr2(a1,aa1);
if corr<0.85
sendmail(to, subject,[],'thief.jpg');
end
上面程序的图像匹配不准确。希望在以后通过图像识别来精确地辨别电脑主人。在Step4中你也能够依据自己的需求改变任务创建计划。比方说,设置在每天的详细时间点启动任务,获取图像并发送。
在这样的情况下,就没有必要进行图像匹配了。就能够仅仅使用本文最前面的一段程序就能够了。
原文:http://blog.csdn.net/tengweitw/article/details/34559489
作者:nineheadedbird
【Matlab编程】Matlab让电脑失而复得的更多相关文章
- Matlab编程基础
平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...
- MATLAB 编程风格指南及注意事项
MATLAB编程风格指南Richard Johnson 著Genial 译MATLAB 编程风格指南Richard JohnsonVersion 1.5,Oct. 2002版权: Datatool 所 ...
- 【Matlab编程】哈夫曼编码的Matlab实现
在前年暑假的时候,用C实现了哈夫曼编译码的功能,见文章<哈夫曼树及编译码>.不过在通信仿真中,经常要使用到Matlab编程,所以为了方便起见,这里用Matlab实现的哈夫曼编码的功能.至于 ...
- matlab和c++混合编程---matlab和vs的环境配置问题及方法和步骤(转载)
matlab和c++混合编程---方法和步骤 matlab和c++混合编程---matlab和vs的环境配置问题 摘要:Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序 ...
- 一些matlab教程资源收藏,使用matlab编程的人还是挺多的
Matlab教程专题资源免费下载整理合集收藏 <MATLAB从入门到精通>高清文字版[PDF] 103.9MB 简体中文 <矩阵实验室>(Mathworks.Matlab.R2 ...
- MATLAB编程技巧
[摘要] MATLAB是一种科学计算语言,和C.Fortran等高级语言相类似,能方便的实现程序控制.以下介绍一点matlab编程的技巧. 嵌套计算 程序执行的速度取决于调用的子程序的个数和算法实现. ...
- PID各环节的意义和功能,自带PID的matlab编程实例
这是PID的标准形式包括比例/积分/微分三部分,e为偏差 下面我们分析三个环节的作用,设:当前系统状态A,目标状态B, e=B-A,初始状态e>0 (以下是个人的理解,欢迎读者评论) 1 比例环 ...
- 58 matlab 编程
0 引言 matlab中有些东西记录一下 1 matlab coder matlab命令行窗口输入: coder 回车即可打开matlab coder 窗口.接着,matlab将引导你把matlab格 ...
- 【Matlab编程】Matlab高效编程技巧
1.默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系. 2. 一只失明的猫的问题:注意方法! 3.给数组预分配空间是基本的高效编程准则之 ...
随机推荐
- AdapterView<?> arg0, View arg1, int arg2, long arg3參数含义
arg0:是指父Vjew arg1就是你点击的那个Item的View arg2是position,position是你适配器里面的position arg3是id,通常是第几个项.id是哪个项View ...
- Jump的计划
欢迎訪问我的github:https://github.com/xdnm 1.熟悉cocos2dx2.2.3开发框架 a.熟悉cocos2d api ...
- hdu 1102 Constructing Roads(最小生成树 Prim)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 Problem Description There are N villages, which ...
- Activity 和 Intent
Activity 和 Intent 一.Intent指向Activity 二.利用 Intent 向第二个 Activity 传数据 三.利用 Intent 接受第二个 Activity 的返回值 四 ...
- 编译kernel:编译
韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步第10课第3节 内核启动流程分析之Makefile.WMV 1. 编译内核分三步: make xxx_defconfig [linux ...
- 软件下载网(包括MAC软件大全)
http://www.ddooo.com/ MAC软件大全: http://www.ddooo.com/apple/15_5_1.htm
- How to configure CDB in Qt Creator(使用VC调试器)
I was having the same problems too, and finally figured out how to solve this. Styne666 gave me a hi ...
- Get started - UIkit documentation
Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...
- Debian/Ubuntu Linux 下安装LLVM/Clang 编译器
第一步,首先编辑 /etc/apt/sources.list,增加下面源: (加入源后务必执行apt-get update,假设有错误提示,先执行第二步,然后apt-get update) Debia ...
- 基于visual Studio2013解决C语言竞赛题之1092链表转换
题目 解决代码及点评 /************************************************************************/ /* ...