版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
摘要如今的生活已經(jīng)不單單只需要解決溫飽問題,還有精神上的滿足,游戲就是人們娛樂活動(dòng)之一,因此它也能成為如今必不可缺的一部分。游戲是競技體育發(fā)展的初級(jí)階段,許多的競技體育項(xiàng)目最開始的時(shí)候只是人們?cè)跇I(yè)余時(shí)間的簡單玩耍從而釋放壓力,經(jīng)過不斷的發(fā)展,游戲也形成了一套較為完整的體系,有平時(shí)放松娛樂玩的,也有競技類的游戲,因此游戲達(dá)人也越來越多,他們通過游戲比賽來賺錢,通過直播平臺(tái)教導(dǎo)普通玩家如何更好的體驗(yàn)游戲的樂趣。一些比較大型的游戲很受到人們的歡迎,他們會(huì)為自己喜歡的游戲選手吶喊助威,成為他們的粉絲團(tuán),所以游戲競技也逐漸完善化,會(huì)有明確的規(guī)則,規(guī)范場地器材與組織形式,就逐漸轉(zhuǎn)化為正式的體育項(xiàng)目。因?yàn)楦鞣N游戲的越發(fā)蓬勃,隨之興起的是各種游戲輔助外掛。游戲中普通玩家是占據(jù)很大一部分,他們沒有向?qū)I(yè)競技選手的速度和運(yùn)用靈活度,比較難每次都獲得勝利,然而游戲外掛就彌補(bǔ)了他們的這些缺陷,可以更容易的活的勝利,并且從中獲得快感,這也是游戲輔助外掛能夠蓬勃發(fā)展的原因。游戲外掛有很多種,有將外掛程序嫁接到游戲程序當(dāng)中,通過改變本地的一些信息,或者增強(qiáng)瞄準(zhǔn)度,或者一鍵可以完成同時(shí)多鍵才能完成的技能,從而得到提高自己玩游戲的勝利率。CS游戲外掛的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)是由STM32F103C8T6為主控制器,通過OpenCV的圖像處理,將截取的原視頻轉(zhuǎn)化為灰度視頻,再通過斑點(diǎn)掃描算法提取斑點(diǎn)坐標(biāo),也就是敵方血量條的坐標(biāo),再打開串口發(fā)送相應(yīng)的斑點(diǎn)坐標(biāo),STM32F103C8T6接收到數(shù)據(jù)后,控制鼠標(biāo)進(jìn)行一系列操作。關(guān)鍵詞:STM32F103C8T6鼠標(biāo)控制圖像識(shí)別視覺檢測
AbstractToday’slifeisnotonlyaboutsolvingtheproblemsoffoodandclothing,butalsospiritualsatisfaction.Gamesareoneofpeople’sentertainmentactivities,soitcanalsobecomeanindispensablepartoftoday.Gamesaretheinitialstageofthedevelopmentofcompetitivesports.Atthebeginningofmanycompetitivesports,peoplesimplyplayedintheirsparetimetoreleasethepressure.Aftercontinuousdevelopment,thegamehasformedarelativelycompletesystem.Therearealsocompetitivegames,sotherearemoreandmoregamemasters.Theyteachordinaryplayershowtobetterexperiencethefunofthegamethroughthelivebroadcastplatform.Someofthelargergamesareverypopularwithpeople.Theywillcheerfortheirfavoritegameplayersandbecometheirfangroup,sothegamecompetitionisgraduallyperfected,andtherewillbeclearrulestoregulatevenueequipmentandorganizationalforms,graduallytransformedintoaformalsportsevent.Asvariousgamesbecomemoreandmoreprosperous,variousgames-assistedplug-insareemerging.Ordinaryplayersaccountforalargepartofthegame.Theydon’thavethespeedandflexibilityofprofessionalathletes.Itisdifficulttowineverytime.However,thegamemakesupfortheseshortcomingsandcaneasilywin.Getpleasurefromit,whichiswhythegame-assistedplug-incanflourish.Therearemanytypesofgameplug-ins,someofwhicharegraftedintothegameprogram,bychangingsomelocalinformation,oronekeycancompletetheskillsthatcanbecompletedbymultiplekeysatthesametime,therebyimprovingthevictoryrateofplayingthegame.ThedesignandimplementationofthisCSgameismadebySTM32F103asthemaincontroller.ThroughOpenCVimageprocessing,theoriginalvideoisconvertedintogray-scalevideo,andthenthespotcoordinatesareextractedbythespotscanningalgorithm,whichistheenemy.Thecoordinatesofthesquarebloodvolumebar,andthenopentheserialporttosendthecorrespondingspotcoordinates.Afterreceivingthedata,STM32F103controlsthemousetoperformaseriesofoperations.Keywords:STM32F103C8T6MousecontrolImageRecognitionVisualInspection 目錄第一章緒論 第一章緒論1.1課題背景和意義 說到游戲,每個(gè)人腦海里都有不同的畫面,因?yàn)橛螒蛞呀?jīng)跟我們的生活緊緊的聯(lián)系在一起,游戲帶給我們的不單單是消遣還有幸福的回憶。小時(shí)候和朋友們玩的小游戲,猜謎語、跳臺(tái)階等游戲,慢慢長大就會(huì)接觸到電子產(chǎn)品,開始的時(shí)候是在街邊可以看到很多男孩子玩的游戲機(jī),到后來因?yàn)榭萍己突ヂ?lián)網(wǎng)的迅速發(fā)展,家用的電腦,手機(jī)等等的出現(xiàn),就開始慢慢接觸電子游戲,也算是見證游戲的一段快速發(fā)展的歷程,因?yàn)閷?duì)游戲的興趣,因此畢業(yè)設(shè)計(jì)的時(shí)候選擇跟游戲相關(guān)的題目。查閱資料后發(fā)現(xiàn),電子游戲也是各種類型都有,有生存類的,有射擊類的,有養(yǎng)成類的,有益智類的,也有單人模式和多人組隊(duì)模式的,許多游戲都沒玩過,因?yàn)橛螒虺艘恍┍容^大型出名的游戲,其他一些小游戲很容易被淘汰,隨著電子游戲的發(fā)展,電子游戲的平臺(tái)有四種:1、家用主機(jī),也就是專門用來玩游戲的家用游戲機(jī),是通過電視作為顯示屏幕,想要玩什么游戲就要買專用的多媒體光碟或卡帶,再連接游戲手柄等一體化進(jìn)行操作的設(shè)備,這種平臺(tái)可以更換不同的游戲,因此比較靈活,也是它能成為最常見的游戲平臺(tái)的其中一個(gè)原因,其中美好最出名并且是第一個(gè)最成功的商業(yè)用途的專門為電子游戲愛好者們?cè)O(shè)計(jì)的平臺(tái)就是雅達(dá)利的雅達(dá)利2600。雅達(dá)利2600該電子游戲平臺(tái)是用一個(gè)主機(jī),分離的控制器和可以更換游戲種類的卡帶,因?yàn)樗尼绕穑渌彩前凑者@種構(gòu)架發(fā)展起來的,比如任天堂的FC。因?yàn)槭莿傞_始發(fā)展,所以硬件方面也比較簡陋,隨著科技的不斷進(jìn)步,游戲畫質(zhì)也向高清和藍(lán)光發(fā)展,能夠讓玩家更能體驗(yàn)游戲帶來的滿足感。市場也會(huì)跟隨時(shí)代的發(fā)展,讓這些游戲主機(jī)不單單只玩游戲,娛樂性也逐漸拓展,銷售的對(duì)象也不單單是年輕人,群體也擴(kuò)大了,因?yàn)槌擞螒蛲猓€具備看視頻,看圖片,聽音樂或者上網(wǎng)等功能,所以也受到很多家庭的喜愛,成為生活或不可缺的部分。2、掌上主機(jī),字面理解就是拿在手上的游戲機(jī),準(zhǔn)確是指個(gè)人使用的可以隨身攜帶電子元件,因?yàn)樗浅P∏啥疫€方便攜帶,外出的時(shí)候也可以玩,滿足人們更多的需求,也讓越來越多的人進(jìn)行消費(fèi)。例如手機(jī),到現(xiàn)在21世紀(jì),為了方便溝通交流,手機(jī)也成為必需品,而且也不單單只能玩游戲,還可以連接網(wǎng)絡(luò)、通訊、娛樂等。因?yàn)檫@種消費(fèi)模式的轉(zhuǎn)變,電子游戲平臺(tái)也需要?jiǎng)?chuàng)新,因此游戲也有專門的類似于手機(jī),小巧方便的形態(tài)為玩家更好的體驗(yàn)。最開始的時(shí)候,掌上主機(jī)無法替換其他游戲,也是一個(gè)問題,買一個(gè)游戲機(jī)就只能玩一種游戲,在空間上取得了創(chuàng)新,可是卻沒有家用主機(jī)的靈活性。面對(duì)大眾的需求,任天堂也生產(chǎn)出了GameBoy,最后被用作商業(yè)用途。3、街機(jī)就是我們年輕人比較喜歡的,可以在一些游戲機(jī)室找到,用這個(gè)名稱是為了和個(gè)人電腦和家用游戲機(jī)分開來。4、個(gè)人電腦,個(gè)人電腦是有很多電腦游戲的,現(xiàn)如今許多游戲在網(wǎng)站上下載,然后利用模擬器或者在PC端的游戲平臺(tái)進(jìn)行單機(jī)游戲或聯(lián)機(jī)游戲。由于游戲的發(fā)展,隨之興起的游戲外掛也越來越多。游戲外掛就是通過電腦技術(shù)針對(duì)相應(yīng)的游戲,進(jìn)行一些修改,從而使游戲的勝利率提高和輔助手速慢的玩家進(jìn)行設(shè)置或者鍵盤多個(gè)鍵位的同時(shí)操作。游戲外掛也分為很多種,例如修改數(shù)據(jù)包,然后把修改好的數(shù)據(jù)發(fā)送到相應(yīng)的位置、模擬鍵盤、修改一些本地內(nèi)存、模擬鼠標(biāo)等。這些都是電腦來進(jìn)行的,通過虛擬鍵盤或鼠標(biāo),可以用API函數(shù),這是軟件上設(shè)置的虛擬鍵盤或鼠標(biāo),現(xiàn)在很多游戲廠家已經(jīng)禁止用Mouse_event()這類方法移動(dòng)鼠標(biāo),需要和游戲相結(jié)合就要找到對(duì)應(yīng)的游戲窗口,才能進(jìn)行操作。還有一些游戲操作比較簡單,是通過消息傳輸,這種就可以通過截取消息,這樣可以改變一些我們想要提高的數(shù)值,例如血量、金幣數(shù)、能量值等。我們制作出游戲外掛不僅能夠解放雙手與提高效率,還能使游戲廠家更完善游戲,讓玩家有更好的體驗(yàn)。1.2游戲外掛的發(fā)展進(jìn)程 游戲外掛的發(fā)展也有十幾年的歷史,最開始出現(xiàn)外掛的是在2003年,那時(shí)候?qū)τ谕鈷觳⒉皇菫榱速嶅X,牟取利益,只是一些對(duì)電腦技術(shù)極具熱情的年輕人開發(fā)的軟件,那時(shí)候的想法只是想要研究電腦的一些語言程序,例如比較早的基礎(chǔ)語言就是C語言,到后面用到JAVA語言,PYTHON語言等,他們只是想要嘗試制作虛擬鍵盤或者鼠標(biāo),在他們的研究下,按鍵精靈產(chǎn)生了,也是該軟件的產(chǎn)生,讓一些想賺錢的人看到了商機(jī),從而開始研究各種游戲的外掛程序,讓玩家能夠提高勝率。開始的時(shí)候這并不是一種為了作弊而產(chǎn)生的程序,但是由于游戲的迅速發(fā)展,許多玩家會(huì)認(rèn)為這是非常不公平的操作,因此游戲廠家也紛紛開始反抗,因?yàn)檫@樣也會(huì)導(dǎo)致他們的利益受損,游戲外掛也因此得到了壓制,盡管這樣,游戲外掛也是有一段時(shí)間非?;鸨?。因?yàn)閷?duì)游戲外掛有一定的認(rèn)知,游戲商家也會(huì)自行制作一些外掛,目的是為了讓初始玩家更有體驗(yàn)感,由于現(xiàn)在的聯(lián)機(jī)游戲越來越多,游戲玩家也會(huì)更加注重游戲的勝利率,可是很多玩家都是普通玩家,他們匹配組隊(duì)都是不熟悉的人一起玩,默契度不會(huì)很高,就是導(dǎo)致一直輸,這種情況如果一直持續(xù)下去,會(huì)讓玩家消極對(duì)待該游戲,因此游戲商家就會(huì)制作一些程序,例如人機(jī),這樣設(shè)計(jì)比較簡單的,難度系數(shù)就會(huì)降下回來,也可以讓普通玩家適當(dāng)?shù)奶岣邉俾?,提高?duì)游戲的積極性,而且還可以用在測試的模式下,玩家可以自行進(jìn)入人機(jī)模式,對(duì)自己使用的角色進(jìn)行熟悉,了解該角色的特點(diǎn),技能使用方式,如何避免出錯(cuò),如何提高存活率。 如今的游戲外掛不單單是讓游戲玩家提高勝率,從而獲得快感,也可以通過這樣,讓游戲商家提高自家游戲的管理能力,游戲外掛使用的一些技術(shù)也是游戲商家自己也會(huì)使用到的,不管怎樣,游戲外掛還是讓許多玩家無法自拔。
第二章整體方案設(shè)計(jì)2.1系統(tǒng)整體方案 CS游戲外掛的設(shè)計(jì)與實(shí)現(xiàn)這項(xiàng)目在選擇上面的目的是能夠運(yùn)用軟件和硬件相結(jié)合的一個(gè)能夠讓游戲愛好者解放雙手,提高速度的一款設(shè)計(jì)。因此我是用STM32f103C8T6芯片作為硬件設(shè)計(jì)系統(tǒng)的主要模塊,而且這項(xiàng)目是一款主機(jī)和設(shè)備相結(jié)合的輔助游戲程序,包括高速外部時(shí)鐘源電路、電平轉(zhuǎn)換電路、運(yùn)用復(fù)位方式為系統(tǒng)復(fù)位的復(fù)位電路、運(yùn)用用戶閃存為啟動(dòng)模式的BOOT啟動(dòng)電路、連接主機(jī)PC端的USB接口電路、調(diào)試接口電路、電源電路和用二極管LED測試燒錄電路等電路組成,完成對(duì)信息的處理,接收和傳輸。在軟件設(shè)計(jì)方面,用ROI設(shè)置圖像區(qū)域,截取游戲視頻,函數(shù)將彩色視頻轉(zhuǎn)化為灰度視頻并保存,用邊緣檢測算法Canny找到視頻中灰度變化較大的位置,輸出輪廓;同時(shí)用斑點(diǎn)掃描算法提取紅色的敵方血量條,得到斑點(diǎn)坐標(biāo),將信息通過通訊發(fā)送到STM32主芯片,STM32接收到斑點(diǎn)坐標(biāo)后,鼠標(biāo)移動(dòng)到對(duì)應(yīng)的坐標(biāo)進(jìn)行左鍵點(diǎn)擊后釋放。2.2系統(tǒng)整體框架圖圖2.1整體流程框架圖
第三章硬件電路設(shè)計(jì)分析3.1硬件電路整體設(shè)計(jì) 在CS游戲外掛的設(shè)計(jì)的整體構(gòu)成中,主要的硬件模塊包括STM32F103C8主控制芯片、HSE時(shí)鐘源電路、電平轉(zhuǎn)換電路、運(yùn)用復(fù)位方式為系統(tǒng)復(fù)位的復(fù)位電路、運(yùn)用用戶閃存為啟動(dòng)模式的BOOT啟動(dòng)電路、連接主機(jī)PC端的USB接口電路、調(diào)試接口電路、電源電路和LED測試燒錄電路。硬件功能圖如下:圖3.1硬件電路功能圖3.2主控芯片介紹選擇芯片的時(shí)候要考慮到芯片的功能、接口、價(jià)錢和采購是否便捷,本次設(shè)計(jì)采用STM32F103C8為主控制芯片,該芯片是在這系列里面比較基礎(chǔ)的,而且成本不高,不選擇51單片機(jī)是因?yàn)樵搯纹瑱C(jī)一般沒有自編程能力,而且我們需要高速的雙向通訊,STM32就比51單片機(jī)更好。因?yàn)轫?xiàng)目比較復(fù)雜,因此需要通過一長串不斷的調(diào)試才能完善該程序,STM32的保護(hù)能力會(huì)更好一些,沒有這么容易燒壞芯片,同時(shí)我們需要通過USB供電和傳輸數(shù)據(jù),51單片機(jī)也不具備該功能。代碼上面需要很多等待的命令,這就需要用到時(shí)鐘,它具備五種時(shí)鐘源,滿足我們的需求,而且內(nèi)核有ARMCortex-M332的微控制器,可以做到低功耗,減少成本。STM32外圍有很多引腳,可以在串口調(diào)試有更多的選擇,該芯片還包含了兩種存儲(chǔ)器,其中就有我們需要用到的SRAM存儲(chǔ)器,用來進(jìn)行代碼的燒錄和調(diào)試,它的電源是在2V至3.6V之間,比較方便實(shí)用,且不會(huì)有局限性。新型的外圍設(shè)備最大程度和出色的實(shí)時(shí)表現(xiàn)的集成器,具有內(nèi)嵌復(fù)位電路、也可以兼容我們需要的5V供應(yīng)電流為開發(fā)本設(shè)計(jì)具有較強(qiáng)的靈活性。其原理圖如下:圖3.2STM32F103C8主芯片原理圖3.3時(shí)鐘源電路 本次選用的主芯片有1個(gè)AHB和2個(gè)APB總線,APB分為APB1(36MHz)和APB2(72MHz),本設(shè)計(jì)用到的是內(nèi)外部時(shí)鐘電路,也叫HSE,高速外部時(shí)鐘源,因此在畫PCB的時(shí)候要加入8MHz的晶體振動(dòng)器,它能夠提供最基本的時(shí)鐘信號(hào),電容是為了穩(wěn)定它的輸出,連接兩邊的電容還能避免相互干擾,而且要焊接在靠近芯片的地方。時(shí)鐘電路是為了讓程序能夠正常準(zhǔn)確運(yùn)行工作的一個(gè)必不可缺的部分。HSE的信號(hào)精度高,因此我選擇外部加8MHz的晶振。因?yàn)镾TM32的特性,因此我們需要對(duì)它進(jìn)行頻率加倍,PULLMUL需要乘9倍頻后,就得到我們的時(shí)鐘源PLLCLK。因?yàn)椴粏螁问荂PU需要時(shí)鐘源,其他模塊也是需要時(shí)鐘源工作,所以還我們需要對(duì)倍頻后的時(shí)鐘源進(jìn)行分配。我們也需要用到定位器,因?yàn)樵擁?xiàng)目需要一個(gè)硬件的中斷,確保每一個(gè)模塊都能正常運(yùn)行。本項(xiàng)目用到的是RCC寄存器,因此畫出電路原理圖如下:圖3.3電路原理圖3.4復(fù)位電路 系統(tǒng)每次進(jìn)行工作前都要恢復(fù)到最開始狀態(tài),這樣才能使程序更準(zhǔn)確,這樣就需要復(fù)位電路的存在,主要是利用電容放電的原理。本項(xiàng)目用到的復(fù)位方式是系統(tǒng)復(fù)位,如圖3.4.1復(fù)位電路原理圖可以看出,我們這次使用的是在按鍵上邊連接VCC,連接VCC的電阻R3是為了防止C7直接接地,如果沒有這個(gè)電阻,會(huì)讓電源直接接地從而形成短路,S1按鈕就是可以設(shè)置高低電平的裝置,按下該按鍵就能使該地方變?yōu)榈碗娖?,從而進(jìn)行復(fù)位。系統(tǒng)復(fù)位其實(shí)就是復(fù)位寄存器。圖3.4復(fù)位電路原理圖3.5BOOT啟動(dòng)電路 在STM32F103C8T6芯片中,44號(hào)引腳是BOOT0,在該引腳串聯(lián)一個(gè)10k的電阻R4,20號(hào)引腳是BOOT1,在該引腳串聯(lián)一個(gè)10k的電阻R1,因?yàn)檫@兩個(gè)引腳是復(fù)位電路的重要部分。這次用到的啟動(dòng)模式是內(nèi)置SRAM啟動(dòng),因?yàn)轫?xiàng)目不是一次過的,需要進(jìn)行不斷地調(diào)試,才能更加完善,這種啟動(dòng)模式就能更好的清除代碼再寫入,比較方便調(diào)試。項(xiàng)目中選用keil5作為上位機(jī)通訊的設(shè)備,因此我們需要把keil5中生成的代碼燒錄進(jìn)我們需要的芯片板上,該操作是通過高低電平進(jìn)行燒錄的,當(dāng)電路板上的BOOT0位和BOOT1都置為1時(shí),改為低電平,需要連接VCC3.3和這兩個(gè)引腳,當(dāng)燒錄后BOOT0位和BOOT1都要置0,連接GND和這兩個(gè)引腳,這種方式也方便清除上次燒錄的項(xiàng)目。圖3.5BOOT啟動(dòng)電路原理圖3.6系統(tǒng)供電穩(wěn)壓 本次項(xiàng)目的供電是通過USB實(shí)現(xiàn)的,是5V的直流電,由于我們需要3.3V的直流電,因此利用SPX3819M5-L-3-3電源芯片,將電壓穩(wěn)定在+3.3V,選擇該芯片的原因是這是一款低壓線性穩(wěn)定器LDO,電路也比較簡單。而且它還具有低壓差、旁路引腳實(shí)現(xiàn)低噪音的輸出,而且在100mA輸出的時(shí)候能夠提供接GND電流。該芯片停止使用后,功耗能夠差不多將至0,它的輸入電壓范圍2.5V至16V,不能超過500mA的電流,本設(shè)計(jì)中用C10電容串連接到電源正端,為硬件模塊提供反接保護(hù),芯片過熱還能斷電,可以把5V電源通過該芯片將電壓變成3.3V。圖3.6系統(tǒng)供電穩(wěn)壓原理圖3.7元器件選擇與作用根據(jù)本設(shè)計(jì)原理圖的各元器件不同的作用,有JP3和JP4排針、16個(gè)不同作用的電容、NRST按鍵、8MHz晶振、二極管等元器件的作用說明。表3.1各元器件作用說明表元器件作用JP3、JP4排針傳輸電流或信號(hào)P2跳線帽控制線路板上電流流動(dòng)的開關(guān)C1、C2、C3、C4電容去耦C5、C6、C8、C9、C10、C11、C12、C14、C15、C16電容濾波R2電阻作為反饋R1、R3、R4、R9電阻上拉/下拉電阻R5、R6、R7、R8電阻限流以保護(hù)電路C7電容RC延時(shí)按鍵開關(guān)控制電路通斷晶振提供時(shí)鐘MicroUSB連接器用于設(shè)備之間的數(shù)據(jù)傳輸二極管肖特基二極管用以反向保護(hù)電路
第四章軟件設(shè)計(jì)分析4.1整體軟件設(shè)計(jì) 首先對(duì)選取的游戲進(jìn)行試玩,通過試玩來了解游戲的一些具體操作,本游戲是通過鼠標(biāo)點(diǎn)擊敵方血量條,直至敵方血量條消失即可。用ROI設(shè)置圖像區(qū)域,截取游戲視頻,函數(shù)將彩色視頻轉(zhuǎn)化為灰度視頻并保存,用邊緣檢測算法Canny找到視頻中灰度變化較大的位置,輸出輪廓;同時(shí)用斑點(diǎn)掃描算法提取紅色的敵方血量條,得到斑點(diǎn)坐標(biāo),將信息通過通訊發(fā)送到STM32主芯片,STM32接收到斑點(diǎn)坐標(biāo)后,鼠標(biāo)移動(dòng)到對(duì)應(yīng)的坐標(biāo)進(jìn)行左鍵點(diǎn)擊后釋放。圖4.1整體軟件設(shè)計(jì)流程圖4.2截取游戲視頻模塊 首先通過用ROI設(shè)置圖像區(qū)域,需要找到游戲?qū)?yīng)的網(wǎng)頁,因此需要定義游戲窗口名#defineGAMEWINDOWNAME"MicrosoftEdge",然后運(yùn)行后尋找到該窗口,利用該循環(huán)條件while(hwnd==NULL),,如果找到后,輸出MicrosoftEdgefound,找到窗口后,利用SwitchToThisWindow(hwnd,false);直接跳轉(zhuǎn)到該窗口,然后截取一段視頻作為測試范例。從數(shù)學(xué)的角度來看,視頻數(shù)據(jù)其實(shí)就是多張圖像數(shù)據(jù)以人眼難以分辨的幀率而刷新得到的,所以創(chuàng)造視頻數(shù)據(jù)的過程其實(shí)就是以一定幀率,向同一文件中不斷疊加圖像幀的過程[1]。首先游戲窗口大小通過prinft(“sWidth:%d;sHeight:%d\n”,sWidth,sHeight);語句讀取,然后再設(shè)置捕獲游戲視頻屏幕的高和寬,GDI截圖是位圖(bitmap)格式,因此必須轉(zhuǎn)換為Mat格式,才能由OpenCV進(jìn)行圖像處理,設(shè)置需要截取視頻的區(qū)域,利用ROI設(shè)置區(qū)域就不需要處理整副圖像,只需要截取整副游戲視頻的畫面來減少CPU的消耗,因?yàn)閳D像處理是用CPU來處理這些圖片的,但是這樣會(huì)非常消耗CPU的資源。因此利用captured_frame=Frame(Rect(900,350,300,514));就可以把從坐標(biāo)點(diǎn)(900,350)開始,寬為300,高為514的矩形截取每一幀圖片賦值給在captured_frame,然后通過Videowriter把圖片寫進(jìn)去創(chuàng)建的AVI文件里面去,這樣方便下面算法的實(shí)現(xiàn),由于GDI截圖的通道是4通道,因此通過4通道來讀取像素。4.3灰度游戲視頻模塊 Mat數(shù)據(jù)結(jié)構(gòu)里矩陣的每個(gè)元素代表一個(gè)像素,我們要把圖片的bmp格式改為能夠跟OpenCV使用的Mat的數(shù)據(jù)類型才能進(jìn)行下面的操作。圖片信息進(jìn)行二值化處理后,對(duì)圖像的每一行進(jìn)行處理,可以得到每行圖像黑線的位置[2]?;叶葓D像時(shí),每一個(gè)像素代表其中之一(0~255),其中0表示黑色,255表示白色,其他為灰色。我們的目的是要知道敵方的坐標(biāo),因此可以通過提取敵方的紅色血量條的坐標(biāo)來確定敵方的坐標(biāo)?;谳喞ㄗ儞Q的局部對(duì)比度增強(qiáng)的彩色圖像灰度化算法主要包括兩部分:彩色圖像的初步灰度化與灰度圖像的局部對(duì)比度增強(qiáng)[3]。首先需要對(duì)視頻進(jìn)行處理,RGB{255,0,19},把紅色血量條變成白色,其他顏色變?yōu)楹谏?,從而得到單通道的灰度圖(Gray),創(chuàng)建灰度圖:Matgray,確定讀取的高度為514,寬度為300,通過3通道,即AVI通道讀取所有的像素,然后保存結(jié)果,使用灰度比值相鄰像素的梯度算法來檢測[4]。4.4斑點(diǎn)掃描算法 實(shí)驗(yàn)需要從經(jīng)過灰度化的圖像中找出敵方血量條,而斑點(diǎn)掃描算法檢測的作用是在檢測圖像中與周圍環(huán)境相比亮度或顏色不同的點(diǎn)和/或區(qū)域的模塊,基于求導(dǎo)的微分方法和基于局部極值的分水嶺算法,這兩種方法都是可以實(shí)現(xiàn)我們想要的結(jié)果基于邊緣檢測的斑點(diǎn)識(shí)別算法,首先,采用邊緣檢測器檢測當(dāng)前幀的邊緣區(qū)域,其次,針對(duì)邊緣像素,利用正反掃描方法和局部運(yùn)動(dòng)估計(jì)的SROD斑點(diǎn)識(shí)別算法識(shí)別出全部像素點(diǎn)[5],由于這種算法對(duì)邊緣檢測的準(zhǔn)確度不是很高,不能精準(zhǔn)確定我們所需要的斑點(diǎn)坐標(biāo),因此本次設(shè)計(jì)所采用的OpenCV的類SimpleBlobDetector就是基于第二種辦法,基于局部極值的分水嶺算法。分水嶺算法主要用于圖像分段,把灰度化的視頻比作一張張灰度圖,然后求出梯度圖,也就是像一片凹凸不平的地面,水滴下來一定會(huì)落在凹進(jìn)去的地方,這些地方就是最小值點(diǎn),最高的地方就是邊緣點(diǎn),這些集合就組成了“分水線”,然后在這個(gè)基礎(chǔ)上進(jìn)行該算法,這樣就能求出這些圖像的黑色和白色的邊緣線。 基于邊緣的掃描算法的原理是使用一系列提前定義標(biāo)記來引導(dǎo)圖像分割的定義方式。本項(xiàng)目使用的是OpenCV的分水嶺算法,對(duì)我們需要的敵方血量條的顏色紅色,灰度化后變成白設(shè)定長條形,斑點(diǎn)掃描算法的目的就是找出灰度化的圖片中的白色血量條,這個(gè)白色作為標(biāo)記圖像像素,然后找到敵方血量條的斑點(diǎn)坐標(biāo)。OpenCV類的分水嶺算法它不會(huì)造成過度分割的不足,讓實(shí)驗(yàn)更精確。我們把黑色的連接在一起的像素分為一組,根據(jù)設(shè)定的閾值,把距離較近的組合合并為一個(gè)大組,把白色的連接在一起的像素也分為一組,然后計(jì)算白色組的中心位置的大小。本設(shè)計(jì)首先要設(shè)置參數(shù)面積(area),顏色(color),距離(distance),凸面(Convexity),然后調(diào)用算法,結(jié)果保存在keypoints中,最后顯示圖像化的結(jié)果,還包括數(shù)量,大小,位置,從而根據(jù)斑點(diǎn)的坐標(biāo),把屬于同一目標(biāo)的斑點(diǎn)連接起來,就是目標(biāo)的血量條。4.5串口通信主機(jī)PC和設(shè)備是通過reportdescriptor通訊:單片機(jī)串口通訊的波特率是由定時(shí)器1產(chǎn)生[6]。在主函數(shù)程序與中斷函數(shù)程序的實(shí)施步驟中,它的參數(shù)設(shè)置都是按照上位機(jī)中的參數(shù)進(jìn)行設(shè)置的,然后用判斷語句來去除標(biāo)識(shí)位,以此實(shí)現(xiàn)對(duì)數(shù)據(jù)的詳細(xì)分析,在解析數(shù)據(jù)后便可通過串口緩存區(qū)將其寫進(jìn)寄存器[7]。串口通信是兩個(gè)設(shè)備間通過電平轉(zhuǎn)換TTL的方式進(jìn)行數(shù)據(jù)信號(hào)傳輸,本設(shè)計(jì)用到的串口通信設(shè)備是通用同步異步收發(fā)器,做到接收或發(fā)送數(shù)據(jù)信號(hào)都能同時(shí)進(jìn)行,實(shí)現(xiàn)高速數(shù)據(jù)通信。 串口設(shè)置:串口發(fā)送或者接收,同步讀寫串口,首先要建立Overlapped結(jié)構(gòu)為OVERLAPPEDm_osWrite;,然后對(duì)Overlapped結(jié)構(gòu)進(jìn)行初始化,當(dāng)一步寫串口的時(shí)候,運(yùn)用if(!bWriteStart)循環(huán),如果緩沖區(qū)為空,那么這里就會(huì)返回,最后停止所有正在進(jìn)行的字符輸出操作、停止所有正在進(jìn)行的字符輸入操作、清除輸出緩沖區(qū)、清除輸入緩沖區(qū)[8]。當(dāng)異步讀串口的時(shí)候,讀取緩沖區(qū)的內(nèi)容,如果讀取出來的緩沖區(qū)的內(nèi)容為空,那么就把讀取出來的內(nèi)容發(fā)送出來,完成后關(guān)閉串口。 GPIO寄存器配置:首先要對(duì)所有需要用到的引腳進(jìn)行定義并加以命名,然后對(duì)端口進(jìn)行配置并且初始化。項(xiàng)目中需要設(shè)置單片機(jī)的測試LED燈是PB12引腳,因此需要打開GPIOB的時(shí)鐘,然后設(shè)置PB12為PIN口,GPIO的輸出速度為50MHz,GPIO的模式為輸出模式,由于LED一端接VCC3.3,另一端接地,因此端口設(shè)置為高電平(置為一),LED就能關(guān)閉。其他引腳的設(shè)置,首先通過結(jié)構(gòu)體GPIO_InitTypeDef設(shè)置,在代碼中是用到PA2和PA3這兩個(gè)引腳,其中PA2是輸出引腳,PA3是輸入引腳,然后調(diào)用庫函數(shù),最后一定不能忘記的當(dāng)然是要對(duì)這個(gè)結(jié)構(gòu)體進(jìn)行初始化,這樣才能正常運(yùn)行。 串口中斷設(shè)置:本項(xiàng)目用到USART通用同步收發(fā)器,是全雙工異步通信,首先要初始化異步串口,配置USART的數(shù)據(jù)傳輸速率為11520。中斷有兩種處理方式,可以提高程序的靈活性,是因?yàn)镹VIC和處理器核的接口是連接在一起的。首先配置EXTI初始化,本次設(shè)計(jì)中NVIC設(shè)置有四個(gè)組,因?yàn)楸驹O(shè)計(jì)只用到了一個(gè)優(yōu)先級(jí),因此沒有準(zhǔn)確的組,由硬件決定優(yōu)先級(jí)。表4.1各GPIO引腳說明表GPIO引腳中斷標(biāo)志位中斷處理函數(shù)PA0~PG0EXTI0EXTI0_IRQHandlerPA1~PG1EXTI1EXTI1_IRQHandlerPA2~PG2EXTI2EXTI2_IRQHandlerPA3~PG3EXTI3EXTI3_IRQHandlerPA4~PG4EXTI4EXTI4_IRQHandlerPA5~PG5EXTI5EXTI9_5_IRQHandlerPA6~PG6EXTI6PA7~PG7EXTI7PA8~PG8EXTI8PA9~PG9EXTI9PA10~PG10EXTI10EXTI15_10_IRQHandlerPA11~PG11EXTI11
PA12~PG12EXTI12
PA13~PG13EXTI13
PA14~PG14EXTI14
PA15~PG15EXTI15
4.6時(shí)鐘 時(shí)鐘配置:在STM32主芯片中,有好幾種時(shí)鐘源,時(shí)鐘目的是為了程序能夠正常工作。本設(shè)計(jì)用到的是HSE時(shí)鐘。系統(tǒng)時(shí)鐘SYSCLK經(jīng)過AHB預(yù)分頻器之后得到的時(shí)鐘叫做APB總線時(shí)鐘,也就是HCLK[9]。寫代碼的時(shí)候需要對(duì)時(shí)鐘參數(shù)進(jìn)行設(shè)置,首先要將RCC寄存器重新設(shè)置為默認(rèn)值,很多寫代碼軟件在建立工程的時(shí)候就會(huì)自帶時(shí)鐘的代碼,如果使用內(nèi)部時(shí)鐘,就不需要修改,因?yàn)槲矣玫降氖峭獠繒r(shí)鐘,加上8MHz的晶振,因此還是需要改變的,這樣就需要開啟它,讓它達(dá)到穩(wěn)定狀態(tài)后,再設(shè)置預(yù)分頻因子和PLL的時(shí)鐘來源,最后判斷系統(tǒng)時(shí)鐘是否能夠正常工作,時(shí)鐘使能設(shè)置,APB1上的USART2和APB2上的GPIOA。4.7實(shí)現(xiàn)鼠標(biāo)控制通過主芯片STM32接收到斑點(diǎn)坐標(biāo),先讓鼠標(biāo)點(diǎn)擊Y軸的最上方的斑點(diǎn)坐標(biāo),直至該敵人死亡,再繼續(xù)往下走,點(diǎn)擊下邊的斑點(diǎn)坐標(biāo),直至不再發(fā)送斑點(diǎn)坐標(biāo),鼠標(biāo)才暫停操作,從而完成射擊敵方的目標(biāo)。實(shí)現(xiàn)坐標(biāo)的取值首先要以主機(jī)屏幕的左上角作為原點(diǎn),水平向右為X軸正方向,豎直向下為Y軸正方向[10]。機(jī)械視覺與虛擬鼠標(biāo)的研究目的主要是改變傳統(tǒng)的PC-Mouse的交互模式[11]。首先獲取鼠標(biāo)的位置,然后將該按鍵值賦為Key,Key的值用于對(duì)鼠標(biāo)事件參數(shù)賦值[12]。本設(shè)計(jì)用到的是USB鼠標(biāo),USB的系統(tǒng)架構(gòu),應(yīng)用程序,實(shí)現(xiàn)所需要的USB通信[13]。USB鼠標(biāo)屬于標(biāo)準(zhǔn)設(shè)備,操作系統(tǒng)自帶驅(qū)動(dòng),只用開發(fā)設(shè)備端的固件。在USB系統(tǒng)中,所有數(shù)據(jù)都是發(fā)送或者接收到Endpoint(端點(diǎn)),因此USB設(shè)備必須有1個(gè)controlendpoint,主機(jī)PC端以數(shù)據(jù)包的方式,通過controlendpoint獲取設(shè)備的相關(guān)信息,數(shù)據(jù)包的格式是固定的,需要在reportdescriptor中定義,這種數(shù)據(jù)包就叫做Descriptor(描述符)。代碼中uint8_tMouse_Buffer[4]={1,0,0,0};指第一個(gè)參數(shù)設(shè)為1表示按下,uint8_tMouse_Buffer2[4]={0,0,0,0};指第一個(gè)參數(shù)設(shè)為0表示釋放,當(dāng)串口接收到一個(gè)斑點(diǎn)坐標(biāo),鼠標(biāo)移動(dòng)到該坐標(biāo)點(diǎn)的位置,按下鼠標(biāo),再釋放鼠標(biāo)。USB設(shè)備接入主機(jī)時(shí),首先會(huì)有個(gè)枚舉過程,主機(jī)請(qǐng)求設(shè)備的descriptor,以獲得設(shè)備的信息,設(shè)備用指定格式的descriptor應(yīng)答主機(jī)請(qǐng)求,請(qǐng)求和應(yīng)答的設(shè)計(jì)都是通過controlendpoint傳輸,當(dāng)枚舉成功后,主機(jī)和設(shè)備才能通訊。圖4.2PC端與USB接口工作圖
第五章系統(tǒng)制作及調(diào)試5.1硬件測試 (1)異常問題:從AD14版本的PCB生成rule文件,導(dǎo)入AD19新工程的PCB規(guī)則,導(dǎo)入時(shí)提示x2.exe停止工作解決方案:在AD14版本導(dǎo)入rule文件生成PCB,然后在AD19中直接打開(2)異常問題:元器件USB_MICRO_B_U-F-M5DD-Y-1出現(xiàn)綠色報(bào)錯(cuò)解決方案:運(yùn)行DRC,根據(jù)提示的錯(cuò)誤信息,分別在MinimumSolderMaskSliver、PAD_PAD和PAD_TRACK這三處規(guī)則里面將設(shè)計(jì)的封裝命名為USB_MICRO_B,修改為所用封裝名字USB_MICRO_B_U-F-M5DD-Y-1。5.2軟件測試 讀取鼠標(biāo)點(diǎn)像素:在項(xiàng)目文件加進(jìn)去一張jpg格式的圖片,創(chuàng)建一個(gè)image窗口,運(yùn)行程序,打開窗口顯示圖片并且用鼠標(biāo)左鍵點(diǎn)擊該圖片,讀取該坐標(biāo)點(diǎn)是坐標(biāo)、像素失敗。然后對(duì)代碼進(jìn)行修改,增加點(diǎn)擊該點(diǎn)圖片上也會(huì)顯示該點(diǎn)的坐標(biāo),然后輸出該點(diǎn)坐標(biāo)和像素。調(diào)試后結(jié)果如圖5.1讀取圖片坐標(biāo)和像素。圖5.1讀取圖片坐標(biāo)和像素 跳轉(zhuǎn)網(wǎng)頁窗口:項(xiàng)目想要完成截取游戲視頻,需要跳轉(zhuǎn)到游戲窗口,因?yàn)楸卷?xiàng)目的游戲?yàn)榫W(wǎng)頁游戲,所以也要跳轉(zhuǎn)到網(wǎng)頁,開始定義游戲的名字,沒辦法跳到MicrosoftEdge,因此修改定義為#defineGAMEWINDOWNAME "MicrosoftEdge",然后可以跳轉(zhuǎn)到該窗口進(jìn)行保存游戲視頻。 截屏:代碼開始設(shè)定是按下CAPS鍵就停止截屏,可是調(diào)試過程中,按下該按鍵沒反應(yīng),后來更換成按下SHIFT鍵停止截屏,屏幕能夠正常截屏,該操作還包含如果到讀取MicrosoftEdge窗口就輸出found,并且輸出該窗口的高為864和寬為1536,調(diào)試結(jié)果如圖5.2窗口讀取信息。圖5.2窗口讀取信息ROI設(shè)置截取區(qū)域:因?yàn)橛螒虻脑颍疫x取的坐標(biāo)是X為900,Y為350,截取圖片的長度為300,截取的高為514,開始由于計(jì)算ROI區(qū)域錯(cuò)誤,然后出現(xiàn)報(bào)錯(cuò),因?yàn)榻厝〉姆秶鲈撚螒虼翱诜秶詫?duì)數(shù)據(jù)進(jìn)行再次計(jì)算,然后創(chuàng)建窗口,看選定的區(qū)域是否把我方血量條除去,敵方血量條是否能夠全部包含,以此減少誤差。宏定義沖突:過程中用到STM的宏定義沖突,導(dǎo)致無法生成項(xiàng)目,后來在該定義加上括號(hào),從而避免報(bào)錯(cuò)。圖5.3宏定義沖突顯示保存游戲視頻:截屏的目的是為了保存一段游戲視頻,對(duì)游戲視頻進(jìn)行調(diào)試,比較方便下面算法的測試,因此項(xiàng)目創(chuàng)建一個(gè)CC的AVI格式的文件,把圖片一幀幀的讀取進(jìn)該文件,生成成功,也看到鼠標(biāo)閃爍,說明已經(jīng)在截取,可是打開視頻文件卻無法打開,開始是因?yàn)殡娔X播放器的問題,沒辦法解碼AVI文件,然后下載一個(gè)通用播放器打開,發(fā)現(xiàn)里面沒有視頻,因此截取視頻后創(chuàng)建小窗口播放該視頻,確定視頻是寫進(jìn)去,后來找到問題發(fā)現(xiàn)是編碼器的問題,修改編碼器后就能截取到想要的區(qū)域視頻。圖5.4截取ROI區(qū)域視頻 上位機(jī)測試:在VisualC++上運(yùn)行串口通訊測試代碼,打開小窗口,看是否輸出各斑點(diǎn)坐標(biāo)值,測試過程中發(fā)現(xiàn)VC++串口連接失敗,無法打開串口。解決方案:①用微軟提供的API時(shí),通過CreateFile()函數(shù)打開串口,當(dāng)串口號(hào)為COM1~COM9時(shí),串口打開正常,當(dāng)COM口為COM10及其以上的串口號(hào),可用“\\\\.\\COM10”的形式進(jìn)行替換。②打開設(shè)備管理器-端口設(shè)置-高級(jí)-選擇COM1~COM9的端口。當(dāng)putty界面出現(xiàn)代碼發(fā)送的指令,表示成功接收數(shù)據(jù)。 固件測試:keil5中打開STM32項(xiàng)目,運(yùn)行MyProject項(xiàng)目文件,看是否能夠點(diǎn)擊到相應(yīng)的坐標(biāo)。 結(jié)果:燒錄成功,開發(fā)板LED燈閃爍。
結(jié)論 本設(shè)計(jì)是針對(duì)一些手速比較慢的游戲玩家設(shè)計(jì)的一款輔助性的外掛,采用STM32F103C8為主控制芯片,結(jié)合OpenCV的圖像處理、VisualC++對(duì)游戲視頻進(jìn)行截取、灰度視頻、斑點(diǎn)掃描算法,串口通訊并在keil5中打開STM32項(xiàng)目,運(yùn)行MyProject項(xiàng)目文件,從而實(shí)現(xiàn)鼠標(biāo)控制。繪制PCB電路板的時(shí)候,對(duì)PCB的元器件布局的知識(shí)不夠豐富,導(dǎo)致實(shí)驗(yàn)過程中需要一直修改布線并且需要重新鋪銅,因此在實(shí)驗(yàn)前應(yīng)該對(duì)電子器件多加了解,進(jìn)行合理的分布和布局規(guī)劃,才能減少這些錯(cuò)誤。 需要改進(jìn)的方面,在獲取敵方血量條的斑點(diǎn)坐標(biāo)設(shè)計(jì)的過程中敵人可能會(huì)同時(shí)出現(xiàn)多個(gè)并且在同一水平線2,因此會(huì)出現(xiàn)多個(gè)斑點(diǎn)坐標(biāo),首先點(diǎn)擊哪一個(gè)坐標(biāo)是比較難解決的地方,經(jīng)過不斷嘗試,鼠標(biāo)能夠更準(zhǔn)確的移動(dòng)到相應(yīng)的坐標(biāo),可是有時(shí)候還是會(huì)出現(xiàn)一些偏差。ROI設(shè)置圖像區(qū)域的過程中,因?yàn)橹恍枰@取敵方的位置從而避免我方的血量條進(jìn)入圖像區(qū)域,也嘗試了很久,開始的時(shí)候因?yàn)榘盐曳窖織l也截取到圖像區(qū)域內(nèi),導(dǎo)致還要每次區(qū)分?jǐn)澄译p方,比較繁瑣,經(jīng)過改進(jìn)后更好的避免了這個(gè)問題,2游戲勝利率提高。在處理信號(hào)方面還是缺乏經(jīng)驗(yàn),導(dǎo)致該系統(tǒng)運(yùn)行時(shí)還是出現(xiàn)一些偏差。本設(shè)計(jì)只能針對(duì)一個(gè)游戲,不能對(duì)射擊類的游戲進(jìn)行大面積的使用,因?yàn)槊總€(gè)游戲都有所區(qū)別,所以不能直接套用,這樣在靈活性方面不是很好,不同的游戲要做出相應(yīng)的改進(jìn),難度系數(shù)比較高。該項(xiàng)目仍然有需要完善的地方,在鼠標(biāo)點(diǎn)擊和移動(dòng)的準(zhǔn)確率和斑點(diǎn)坐標(biāo),在游戲中可以獲取獎(jiǎng)勵(lì)值、我方生命值不會(huì)受影響也是可以深入探索的。 拓展方面:除了鼠標(biāo)控制的射擊游戲,也希望該技術(shù)能應(yīng)用于鍵盤操作的游戲,又或者是鍵盤結(jié)合加上鼠標(biāo)控制的游戲。
參考文獻(xiàn)[1]王力.基于ARM和OpenCV的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].西安電子科技大學(xué).2019.[2]楊榮乾.移動(dòng)射擊輔助器[J].科技與創(chuàng)新.2020(02).[3]王冰雪,劉廣文,劉美,陳廣秋.輪廓波域內(nèi)局部對(duì)比度增強(qiáng)的彩色圖像灰度化算法[J].液晶與顯示.2020(02).[4]梁磊,劉懷,梁秦嘉,董春燕.灰度序列圖像中結(jié)合相互法與梯度特征的陰影去除算法[J].南京師范大學(xué)學(xué)報(bào)(工程技術(shù)版).2019(02).[5]謝丹桂等著.基于邊緣檢測的快速斑點(diǎn)識(shí)別算法[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版).2010(06).[6]龔再蘭.基于PC與單片機(jī)串口通訊控制的點(diǎn)陣系統(tǒng)設(shè)計(jì).電子世界.2020(03).[7]董國鋼.計(jì)算機(jī)單片機(jī)通信系統(tǒng)軟硬件結(jié)構(gòu)設(shè)計(jì)[J].遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院.遼寧經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào).2020(01).[8]荊宜青.QCM檢測儀系統(tǒng)軟件的優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)(碩士)[J].鄭州大學(xué).2010[9]張劍.OTP存儲(chǔ)器應(yīng)用開發(fā)技術(shù)研究[J].電子科技大學(xué).2015[10]權(quán)德奎.基于STM32實(shí)現(xiàn)的紅外遙控控制USB鼠標(biāo)[J].山東工業(yè)技術(shù).2015(11).[11]華尉然,康藝旋,童強(qiáng),張行文.基于OpenCV的虛擬鼠標(biāo)應(yīng)用研究[J].福建電腦.2018(12).[12]吳博,王彬,翁政魁,熊新,劉輝.基于OpenCV的鼻尖特征點(diǎn)鼠標(biāo)實(shí)時(shí)控制系統(tǒng)實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件.2018(02).[13]黃海,呂玉嫦,雷衛(wèi)延.基于STM32的USB接口協(xié)議技術(shù)的研究與實(shí)現(xiàn)[J].氣象水文海洋儀器.2019(03).
致謝時(shí)間總是在不經(jīng)意間就過去了,這么快就到了畢業(yè)季,也是要告別的時(shí)候,我想要感激的人非常多,其中包括我的老師、朋友和同學(xué)們,我的大學(xué)生活能夠變得如此多姿多彩,充滿歡聲笑語,都是因?yàn)橛兴麄兊拇嬖?,?jīng)常下課都約上舍友一起去飯?zhí)贸燥?,身體不舒服的時(shí)候,他們也會(huì)非常體諒我,還會(huì)幫我打包我想吃的飯菜,陪著我瘋,陪著我成長,是我的好舍友,好同學(xué),因?yàn)橛兴麄兊男湃?,我才能肩?fù)自己的責(zé)任,為他們付出真心很值得。首先,我要感謝張老師,在本次畢設(shè)完成過程中,張老師每次都能細(xì)心的提醒我,每次都非常認(rèn)真負(fù)責(zé)的解答我的疑惑,我需要完成什么任務(wù),張老師都會(huì)多次提醒我,會(huì)問我找什么工作,工作環(huán)境怎樣,跟專業(yè)的相關(guān)事情,讓我感到非常的溫暖,畢設(shè)在確定題目的時(shí)候,來說也會(huì)耐心幫我分析,選題需要注意的地方,我選好課題后,老師還和我一起分析,怎么讓我的畢設(shè)更多樣化,不能太過于單一,因此選擇軟件和硬件相結(jié)合的畢設(shè)題目,我能感受到老師的良苦用心。張老師讓我學(xué)會(huì)要注重每一個(gè)細(xì)節(jié),幫我分析問題,然后找到解決問題的方法并在相應(yīng)的問題上給出建議,讓我的畢設(shè)能夠更完美,我的畢業(yè)作業(yè)能夠順利完成是張老師不懈的支持和教導(dǎo),因?yàn)槲乙谕瓿蓪?shí)習(xí)的同時(shí)完成本次畢設(shè),所以從中也會(huì)出現(xiàn)很多低級(jí)性的錯(cuò)誤,但是張老師都會(huì)很負(fù)責(zé)任的幫我找出畢業(yè)設(shè)計(jì)項(xiàng)目中這些細(xì)微的錯(cuò)誤,細(xì)心批改,對(duì)錯(cuò)誤進(jìn)行批注,讓我能更直觀看出問題所在,讓我的論文才能如此順利且完美的完成。當(dāng)然,我還要感謝我的父母,我的家人們,他們每次都能在我最需要的時(shí)候出現(xiàn),是我人生的避風(fēng)港,他們非常的支持我和理解我,讓我不用擔(dān)心吃不好,睡不好的問題,讓我可以向著自己的夢想而努力,并且對(duì)我做出的任何決定都很支持和信任,也正是他們的理解和支持,才讓我成為一個(gè)自信、樂觀開朗的人,我也將通過自己的努力,讓他們也能過上幸福美滿的生活。最后,感謝大學(xué)中教過我的所有老師,還要感謝我的同學(xué)、舍友、部員們,感謝在大學(xué)里遇到的每一個(gè)人,讓我學(xué)習(xí)到很多知識(shí),積累人生閱歷,同時(shí)也培養(yǎng)了我良好的社交能力,讓我學(xué)會(huì)更好的與人溝通交流,讓我更有自信并且積極勇敢的面對(duì)一切風(fēng)雨。感謝有你們的陪伴,大學(xué)生活只是人生的開始,我將帶著你們的期望,勇敢地走下去。
HYPERLINK電腦文件整理懶招從來都是不會(huì)經(jīng)常整理文件的,不過時(shí)間一長,眾多的文檔分布在硬盤的各個(gè)角落,用目錄進(jìn)行整理保存,工作量大、查看起來也不方便且還會(huì)浪費(fèi)不少的磁盤空聞;用壓縮工具打包,盡管可以節(jié)約空間但是卻無法直接編輯修改或查看壓縮包中的文件。這些招,懶人怎么會(huì)用,他們自有妙招!再多再亂的文件也能整理得井井有條,關(guān)鍵是不費(fèi)力哦!
懶招1,自動(dòng)提取亂中取勝
小張起初將照片、Office文檔、電影、音樂等文件一股腦地存放在某一個(gè)磁盤分區(qū),剛開始文件少使用起來倒也方便,但隨著時(shí)間的推移,文件數(shù)量劇增,每次找所需的文件都要瞪大眼睛,不過有了MY文檔管理器(下載地址:)就不用擔(dān)心了。
第一步,下載MY文檔管理器,解壓到任意目錄,直接雙擊其中的可執(zhí)行性文件即可使用。依次單擊“節(jié)點(diǎn)操作→添加節(jié)點(diǎn)”,分別添加多個(gè)節(jié)點(diǎn),如“辦公文檔”、“電影”等分類,這樣做的目的是方便歸類。
第二步,在小張的F盤中的TEST目錄下有眾多的RM、MP3、JPG、DOC、TXT格式的文件,現(xiàn)在他要把JPG格式的文件提取到“照片”類別中。依次單擊“系統(tǒng)配置→文件過濾”選項(xiàng),打開Dialog對(duì)話框,輸入“*.doc”,單擊“添加”按鈕,意思是過濾掉所有類型為“.DOC”的文件。然后按照同樣的方法,將“*.txt”、“*.rm”、“*.MP3”一一添加進(jìn)來。
第三步,雙擊左側(cè)窗格中的“照片”節(jié)點(diǎn),然后依次單擊“記錄操作→導(dǎo)入記錄樹”命令,在打開的對(duì)話框中單擊瀏覽按鈕,打開“F:\test”目錄,單擊“確定”按鈕之后就可以將格式為JPG的文件提取出來并添加到“照片”節(jié)點(diǎn)中了。
懶招2,不同的電腦統(tǒng)一的管理
小張是電愛的Fans,工作之余常常為雜志寫稿,他寫完的和正在處理的稿件一般都存在一個(gè)稿件文件夾里。不過時(shí)間一長,家里的電腦(PC1)和單位的電腦(PC2)上都有這個(gè)文件夾。時(shí)常需要通過移動(dòng)硬盤(U盤)在兩臺(tái)電腦之間傳遞,使用和管理都很不方便。不過他現(xiàn)在用優(yōu)盤就可以統(tǒng)一管理了。
第一步,將上文提到的那個(gè)MY文檔管理器解壓后直接拷貝到優(yōu)盤上。把優(yōu)盤插到PC1上,并運(yùn)行軟件,依次單擊“記錄操作→導(dǎo)入記錄樹”命令,在隨后彈出的對(duì)話框中設(shè)置好“稿件”文件夾的根目錄,將“導(dǎo)入深度”設(shè)置為“5”,單擊“確定”后,稍等片刻,軟件就把PC1上的“稿件”導(dǎo)入到MY文檔管理器中。
小提示:通過這種方式導(dǎo)入到程序中的僅僅是文件的路徑、文件名等屬性信息,并不是文件本身。
第二步,把優(yōu)盤插到PC2上,按照同樣的方法導(dǎo)入PC2上的“稿件”文件。以后要編輯“稿件”里的文件,你自己根本不用記住哪臺(tái)電腦的哪個(gè)路徑,只要把優(yōu)盤插入到電腦,運(yùn)行MY文檔管理器,就可以直接編輯了。
第三步,為方便在異地使用,小張決定為當(dāng)前正在處理的稿件增加一個(gè)副本。在需要異地處理的稿件上右鍵單擊,選擇“復(fù)制文件到(自動(dòng)添加副本)”命令,在彈出的對(duì)話框中將保存目錄設(shè)置為優(yōu)盤上的某個(gè)目錄即可。這樣,就可以在優(yōu)盤上編輯PC1或PC2的稿件了。
小提示:對(duì)于PC1、PC2上的同名文件,MY文檔管理器以不同的磁盤號(hào)+文件路徑來標(biāo)識(shí)文件記錄,因此,對(duì)于不同電腦上的同名文件,甚至是路徑和文件名完全相同的文件,程序也可以準(zhǔn)確識(shí)別哪個(gè)是哪個(gè)。
懶招3多種文件批量移動(dòng)
要將文件管理得井然有序,就免不了要進(jìn)行復(fù)制、刪除、移動(dòng)等等操作,如果一個(gè)個(gè)進(jìn)行操作,工作量是非常巨大的。這時(shí)我們就需要借助于BelvedereAutomated(下載地址:.com/assets/resources/2008/03/Belvedere%200.3.exe)進(jìn)行批量操作了。例如我們想把“F:\test”目錄中的所有照片移動(dòng)到F盤中的“北京游照片”目錄中,可以按以下方法進(jìn)行。
第一步,建立“F:\test”目錄后在“rule”一欄中,單擊“+”按鈕,建立一個(gè)規(guī)則。在“Descriptior”文本框中為當(dāng)前規(guī)則起一個(gè)名字如“批量整理移動(dòng)”。單擊第一個(gè)下拉列表,在這里可以選擇Name(文件名)、Extension(擴(kuò)展名)、Size(大小)等進(jìn)行操作,這里選擇擴(kuò)展名“Extension”。單擊第二個(gè)下拉列表,在這里設(shè)置的是操作條件,有is(是)、isnot(不是)、contains(包含)等操作可供選擇,這里選擇的是“is”。接下來,在最后的文本框中輸入圖片文件的擴(kuò)展名,示例中是“JPG”。定義的規(guī)則合起來的意思就是“擴(kuò)展名是JPG”。
第二步,在“Dothefollowing”區(qū)域設(shè)置操作動(dòng)作,單擊第一個(gè)下拉列表進(jìn)行操作動(dòng)作的選擇,有“Movefile(移動(dòng))、Renamefile(重命名)、Deletefile(刪除)”等動(dòng)作可供選擇,我們要批量移動(dòng),那就選擇重命名“Movefile(移動(dòng)文件)”。接下來,單擊后面的按鈕選擇“F:\北京游照片”目錄。
第三步,規(guī)則設(shè)置完畢,單擊“Test”按鈕應(yīng)用規(guī)則,程序即可一次性地將所有擴(kuò)展名為“JPG”的圖片文件移動(dòng)到“F:\北京游照片”目錄中了。
懶招4提綱挈領(lǐng)一點(diǎn)即得
在前面幾大懶招的幫助下,你電腦里的文件應(yīng)該已經(jīng)有點(diǎn)類別了吧。如果從此想告別懶人的生活,那就要養(yǎng)成管理文件的好習(xí)慣了。
第一步,在你保存資料的電腦分區(qū)中,要接類別建立多個(gè)文件夾,可以按用途分為:學(xué)習(xí)、娛樂、暫存、工作、下載,在娛樂下又可以建立二級(jí)目錄:電影、歌曲、動(dòng)畫等。也可以按照常見的文件性質(zhì)進(jìn)行分類,例如分為:圖片、電影、電子書、安裝文件等,當(dāng)然也可以按照你的需要再建立二級(jí)目錄,以后每有文件需要保存就按這個(gè)類別保存到相應(yīng)的目錄。
第二步,雖然現(xiàn)在已經(jīng)把文件分門別類存放了,但時(shí)間長了,目錄太深,一層一層查找也很麻煩的,在EXCEL里建一個(gè)目錄就可以統(tǒng)一管理了。運(yùn)行EXCEL后,新建一個(gè)表格,然后按照我們的分類方式隔行輸入:圖片、電影、電子書,在圖片分類下再建立二級(jí)目錄名,例如明星、汽車、壁紙等。
第三步,右鍵單擊“圖片文字”,選擇“超鏈接”,在彈出的對(duì)話框中選擇電腦里圖片目錄文件夾,單擊“確定”后EXCEL里的“圖片”文字就變成彩色。用同樣的方法為一級(jí)目錄的“電影、電子書”和二級(jí)目錄的“明星、汽車、壁紙”等添加超鏈接。然后將這個(gè)EXCEL文件命名為文件目錄,保存到桌面上,以后打開這個(gè)文檔,直接單擊相應(yīng)的文字,比如單擊“壁紙”,就可以切換到壁紙文件夾了。
小提示:如果要更改某個(gè)超鏈接,直接右鍵單擊該文字,選擇“編輯超鏈接”就可以了。本人的電腦分類原則簡述如下。
硬盤的第一層(請(qǐng)?jiān)谧约旱募A中右鍵“按組排列”查看)
第一位字母表示A生活?yuàn)蕵稡教學(xué)C工作D安裝程序
第二位字母表示只是流水號(hào)
AA影視
AB音樂
AC閱讀
AD圖片
AE相冊(cè)
生活?yuàn)蕵?/p>
BA計(jì)算機(jī)
BB英語
BC運(yùn)動(dòng)
BD游戲攻略
BE衣食住行
BF文藝
教學(xué)
CA管理制度
CB流程圖
CC程序文件
工作
DA娛樂
DB其它
安裝程序
硬盤的第二層(進(jìn)入“AA影視”的文件夾舉例)
第一位字母表示只是流水號(hào)
第二位字母表示只是流水號(hào)
AA電影
BA電視劇
CAMTV
硬盤的第三級(jí)(進(jìn)入“AA電影”的文件夾舉例)
第一位字母表示A動(dòng)作片B劇情片C動(dòng)畫片
第二位字母表示A未看過B已看過
AA導(dǎo)火線
AB尖峰時(shí)刻
動(dòng)作片
BA獨(dú)自等待
劇情片
CB機(jī)器貓
CB獅子王
動(dòng)畫片
利用“字母排序”和“按組排列查看”可以使文件查看和存放簡潔明了,結(jié)合自己資料的特點(diǎn)和實(shí)際需求,給自己定一個(gè)分類原則并嚴(yán)格執(zhí)行。個(gè)人電腦資料的資源會(huì)得到高效而充分的利用。電腦文件管理八條小技巧
在電腦的內(nèi)部,在電腦的桌面上,在“資源管理器”中,充斥著無序與混亂,這種虛擬的混亂極大地影響了電腦的性能和我們辦公的效率,當(dāng)大家面臨這個(gè)問題時(shí),通常認(rèn)為硬盤空間又不夠了,電腦性能又不跟不上了,需要再換一臺(tái)新的電腦了。事實(shí)上,我們真正需要的是坐下來,好好花時(shí)間將電腦里的文件真正管理起來,會(huì)為自己日后省下更多的時(shí)間。
文件管理的真諦在于方便保存和迅速提取,所有的文件將通過文件夾分類被很好地組織起來,放在你最能方便找到的地方。解決這個(gè)問題目前最理想的方法就是分類管理,從硬盤分區(qū)開始到每一個(gè)文件夾的建立,我們都要按照自己的工作和生活需要,分為大大小小、多個(gè)層級(jí)的文件夾,建立合理的文件保存架構(gòu)。此外所有的文件、文件夾,都要規(guī)范化地命名,并放入最合適的文件夾中。這樣,當(dāng)我們需要什么文件時(shí),就知道到哪里去尋找。
這種方法,對(duì)于相當(dāng)數(shù)量的人來說,并不是一件輕松的事,因?yàn)樗麄兞?xí)慣了隨手存放文件和辛苦、茫無頭緒地查找文件。
下面,我們將幫你制訂一套分類管理的原則,并敦促您養(yǎng)成好的文件管理習(xí)慣。以下是我們總結(jié)出的一些基本技巧,這些技巧并不是教條,可能并不適合你,但無論如何你必須要有自己的規(guī)則,并堅(jiān)持下來,形成習(xí)慣。
一、發(fā)揮我的文檔的作用
有很多理由讓我們好好地利用“我的文檔”,它能方便地在桌面上、開始菜單、資源管理器、保存/打開窗口中找到,有利于我們方便而快捷地打開、保存文件。我們可以利用“我的文檔”中已有的目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療骨科器械操作試題及答案
- 電工儀表與測量試題及答案
- 感染肝病科護(hù)理三基試題及答案
- 藥師執(zhí)業(yè)資格考試《藥學(xué)知識(shí)與藥物治療》備考試題及答案解析
- 學(xué)院2022年公開招聘應(yīng)屆畢業(yè)生筆試參考題庫含答案解析
- 2022年湖北開放職業(yè)學(xué)院工作人員招聘考試試題及答案
- 2025-2030中國產(chǎn)后保健品市場營銷策略探討與產(chǎn)品銷售渠道規(guī)劃研究報(bào)告
- 2025-2030中國保健養(yǎng)生醋飲市場運(yùn)營規(guī)劃與投資策略深度研究研究報(bào)告
- 文化發(fā)展公司管理制度
- 2025-2030證券期貨業(yè)政策監(jiān)管體系建設(shè)風(fēng)險(xiǎn)評(píng)估行業(yè)報(bào)告數(shù)據(jù)論證
- 壓力性尿失禁教學(xué)課件
- 雨課堂在線學(xué)堂《大數(shù)據(jù)技術(shù)與應(yīng)用》作業(yè)單元考核答案
- 光伏電纜專業(yè)知識(shí)培訓(xùn)課件
- 養(yǎng)牛場消防知識(shí)培訓(xùn)
- 小兒體液不足的護(hù)理措施
- 管控人力成本課件
- 插胃管課件教學(xué)課件
- 車輛維修采購項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 湖南省多測合一收費(fèi)指導(dǎo)標(biāo)準(zhǔn)(試行)2024年版
- 連鎖經(jīng)營與管理專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育??疲?025修訂
- (高清版)DB62∕T 3271-2024 生態(tài)型尾礦庫修建技術(shù)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論