1.介紹Introduction
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到東方網(wǎng)站設(shè)計(jì)與東方網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋東方地區(qū)。
從OpenCV2.4開(kāi)始,加入了新的類FaceRecognizer,我們可以使用它便捷地進(jìn)行人臉識(shí)別實(shí)驗(yàn)。本文既介紹代碼使用,又介紹算法原理。(他寫(xiě)的源代碼,我們可以在OpenCV的opencv\modules\contrib\doc\facerec\src下找到,當(dāng)然也可以在他的github中找到,如果你想研究源碼,自然可以去看看,不復(fù)雜)
目前支持的算法有
Eigenfaces特征臉createEigenFaceRecognizer()
Fisherfaces createFisherFaceRecognizer()
LocalBinary Patterns Histograms局部二值直方圖 createLBPHFaceRecognizer()
下面所有的例子中的代碼在OpenCV安裝目錄下的samples/cpp下面都能找到,所有的代碼商用或者學(xué)習(xí)都是免費(fèi)的。
1.2.人臉識(shí)別Face
Recognition
對(duì)人類來(lái)說(shuō),人臉識(shí)別很容易。文獻(xiàn)[Tu06]告訴我們,僅僅是才三天的嬰兒已經(jīng)可以區(qū)分周圍熟悉的人臉了。那么對(duì)于計(jì)算機(jī)來(lái)說(shuō),到底有多難?其實(shí),迄今為止,我們對(duì)于人類自己為何可以區(qū)分不同的人所知甚少。是人臉內(nèi)部特征(眼睛、鼻子、嘴巴)還是外部特征(頭型、發(fā)際線)對(duì)于人類識(shí)別更有效?我們?cè)趺捶治鲆粡垐D像,大腦是如何對(duì)它編碼的?David Hubel和TorstenWiesel向我們展示,我們的大腦針對(duì)不同的場(chǎng)景,如線、邊、角或者運(yùn)動(dòng)這些局部特征有專門的神經(jīng)細(xì)胞作出反應(yīng)。顯然我們沒(méi)有把世界看成零散的塊塊,我們的視覺(jué)皮層必須以某種方式把不同的信息來(lái)源轉(zhuǎn)化成有用的模式。自動(dòng)人臉識(shí)別就是如何從一幅圖像中提取有意義的特征,把它們放入一種有用的表示方式,然后對(duì)他們進(jìn)行一些分類?;趲缀翁卣鞯娜四樀娜四樧R(shí)別可能是最直觀的方法來(lái)識(shí)別人臉。第一個(gè)自動(dòng)人臉識(shí)別系統(tǒng)在[Kanade73]中又描述:標(biāo)記點(diǎn)(眼睛、耳朵、鼻子等的位置)用來(lái)構(gòu)造一個(gè)特征向量(點(diǎn)與點(diǎn)之間的距離、角度等)。通過(guò)計(jì)算測(cè)試和訓(xùn)練圖像的特征向量的歐氏距離來(lái)進(jìn)行識(shí)別。這樣的方法對(duì)于光照變化很穩(wěn)健,但也有巨大的缺點(diǎn):標(biāo)記點(diǎn)的確定是很復(fù)雜的,即使是使用最先進(jìn)的算法。一些幾何特征人臉識(shí)別近期工作在文獻(xiàn)[Bru92]中有描述。一個(gè)22維的特征向量被用在一個(gè)大數(shù)據(jù)庫(kù)上,單靠幾何特征不能提供足夠的信息用于人臉識(shí)別。
華為識(shí)別圖片中的文字的方法如下:
工具/原料:華為V30 PRO、Android 4.0.0.180、本地設(shè)置1.0。
1、首先打開(kāi)手機(jī),選擇圖庫(kù)應(yīng)用。
2、然后打開(kāi)需要識(shí)別文字的圖片,如下圖所示。
3、用兩個(gè)手指按住圖片不放。下方提取文字框中,就會(huì)出現(xiàn)識(shí)別的文字。
4、選擇提取文字框下方的全選按鈕,選中識(shí)別的文字。
5、點(diǎn)擊復(fù)制文字選項(xiàng),復(fù)制選中的文字。
6、任意打開(kāi)一個(gè)文字編輯工具,只需能輸入文字即可。
7、文本編輯區(qū),按下手指,出現(xiàn)粘貼選項(xiàng)后點(diǎn)擊。
8、可以看到,文字已成功識(shí)別。
在手機(jī)的設(shè)置界面,有一個(gè)叫輔助功能的設(shè)置,點(diǎn)擊進(jìn)去可以看到已安裝的輔助服務(wù),點(diǎn)擊具體的服務(wù)進(jìn)去可以看到該服務(wù)的一些描述,可以在此開(kāi)啟該服務(wù),這也是唯一一個(gè)能開(kāi)啟服務(wù)的地方。
開(kāi)啟輔助功能相當(dāng)于開(kāi)啟了一個(gè)服務(wù),在手機(jī)界面改變的時(shí)候,就能監(jiān)聽(tīng)到該頁(yè)面的一些信息并且能拿到界面的一些控件,然后可以對(duì)控件進(jìn)行模擬點(diǎn)擊,從而實(shí)現(xiàn)我們想要的功能。
除此以外,不僅能夠?qū)Λ@取到的控件進(jìn)行模擬點(diǎn)擊,在Android7.0及以上的版本,我們可以模擬任意位置的點(diǎn)擊包括觸摸、滑動(dòng)等等,就是說(shuō)我們可以實(shí)現(xiàn)任何 人能夠進(jìn)行的操作 ,這個(gè)是很有用的,可以做出很多有意思的東西,如果再配上截圖、錄屏和圖像識(shí)別,就更有意思了。
模擬點(diǎn)擊,就是說(shuō)我們的手機(jī)界面自己動(dòng),整個(gè)流程像是一只手在幫你操作一樣的;
新建一個(gè) Service 繼承 AccessibilityService
然后去 AndroidManifest 文件里面去注冊(cè)一下這個(gè)Service
在 meta-data 節(jié)點(diǎn)下有個(gè) resource 值,這是個(gè)xml文件,里面配置了該輔助的一些信息,在res目錄下新建一個(gè)文件夾,名字叫xml,然后新建一個(gè)xml文件,名字和 resource 配置的一樣就行了
里面配置了一些參數(shù),比如 notificationTimeout 是指定多少毫秒監(jiān)聽(tīng)一次界面變化的, packageNames 是指定監(jiān)聽(tīng)哪個(gè)應(yīng)用的,刪掉這個(gè)配置就是監(jiān)聽(tīng)全局, description 是對(duì)于該輔助的描述,其他配置不管也罷。
然后在LuckMoneyService里面重寫(xiě)一下onAccessibilityEvent方法
每當(dāng)界面改變的時(shí)候就會(huì)回調(diào)這個(gè)方法,通過(guò) event 我們就可以獲取到界面的信息包括界面上的控件
上面的操作都比較基礎(chǔ),根據(jù)控件顯示的文字查找控件,找出來(lái)的肯定是TextView和Button了,根據(jù)ID查找控件,ID就是指的寫(xiě)布局文件的時(shí)候設(shè)置的控件的ID
模擬觸摸就是可以模擬人的觸摸動(dòng)作,也比較簡(jiǎn)單
可以看到需要傳入 path 就是一個(gè)路徑嘛,模擬滑動(dòng)的路徑,用canvas畫(huà)過(guò)畫(huà)的都知道這東西還是比較簡(jiǎn)單的, startTime 就是多久后開(kāi)始模擬事件, duration 就是該滑動(dòng)的時(shí)間,其他回調(diào)什么的為空就可以了;
如何獲取控件的ID呢,而我又是如何知道界面上有哪些控件呢,可以通過(guò)一個(gè)工具來(lái)實(shí)現(xiàn),就是在sdk工具下面的一個(gè)叫 monitor 的工具,其實(shí)之前的AndroidStudio是帶這個(gè)工具的,但是后來(lái)界面上是沒(méi)有了,但是其實(shí)還在的
連上手機(jī),打開(kāi)這個(gè)工具,手機(jī)上打開(kāi)你要查看的界面,點(diǎn)擊工具手機(jī)的小手機(jī)的圖標(biāo),就會(huì)截屏,顯示出這個(gè)界面的信息
輔助功能能做的東西大概就上面這些了,能做出什么功能就靠自己的想象了
推薦閱讀: Android微信搶紅包輔助
工具/原料
安卓手機(jī)
人臉識(shí)別解鎖
方法/步驟
1
進(jìn)入手機(jī)設(shè)置,方式有點(diǎn)擊手機(jī)功能鍵,也可以在手機(jī)找到一個(gè)如圖的設(shè)置圖標(biāo)。點(diǎn)擊進(jìn)入手機(jī)設(shè)置。
在設(shè)置里有很多選項(xiàng), 可能新手會(huì)看暈,你只需要查找到與安全字眼有關(guān)的,點(diǎn)擊進(jìn)入看看,若不是再返回再找找。
進(jìn)入手機(jī)安全選項(xiàng)設(shè)置,選擇屏幕安全保護(hù)或有一些手機(jī)叫“鎖定屏幕”。
選擇屏幕保護(hù)的密碼類型,可以是圖案九宮格,也可以是數(shù)字、人臉組合。
點(diǎn)擊人臉解鎖進(jìn)入人臉識(shí)別解鎖屏幕功能設(shè)置界面。進(jìn)入這個(gè)界面下面的操作所有的手機(jī)基本都一樣了。
在上一步中了解一下人臉識(shí)別解鎖屏幕功能需要注意的地方。光線,平視。
當(dāng)圍繞臉部一圈的小圓點(diǎn)都點(diǎn)亮了,就捕獲面部圖像成功。
為了人臉解鎖失敗進(jìn)不了手機(jī),還可以選擇備份解鎖??沈S圖案九宮格,可以數(shù)字密碼。
輸入數(shù)字密碼。點(diǎn)擊下一步。
再次輸入,點(diǎn)擊繼續(xù)。
大功造成了?,F(xiàn)在可以將你的手機(jī)關(guān)屏,然后再開(kāi)屏,則會(huì)激活你的前置攝像頭,對(duì)正你的頭可以進(jìn)行人臉識(shí)別解鎖屏幕了。
用AndroidSDK中的Face Detector實(shí)現(xiàn)人臉識(shí)別
流程是這樣的:
1. 讀取一張圖片至Bitmap (從Resource中,或是從手機(jī)相冊(cè)中選?。?/p>
2. 使用FaceDetector API分析Bitmap,將探測(cè)到的人臉數(shù)據(jù)以FaceDetector.Face存儲(chǔ)在一個(gè)Face list中;
3.將人臉框顯示在圖片上。
假設(shè)已經(jīng)把驗(yàn)證碼圖片保存到本地了
我說(shuō)一下驗(yàn)證碼識(shí)別的大致步驟吧
1,讀取圖片到bitmap
2,進(jìn)行灰度操作
3,進(jìn)行才二值操作
4,如果有干擾點(diǎn) 一般用濾波器或八鄰域去干擾點(diǎn)
5,如果有干擾線 如果是簡(jiǎn)單的直線可以用掃描法,八后法等,復(fù)雜的應(yīng)該根據(jù)特點(diǎn)調(diào)整算法
6,如果有干擾色塊 也應(yīng)該想法去除
7,如果有較大的傾斜 需要進(jìn)行適當(dāng)校正
8,此時(shí)得到的應(yīng)該是比較干凈的字符了,如果是非粘連的可以直接用投影法分割成單個(gè)字符
如果有粘連,需要根據(jù)圖形特點(diǎn)從算法上做相應(yīng)的處理,保證大致分割正確
9,分割成單個(gè)字符以后,如果字符比較正常 變形扭曲程序不大,可以直接用模式識(shí)別
如果變形扭曲較厲害,一般建議使用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練后再識(shí)別
如果是比較簡(jiǎn)單的驗(yàn)證碼可以使用網(wǎng)上的一些組件,我常用的一個(gè)是OcrKingApi
不是太復(fù)雜的識(shí)別效果還可以,關(guān)鍵是免費(fèi)的。使用文檔可以看一下文庫(kù)的鏈接
網(wǎng)站題目:android圖像識(shí)別,android圖像識(shí)別蔬菜
轉(zhuǎn)載來(lái)源:http://jinyejixie.com/article36/dssojsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作、網(wǎng)站排名、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)