用Python+OpenCV+PIL構(gòu)建貓臉識(shí)別器
選擇圖像后,讓我們重命名它們。確保圖像文件位于你正在處理的同一文件夾中。在保存它們之后,現(xiàn)在我們將對(duì)圖像做一些修飾。圖像處理在這一步中,我們將對(duì)圖像做一些小的修飾,以便更好地進(jìn)行處理,我也發(fā)表了一篇關(guān)于常用圖像處理技術(shù)的文章。做這些修整確實(shí)有助于我們的機(jī)器處理,并提供更好的結(jié)果。我們先調(diào)整圖片的大小,接下來(lái),我們將它們轉(zhuǎn)換成灰度,我們的模型處理灰度圖像的速度更快。Python中的圖像處理常用圖像處理技術(shù)的分步指南網(wǎng)址:https://towardsdatascience.com/image-manipulation-in-python-cbb86a61cf0為了使用這些圖像編輯技術(shù),我們將使用我們?cè)谖恼麻_(kāi)頭導(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)行貓臉和人臉檢測(cè)模型了。我們正在使用Opencv庫(kù)導(dǎo)入圖像。# Read the input image img1 = cv2.imread('ready1.jpg')
img2 = cv2.imread('ready2.jpg')人臉檢測(cè)級(jí)聯(lián)是時(shí)候檢測(cè)人臉了,我們將運(yùn)行兩行代碼。首先在圖像中檢測(cè)人臉,第二步是在圖像中檢測(cè)貓的臉。如前所述,我們正在請(qǐng)求opencv分類(lèi)器。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))繪制矩形在這一步中,我們將圍繞檢測(cè)到的面部進(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é)果最后,我們將保存檢測(cè)到的人臉圖像。要查看工作的最終結(jié)果,最好的方法是保存并檢查,確保正確傳遞變量名。在運(yùn)行這最后一段代碼之前,如果一切正常的話,我建議你繼續(xù)檢查整個(gè)代碼。#Saving the images using imwrite methodcv2.imwrite("faces_detected1.png", img1)cv2.imwrite("faces_detected2.png", img2)結(jié)果這是我的工作成果。第一種是人臉檢測(cè),第二種是貓臉檢測(cè)結(jié)果。如你所見(jiàn),我們的機(jī)器知道哪一個(gè)是人類(lèi),哪一個(gè)是貓臉。我還測(cè)試了這個(gè)程序,將兩個(gè)圖像合并在一個(gè)圖像中,我收到的結(jié)果可以在下面找到。faces_detected1.png
faces_detected2.png
其他與其逐個(gè)測(cè)試每個(gè)圖像,不如讓我們看看將兩個(gè)圖像合并為一個(gè)并運(yùn)行代碼時(shí)會(huì)發(fā)生什么。我們可以看到,我們的機(jī)器現(xiàn)在能夠理解和區(qū)分貓和人的臉。result
恭喜! !你已經(jīng)創(chuàng)建了一個(gè)程序,可以在圖像中檢測(cè)貓和人的臉,F(xiàn)在,你已經(jīng)知道如何教機(jī)器同時(shí)為你做兩件事了。希望你喜歡這篇教程,并在今天學(xué)到一些新東西。計(jì)算機(jī)視覺(jué)是一個(gè)偉大的領(lǐng)域,你可以做的事情是無(wú)限的。你可以在不同的圖像上測(cè)試代碼,看看它是如何工作的。它可能不是對(duì)所有的圖像都有效,因?yàn)轭A(yù)測(cè)依賴(lài)于訓(xùn)練過(guò)的數(shù)據(jù)。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專(zhuān)題