用python進行人臉識別(三)

2021-09-19 08:08:39 字數 1892 閱讀 8046

由於anaconda3自帶的python包是py37,開發過程中有個包一直出錯,好長時間都沒有解決,直接換成py36。需要新建py36的虛擬環境,其他版本的python操作類似。當然,你也可以直接使用py37。我只是為了更快的完成,方便查詢資料才切換成py36.

首先按下win+r,輸入cmd開啟命令列視窗,切換到anaconda所在的目錄下面。

利用conda指令新建虛擬環境,指令格式為conda create -n 虛擬環境名稱 python=x.x(如2.7,3.5,3.6等 指定虛擬環境的python版本)。最後詢問是否開始,輸入y(yes)就可以。在anaconda3資料夾下會多出乙個envs資料夾,裡面有新建的虛擬環境。

建立虛擬環境後輸入 acative 虛擬環境名稱 便可啟用虛擬環境,輸入 conda deactivate 就退出虛擬環境。

說幾個常用的cmd指令

cd 檔名   切換到當前目錄下的檔案

輸入檔名時無需全部輸入,輸入開頭字母然後按tab鍵可自動補全

cd.. 退回上一級

cd\ 直接退回到根目錄

直接輸入d: 切換到d盤根目錄 其他盤也類似

其實opencv是需要numpy包來支援的。numpy是python的乙個擴充套件包,主要運用於陣列計算。numpy可以讓你在python中使用向量和數學矩陣,常用語資料科學或者機器學習。有人可能會奇怪,為啥需要陣列處理包呢?簡單的說,一幅可以看成是由非常多的色點組成,這些色點稱為畫素,每個色點是由紅、綠、藍三原色組成(rgb),最終的顏色有三原色的比例決定。如[0,0,0]表示三種原色都為0,最終呈現黑絲,而[255,255,255]表示三種顏色都為最大深度,最終呈現為白色。類似的[255,255,0]為黃色等等。

每個色點有自己相對應的座標。這樣,乙個座標+三原色的值為乙個陣列。一幅就是由這樣n個陣列組成的,陣列數量越多表示的畫素點越多,的效果越好。

import cv2               #匯入opencv庫

#讀取 此必須提前放在工程下 這個是海賊王

#讀取系統盤中的檔案 這個是校徽

cv2.imshow('test',img)

#顯示 test是顯示視窗的名稱 可隨意起

#img 是需要顯示的

cv2.imshow('test1',img1)

cv2.waitkey(0)

#等待鍵盤等待輸入 時間為ms 0是指永遠的特殊值

#例如 如果是cv2.waitkey(10000) 10000ms=10s 在10秒內按下任意鍵 立馬關閉

#10s內沒有按鍵按下 時間結束自動關閉

cv2.destroyallwindows()

#關閉所有的視窗 釋放資源是個好習慣

執行結果 opencv成功安裝

用Python進行人臉識別(二)

安裝anaconda 安裝pycharm pycharm是python ide,而anaconda是乙個基於python的環境管理工具。python有著強大的庫資源 標準庫和第三方庫 利用這些庫可以在不同的領域程式設計開發,而且語法較為簡單 易懂。python有這麼多庫,不同的庫又有不同的版本,那怎...

用Python進行人臉識別(四)

上一節已經成功的安裝 opnecv庫,這節介紹一下opnecv的基本用法。對進行讀取 複製 儲存,在設計中需要提取進行分類的訓練,或者呼叫庫對進行識別處理,以及人臉註冊時需要儲存相對應人物的。import cv2 import numpy as np from pil import image,im...

用Python進行人臉識別(五)

opencv的基本操作已經學會了,那麼開始嘗試進行人臉識別吧。人類區分不同的人臉是根據鼻子 醉 眼睛 眉毛 膚色等等因素,這些因素的大小 間距 形狀的不同,構成了形形色色的人臉,也構成了這個大千世界。人臉識別的前期就是按照這個思路進行,即幾何特徵法。但後來發現這玩應兒並不好用,發展出了許許多多的識別...