安裝Anaconda環(huán)境
訪問(wèn)Anaconda網(wǎng)站下載最新版本的Anaconda for Windows。
Anaconda平臺(tái)網(wǎng)站下載頁(yè)面。
注意:確保選擇Python 3.6版本和相應(yīng)的體系結(jié)構(gòu)(32位或64位)。
安裝Anaconda環(huán)境及其默認(rèn)值設(shè)置。
Anaconda平臺(tái)的高級(jí)版安裝選項(xiàng)窗口。
確保保留“將Anaconda添加到我的PATH環(huán)境變量”選項(xiàng)取消選擇。
一個(gè)窗口,顯示使用Anaconda平臺(tái)安裝Microsoft Visual Studio代碼安裝的選項(xiàng)。
本教程不需要安裝“Microsoft Visual Studio Code”,因?yàn)樗鼘⑹褂肧pyder IDE環(huán)境以Python編程。
繼續(xù)并選擇在出現(xiàn)時(shí)跳過(guò)安裝選項(xiàng)。
一些程序?qū)⑹俏彝ㄟ^(guò)設(shè)置過(guò)程安裝:Anaconda Prompt,Anaconda Navigator和Spyder IDE。
完成安裝后,在Windows任務(wù)欄中搜索“Anaconda Prompt”并打開(kāi)桌面應(yīng)用程序。
在搜索框中顯示Anaconda Prompt桌面應(yīng)用程序的Windows任務(wù)欄。
使用Anaconda提示
要測(cè)試Anaconda命令是否正常工作,請(qǐng)運(yùn)行以下代碼。
測(cè)試Anaconda命令是否正常運(yùn)行所需的特定代碼。
此過(guò)程中,為Python 3.5版本創(chuàng)建了一個(gè)新的Anaconda環(huán)境。
使用Anaconda安裝程序設(shè)置了Python 3.6版本,但出于兼容性原因,我們將使用帶有Open CV3的Python 3.5版本分布。
創(chuàng)建新環(huán)境
使用Anaconda創(chuàng)建新環(huán)境所需的特定代碼。
你會(huì)找到一個(gè)輸出如下所示的例子:
使用Anaconda激活新環(huán)境所需的代碼輸出示例。
Anaconda將安裝一些新包;只需輸入‘y’表示是,然后按回車鍵繼續(xù)安裝。
在下一步中,我們將安裝更多的包,所以讓Anaconda經(jīng)銷商安裝所需的包,否則它可能會(huì)沒(méi)有與Python正確集成。
安裝完成后,環(huán)境被激活:
在Anaconda中激活確認(rèn)環(huán)境的特定代碼。
如果安裝成功完成,您會(huì)注意到‘(base)’環(huán)境已更改為新環(huán)境。
這表示新環(huán)境已激活并且Anaconda已將‘$ PATH’變量更改為‘C:/Users/Akshay/Anaconda3/envs/MyOpenCV’位置?,F(xiàn)在所有未來(lái)的安裝都只適用于這個(gè)特定的環(huán)境。
Python版本現(xiàn)在也應(yīng)該顯示為Python 3.5而不是系統(tǒng)版本。
確認(rèn)Anaconda平臺(tái)當(dāng)前正在運(yùn)行的Python版本的特定代碼。
安裝OpenCV3和依賴項(xiàng)
首先,安裝NumPy庫(kù)進(jìn)行科學(xué)計(jì)算。
安裝NumPy庫(kù)所需的特定代碼。
然后安裝anaconda-client。
安裝anaconda-client所需的特定代碼。
最后,安裝OpenCV3(由于它的大小,可能需要一些時(shí)間才能下載庫(kù)。)
在Anaconda平臺(tái)中安裝OpenCV3所需的特定代碼。
現(xiàn)在使用Anaconda安裝并運(yùn)行Spyder IDE for Python。
在Windows任務(wù)欄中搜索“Anaconda Navigator”并打開(kāi)它。
從那里可以選擇新環(huán)境并安裝Spyder。
Anaconda平臺(tái)應(yīng)用程序頁(yè)面的屏幕截圖。
顯示Spyder位置的屏幕截圖Anaconda平臺(tái)中的環(huán)境。
安裝Spyder后,通過(guò)選擇啟動(dòng)來(lái)打開(kāi)程序。/p》
人臉檢測(cè)算法
確保OpenCV平臺(tái)在Python中運(yùn)行。您可以使用以下代碼:
確認(rèn)OpenCV平臺(tái)所需的特定代碼在Python中正常運(yùn)行。
如果它去了如上所示的下一行沒(méi)有返回錯(cuò)誤,那么你將設(shè)置為繼續(xù)下一步。
你需要下載所需的Python腳本(.pv),帶有faces的圖像(。 jpg)和本文末尾提供的XML格式的Haar級(jí)聯(lián)分類器(.xml)。
注意:請(qǐng)確保將所有這些文件保存在同一文件夾中以方便訪問(wèn)。
Haar級(jí)聯(lián)分類器背后的理論有點(diǎn)復(fù)雜,為了簡(jiǎn)化它,基本上它們是包含OpenCB檢測(cè)對(duì)象所需的所有數(shù)據(jù)的XML文件,如本例中的面部。
分類器通過(guò)機(jī)器學(xué)習(xí)方法進(jìn)行訓(xùn)練,以檢測(cè)圖像中的模式,以識(shí)別其中的面部。
‘文件瀏覽器選項(xiàng)卡’w ill允許您導(dǎo)航到保存先前文件的文件夾。
您可以使用以下代碼檢查當(dāng)前工作目錄:
確認(rèn)當(dāng)前工作目錄所需的特定代碼。
如果代碼輸出文件存儲(chǔ)位置的文件夾位置,那么你就可以了。
代碼細(xì)分
包含將用于面部檢測(cè)的XML文件和圖像的特定代碼。
由于設(shè)置了一個(gè)文件夾,其中包含所有必需文件作為當(dāng)前工作目錄,因此可以搜索文件名沒(méi)有完整路徑的情況。
為此項(xiàng)目選擇的XML文件用于檢測(cè)直接面向攝像機(jī)的面。
如果可以使用不同的分類器,期望。
指定的特定代碼分類器。
此時(shí),我們創(chuàng)建了級(jí)聯(lián)分類器并使用我們的XML文件對(duì)其進(jìn)行初始化。這會(huì)加載所需的數(shù)據(jù)以檢測(cè)變量‘haar_face_cascade’中的面。
將照片轉(zhuǎn)換為灰度所需的特定代碼。
現(xiàn)在使用OpenCV的庫(kù)函數(shù)可以將使用的photo.jpg轉(zhuǎn)換為灰度。
注意:大多數(shù)圖像機(jī)器學(xué)習(xí)操作都以灰度顯示。
執(zhí)行人臉檢測(cè)算法所需的特定代碼。
上面的函數(shù)執(zhí)行人臉檢測(cè)算法,可以分解為:
detectMultiScale:檢測(cè)對(duì)象的常規(guī)函數(shù)。
灰度:將照片轉(zhuǎn)換為灰度顏色。
scaleFactor:補(bǔ)償
minSize:可能的最小對(duì)象大小,任何小于通過(guò)此函數(shù)指定的對(duì)象的對(duì)象都將被忽略。
minNeighbors:定義需要在窗口周圍檢測(cè)到的面部圖案的數(shù)量,以將空間聲明為面。 注意:建議將此函數(shù)的值設(shè)置為0,然后逐漸增加它以查看輸出如何變化。
上述函數(shù)值為設(shè)置為最常用的那些。
鼓勵(lì)嘗試使用不同的值來(lái)找到最佳設(shè)置。
執(zhí)行該功能時(shí),矩形標(biāo)記面的位置在圖像中。它還提供矩形左上角的坐標(biāo)(x,y)及其寬度(w)和高度(h)。
可以使用以下代碼提取信息:
提取值所需的特定代碼用于標(biāo)記照片中檢測(cè)到的面部的矩形。
我們使用這些值來(lái)使用cv.rectange函數(shù)在面周圍繪制一個(gè)矩形。
Anaconda平臺(tái)在照片中檢測(cè)到的面部周圍繪制矩形所需的特定代碼。
最后,我們使用檢測(cè)到的面部顯示圖像,并等待用戶按下一個(gè)鍵。
人臉檢測(cè)結(jié)果
我們首先在band.jpg照片上測(cè)試算法。
使用Anaconda正確執(zhí)行人臉檢測(cè)的示例。
當(dāng)我們運(yùn)行程序時(shí),控制臺(tái)應(yīng)該回復(fù)“找到5個(gè)面孔!”并輸出帶有矩形的照片,表示其中面部的位置。
對(duì)這個(gè)家庭進(jìn)行了第二次測(cè)試照片。
Anaconda的一個(gè)例子歪曲圖像中的面孔。
該程序在本次審判中歪曲了服裝作為面孔因?yàn)榕c第一張照片不同,所有樂(lè)隊(duì)成員與相機(jī)的距離相同 - 父母離照片的距離遠(yuǎn)遠(yuǎn)超過(guò)照片中的孩子。通過(guò)將比例因子調(diào)低至1.3,可以輕松解決此問(wèn)題。
Anaconda的第二個(gè)例子正確識(shí)別圖像中的面部。
程序現(xiàn)在可以正確識(shí)別圖像中的面部。
由于此程序基于機(jī)器學(xué)習(xí),因此永遠(yuǎn)不會(huì)提供100%的準(zhǔn)確性。如果您在大量圖像樣本上測(cè)試算法,您會(huì)發(fā)現(xiàn)它適用于大多數(shù)但不是所有情況。此外,根據(jù)照片,需要調(diào)整 detectMultiScale 函數(shù)中的參數(shù)以避免誤報(bào)。
最終代碼
1. import cv2
2.
3. # Specify the image path for face detection and XML file for the cascade
4. photo_path = “band.jpg”
5. cascade_path = “haarcascade_frontalface.xml”
6.
7. # Initialise the Haar Cascade Classifier with the XML file
8. haar_face_cascade = cv2.CascadeClassifier(cascade_path)
9.
10. # Read the photo and convert to grayscale
11. photo = cv2.imread(photo_path)
12. grayscale = cv2.cvtColor(photo, cv2.COLOR_BGR2GRAY)
13.
14. # Detect faces in the photo using OpenCV library
15. faces = haar_face_cascade.detectMultiScale(
16. grayscale,
17. scaleFactor = 1.1,
18. minNeighbors = 5,
19. minSize = (30, 30)
20. )
21.
22. print(“Found {0} faces!”.format(len(faces)))
23.
24. # Draw a rectangle around the faces
25. for (x, y, w, h) in faces:
26. cv2.rectangle(photo, (x, y), (x+w, y+h), color = (0, 255, 0), thickness = 2)
27.
28. cv2.imshow(“Faces found”, photo)
29. cv2.waitKey(0)
-
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86708 -
面部檢測(cè)
+關(guān)注
關(guān)注
1文章
4瀏覽量
5911
發(fā)布評(píng)論請(qǐng)先 登錄
為什么無(wú)法使用圖像文件夾執(zhí)行對(duì)象檢測(cè)Python演示?
請(qǐng)問(wèn)是否可以使用單個(gè)輸入圖像運(yùn)行人臉檢測(cè)MTCNN Python演示?
使用Python API在OpenVINO?中創(chuàng)建了用于異步推理的自定義代碼,輸出張量的打印結(jié)果會(huì)重復(fù),為什么?
華為云 Flexus X 實(shí)例評(píng)測(cè)使用體驗(yàn)——Anaconda 環(huán)境安裝

使用Python實(shí)現(xiàn)xgboost教程
ANACONDA——關(guān)于發(fā)布數(shù)據(jù)應(yīng)用程序的新簡(jiǎn)單方法

評(píng)論