用Python+OpenCV+PIL構(gòu)建貓臉識別器
選擇圖像后,讓我們重命名它們。確保圖像文件位于你正在處理的同一文件夾中。在保存它們之后,現(xiàn)在我們將對圖像做一些修飾。圖像處理在這一步中,我們將對圖像做一些小的修飾,以便更好地進(jìn)行處理,我也發(fā)表了一篇關(guān)于常用圖像處理技術(shù)的文章。做這些修整確實(shí)有助于我們的機(jī)器處理,并提供更好的結(jié)果。我們先調(diào)整圖片的大小,接下來,我們將它們轉(zhuǎn)換成灰度,我們的模型處理灰度圖像的速度更快。Python中的圖像處理常用圖像處理技術(shù)的分步指南網(wǎng)址:https://towardsdatascience.com/image-manipulation-in-python-cbb86a61cf0為了使用這些圖像編輯技術(shù),我們將使用我們在文章開頭導(dǎo)入的圖像模塊。調(diào)整大小newsize = (600, 600) #First image retouchesimgr1 = Image.open("test1.jpg") imgr1 = imgr.resize(newsize) imgr1.save("resized1.jpg")#Second image retouchesimgr2 = Image.open("test2.jpg") imgr2 = imgr.resize(newsize) imgr2.save("resized2.jpg")灰度imgr1 = imgr1.convert('L') imgr1.save('ready1.jpg') imgr2 = imgr2.convert('L') imgr2.save("ready2.jpg")導(dǎo)入編輯的圖像最后,我們將編輯好的圖像導(dǎo)入到我們的程序中,這樣我們就可以運(yùn)行貓臉和人臉檢測模型了。我們正在使用Opencv庫導(dǎo)入圖像。# Read the input image img1 = cv2.imread('ready1.jpg')
img2 = cv2.imread('ready2.jpg')人臉檢測級聯(lián)是時(shí)候檢測人臉了,我們將運(yùn)行兩行代碼。首先在圖像中檢測人臉,第二步是在圖像中檢測貓的臉。如前所述,我們正在請求opencv分類器。human_faces = humanface_cascade.detectMultiScale(img1, scaleFactor=1.3, minNeighbors=5, minSize=(75, 75)) cat_faces = catface_cascade.detectMultiScale(img2, scaleFactor=1.3, minNeighbors=5, minSize=(75, 75))繪制矩形在這一步中,我們將圍繞檢測到的面部進(jìn)行繪制矩形。這些矩形可以有不同的顏色,其線框的厚度也可以調(diào)整。for (i, (x, y, w, h)) in enumerate(human_faces): cv2.rectangle(img1, (x, y), (x+w, y+h), (220, 90, 230), 3) cv2.putText(img1, "Human Face - #{}".format(i + 1), (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.55, (220, 90, 230), 2)for (i, (x, y, w, h)) in enumerate(cat_faces): cv2.rectangle(img2, (x, y), (x+w, y+h), (0,255, 0), 3) cv2.putText(img2, "Cat Faces - #{}".format(i + 1), (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.55, (0, 0, 255), 2)(220,90,230)和(0255,0)是我們要繪制的矩形顏色,你可以和它們一起玩,看看顏色是怎么變化的。(3) 是線條的粗細(xì),你可以更改該值并查看其外觀。保存結(jié)果最后,我們將保存檢測到的人臉圖像。要查看工作的最終結(jié)果,最好的方法是保存并檢查,確保正確傳遞變量名。在運(yùn)行這最后一段代碼之前,如果一切正常的話,我建議你繼續(xù)檢查整個(gè)代碼。#Saving the images using imwrite methodcv2.imwrite("faces_detected1.png", img1)cv2.imwrite("faces_detected2.png", img2)結(jié)果這是我的工作成果。第一種是人臉檢測,第二種是貓臉檢測結(jié)果。如你所見,我們的機(jī)器知道哪一個(gè)是人類,哪一個(gè)是貓臉。我還測試了這個(gè)程序,將兩個(gè)圖像合并在一個(gè)圖像中,我收到的結(jié)果可以在下面找到。faces_detected1.png
faces_detected2.png
其他與其逐個(gè)測試每個(gè)圖像,不如讓我們看看將兩個(gè)圖像合并為一個(gè)并運(yùn)行代碼時(shí)會發(fā)生什么。我們可以看到,我們的機(jī)器現(xiàn)在能夠理解和區(qū)分貓和人的臉。result
恭喜! !你已經(jīng)創(chuàng)建了一個(gè)程序,可以在圖像中檢測貓和人的臉,F(xiàn)在,你已經(jīng)知道如何教機(jī)器同時(shí)為你做兩件事了。希望你喜歡這篇教程,并在今天學(xué)到一些新東西。計(jì)算機(jī)視覺是一個(gè)偉大的領(lǐng)域,你可以做的事情是無限的。你可以在不同的圖像上測試代碼,看看它是如何工作的。它可能不是對所有的圖像都有效,因?yàn)轭A(yù)測依賴于訓(xùn)練過的數(shù)據(jù)。

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動更多
-
即日-9.1立即下載>> 【限時(shí)下載】ADI中國三十周年感恩回饋助力企業(yè)升級!
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會深圳站
-
10月24日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會
-
12月18日立即報(bào)名>> 【線下會議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場景發(fā)布會暨北京xPN伙伴大會成功舉辦
- 3 宇樹機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 5 特朗普要求英特爾首位華人 CEO 辭職
- 6 踢館大廠和微軟,剖析WPS靈犀的AI實(shí)用主義
- 7 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長曲線
- 8 谷歌吹響AI沖鋒號,AI還有哪些機(jī)會
- 9 蘋果把身家押在Siri上:一場輸不起的自我革命
- 10 騰訊米哈游押寶的中國AI應(yīng)用,正在海外悶聲發(fā)財(cái)