日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python怎么使用opencv

OpenCV是一個(gè)旨在解決計(jì)算機(jī)視覺問題的python庫。OpenCV最初由Intel在1999年開發(fā),但是后來由Willow Garage資助。它支持很多編程語言,如C++,Python,Java等等。它也支持多種平臺(tái),包括Windows,Linux和MacOS。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的姜堰網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

OpenCV Python只是一個(gè)與Python一起使用的原始C++庫的包裝類。通過使用它,所有OpenCV數(shù)組結(jié)構(gòu)都能被轉(zhuǎn)化為NumPy數(shù)組或從NumPy數(shù)組轉(zhuǎn)化而來。這樣就可以輕松地將其與其他使用NumPy的庫集成。例如,SciPy和Matplotlib等庫。

OpenCV的基礎(chǔ)操作?

Opencv能完成以下從加載圖像到調(diào)整大小等基本操作:

使用OpenCV加載圖片

查看圖片形狀/分辨率

顯示圖片

調(diào)整圖像大小

1. 使用OpenCV加載圖片

Import cv2  
 # colored Image  
Img = cv2.imread ("Penguins.jpg",1)  
 # Black and White (gray scale)  
Img_1 = cv2.imread ("Penguins.jpg",0)

如以上代碼所示,第一個(gè)要求是導(dǎo)入OpenCV模塊。

之后,我們可以用imread模塊讀取圖片。參數(shù)中的1代表這是一個(gè)彩色圖片。如果這個(gè)參數(shù)的值是0,就意味著這個(gè)將被導(dǎo)入的圖片是黑白圖片。這里的圖片名稱是“Penguins”。很簡(jiǎn)單吧?

2. 查看圖片形狀/分辨率

我們可以使用shape子函數(shù)來輸出圖片的形狀??纯匆韵麓a:

Import cv2  
# Black and White (gray scale)  
Img = cv2.imread ("Penguins.jpg",0)  
Print(img.shape)

對(duì)于圖片的形狀,我們指的是NumPy數(shù)組的形狀。執(zhí)行代碼之后你將會(huì)看到這個(gè)矩陣由768行和1024列組成。

3. 顯示圖片

使用OpenCV顯示圖片非常簡(jiǎn)單和直接。思考以下圖片:

import cv2  
 
# Black and White (gray scale)  
Img = cv2.imread ("Penguins.jpg",0)  
cv2.imshow("Penguins", img)  
 
cv2.waitKey(0)  
# cv2.waitKey(2000)  
cv2.destroyAllWindows()

正如你所見,我們首先使用imread導(dǎo)入圖片。我們需要一個(gè)輸出窗口來顯示這個(gè)圖片,對(duì)吧? 

然后,我們等待用戶事件。waitKey使窗口保持靜態(tài)直到用戶按下一個(gè)鍵。傳入的參數(shù)是以毫秒為單位的時(shí)間。

最后,我們根據(jù)waitForKey的參數(shù)使用destroyAllWindows關(guān)閉窗口。

4. 調(diào)整圖像大小

類似地,調(diào)整圖像大小非常簡(jiǎn)單。 這里有另一個(gè)代碼段:

import cv2  
# Black and White (gray scale)  
img = cv2.imread ("Penguins.jpg",0)  
resized_image = cv2.resize(img, (650,500))  
cv2.imshow("Penguins", resized_image)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

這里,resize函數(shù)用于將圖像大小調(diào)整為所需的形狀。這里的參數(shù)是新調(diào)整大小后的圖像的形狀。

與之前的代碼相比,剩下的代碼非常簡(jiǎn)單,對(duì)嗎?

我相信你們對(duì)企鵝很好奇,這是我們想要輸出的圖片!

這是另一個(gè)向resize函數(shù)傳遞參數(shù)的方法??纯聪旅娴谋硎痉椒ǎ?/p>

Resized_image = cv2.resize(img, int(img.shape[1]/2), int(img.shape[0]/2)))

這里,我們得到的新圖像大小是原始圖像的一半。

使用OpenCV進(jìn)行人臉檢測(cè)

這看起來很復(fù)雜,但實(shí)際上很容易。 讓我?guī)懔私庹麄€(gè)過程,然后你也會(huì)有同樣的感受。

第一步:想一想我們的先決條件。我們首先需要一個(gè)圖像。然后,我們需要?jiǎng)?chuàng)建一個(gè)級(jí)聯(lián)分類器,它最后會(huì)給我們提供面部特征。

第二步:這一步要使用到OpenCV讀取圖像和特征文件。所以這個(gè)時(shí)候,原始數(shù)據(jù)點(diǎn)是NumPy數(shù)組的形式。

我們要做的就是搜索面部 NumPy n維數(shù)組的行和列的值。這是具有面部矩形坐標(biāo)的數(shù)組。

第三步:最后一步是使用矩形面框顯示圖像。

看看下面的圖片,這里我以圖片的形式總結(jié)了上述的三個(gè)步驟以便于閱讀:

非常直接明了,對(duì)吧?

首先,如之前所述,我們創(chuàng)建CascadeClassifier對(duì)象來提取面部特征。包含面部特征的XML文件路徑是此處的參數(shù)。

下一步是讀取一個(gè)包含面部的圖片,并且使用COLOR_BGR2GREY將其轉(zhuǎn)化為黑白圖片。接下來,我們搜索圖像的坐標(biāo)。這是使用detectMultiScale來實(shí)現(xiàn)的。

你問什么坐標(biāo)?它是面部矩形的坐標(biāo)。scaleFactor被用來減小5%的形狀值,直到找到面部。因此,總的來說,值越小,準(zhǔn)確度越高。

最后,這張臉被顯示到窗口。

給識(shí)別的人臉添加矩形面框

這個(gè)邏輯很簡(jiǎn)單——就像使用for循環(huán)語句一樣簡(jiǎn)單??纯聪旅娴膱D片:

我們通過傳遞參數(shù)(比如圖片對(duì)象,輪廓框的RGB值和矩形的寬度),使用cv2.rectangle來定義方法以創(chuàng)建一個(gè)矩形。

讓我們來看看面部檢測(cè)的完整代碼:

import cv2  
# Create a CascadeClassifier Object  
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")  
# Reading the image as it is  
img = cv2.imread("photo.jpg") 
# Reading the image as gray scale image  
gray_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
# Search the co-ordintes of the image  
faces = face_cascade.detectMultiScale(gray_img, scaleFactor = 1.05,  minNeighbors=5)  
for x,y,w,h in faces:  
    img = cv2.rectangle(img, (x,y), (x+w,y+h),(0,255,0),3)  
resized = cv2.resize(img, (int(img.shape[1]/7),int(img.shape[0]/7)))   
cv2.imshow("Gray", resized)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

眾多python培訓(xùn)視頻,盡在python學(xué)習(xí)網(wǎng),歡迎在線學(xué)習(xí)!


當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:python怎么使用opencv
文章網(wǎng)址:http://m.5511xx.com/article/dhcsojd.html