天天看點

【Matlab程式設計】Matlab讓電腦失而複得

       在學校經常有同學電腦失竊,大抵都是粗細大意。據說iPhone手機失竊後可以擷取小偷的照片,進而将照片找到。現在用matlab寫一個程式使得當小偷使用電腦上網時,電腦自動将電腦前面的人的照片發到你指定的郵箱。前提是你的電腦裝有攝像頭并且有網!先用下面代碼測試你郵箱是否正确設定:

在matlab中執行上述腳本檔案,看是否發送郵件

以下四步是進行電腦跟蹤:程式代碼如下:

第一步:設定自己的相片(注意所有操作都是在你matlab目前目錄下)

第二步:擷取目前電腦前人的相片并與自己的圖檔進行比較,若相似度不高,則會發送目前電腦前人的相片到你指定的郵箱

第二步:将step2中的程式編譯生成exe檔案 

可以直接上網找到方法,我在這裡示範一種,操作如下:首先去掉黑框: 在指令視窗輸入:cd(prefdir) edit compopts.bat在打開的檔案最後添加以下語句(前提是在下面圖解的安裝編譯器選擇的是vc編譯器,若選擇其它編譯器,自己百度方法):       set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup

編譯器的安裝如下圖: 

【Matlab程式設計】Matlab讓電腦失而複得

 mcc -m sendemail (sendemail 為step2中的檔案)這一指令可能會編譯幾分鐘,請耐心等待,執行完後會生成sendemail.exe檔案 

 第四步:建立任務計劃        

右擊我的計算機,單擊管理,在左邊欄中選中“任務計劃程式”。在右邊欄中選中“建立任務“,彈出建立任務對話框,為任務填個名稱,勾選下方隐藏,配置選為,windows7那一項,觸發器頁籤中單擊“建立”,選擇“登入時”,“每天”,勾選延遲任務,設定延遲時間為3分鐘,确定。“操作”頁籤,單擊建立,選擇“啟動程式”,單擊“浏覽”,選擇matlab目錄下生成的exe檔案,确定。“條件”頁籤中隻需勾選“隻有在以下網絡連接配接可用時才啟動”,然後在下拉清單中選擇“任何連接配接”(這個設定很重要,隻有在電腦聯網的情況下才能發送郵件),确定。後面兩個頁籤,自己看樣子辦。然後登出使用者重新登入。在三分鐘内連接配接上網絡,三分鐘後,程式會自動運作,整個過程結束。  

程式說明:由于程式中有preview,導緻拍攝圖像時會顯示出視窗,容易被小偷發現,如果你的攝像頭啟動十分快可以将Step2中的程式改為:

上面程式的圖像比對不準确,希望在以後通過圖像識别來精确地辨識電腦主人。在Step4中你也可以根據自己的需求改變任務建立計劃,比如說,設定在每天的具體時間點啟動任務,擷取圖像并發送。在這種情況下,就沒有必要進行圖像比對了,就可以隻使用本文最前面的一段程式就可以了。

作者:nineheadedbird

繼續閱讀