欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AI與Python計算機視覺教程

 更新時間:2022年05月23日 11:12:11   作者:weixin_42238387  
這篇文章主要為大家介紹了AI與Python計算機視覺教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

計算機視覺涉及使用計算機軟件和硬件建模和復制人類視覺。在本章中,您將詳細了解這一點。

計算機視覺

計算機視覺是一門學科,根據(jù)場景中存在的結構的屬性,研究如何從其2d圖像重建,中斷和理解3d場景。

計算機視覺層次結構

計算機視覺分為以下三個基本類別 -

  • 低級視覺 - 它包括用于特征提取的過程圖像。
  • 中級視覺 - 包括物體識別和3D場景解釋
  • 高級視覺 - 包括活動,意圖和行為等場景的概念性描述。

計算機視覺與圖像處理

圖像處理研究圖像到圖像的變換。圖像處理的輸入和輸出都是圖像。

計算機視覺是從圖像中構建對物理對象的明確,有意義的描述。計算機視覺的輸出是對3D場景中的結構的描述或解釋。

應用

計算機視覺在以下領域中得到應用 -

機器人

  • 本地化 - 自動確定機器人位置
  • 導航
  • 障礙避免
  • 裝配(掛孔,焊接,噴漆)
  • 操縱(例如PUMA機器人操縱器)
  • 人機交互(HRI):與人交互和服務的智能機器人

醫(yī)學

  • 分類和檢測(例如病變或細胞分類和腫瘤檢測)
  • 2D / 3D分割
  • 3D人體器官重建(MRI或超聲)
  • 視覺引導機器人手術

安全

生物識別技術(虹膜,指紋,面部識別)

監(jiān)視 - 檢測某些可疑活動或行為

運輸

自動駕駛汽車安全性,例如駕駛員警惕監(jiān)控 工業(yè)自動化應用 工業(yè)檢查(缺陷檢測)部件條形碼和包裝標簽閱讀對象排序文件理解(例如OCR)

安裝有用的包

對于使用Python的計算機視覺,您可以使用名為OpenCV(開源計算機視覺)的流行庫。它是一個編程功能庫,主要針對實時計算機視覺。它是用C ++編寫的,其主要接口是用C ++編寫的。您可以借助以下命令安裝此軟件包 -

pip install opencv_python-X.X-cp36-cp36m-winX.whl

這里X代表您機器上安裝的Python版本以及您擁有的win32或64位。

如果您使用的是anaconda環(huán)境,請使用以下命令安裝OpenCV -

conda install -c conda-forge opencv

閱讀,寫作和顯示圖像

大多數(shù)CV應用程序需要將圖像作為輸入并將圖像作為輸出生成。在本節(jié)中,您將學習如何借助OpenCV提供的功能讀取和寫入圖像文件。

OpenCV函數(shù)用于讀取,顯示,寫入圖像文件

OpenCV為此提供以下功能 -

  • imread()函數(shù) - 這是讀取圖像的函數(shù)。OpenCV imread()支持各種圖像格式,如PNG,JPEG,JPG,TIFF等。
  • imshow()函數(shù) - 這是在窗口中顯示圖像的功能。窗口自動適合圖像大小。OpenCV imshow()支持各種圖像格式,如PNG,JPEG,JPG,TIFF等。
  • imwrite()函數(shù) - 這是寫入圖像的函數(shù)。OpenCV imwrite()支持各種圖像格式,如PNG,JPEG,JPG,TIFF等。

示例

此示例顯示了用于以一種格式讀取圖像的Python代碼 - 在窗口中顯示它并以其他格式寫入相同的圖像??紤]以下步驟 -

如圖所示導入OpenCV包 -

import cv2

現(xiàn)在,要讀取特定圖像,請使用imread()函數(shù) -

image = cv2.imread('image_flower.jpg')

要顯示圖像,請使用imshow()函數(shù)。您可以在其中查看圖像的窗口名稱為image_flower。

cv2.imshow('image_flower',image)cv2.destroyAllwindows()

現(xiàn)在,我們可以使用imwrite()函數(shù)將相同的圖像寫入另一種格式,例如.png -

cv2.imwrite('image_flower.png',image)

輸出True表示圖像已成功寫入.png文件也位于同一文件夾中。

True

注意 - 函數(shù)destroyallWindows()只是破壞我們創(chuàng)建的所有窗口。

色彩空間轉換

在OpenCV中,圖像不是使用傳統(tǒng)的RGB顏色存儲的,而是以相反的順序存儲,即以BGR順序存儲。因此,讀取圖像時的默認顏色代碼是BGR。所述cvtColor()中的圖像從一個顏色代碼轉換為其他顏色轉換功能。

考慮此示例將圖像從BGR轉換為灰度。

如圖所示導入OpenCV包 -

import cv2

現(xiàn)在,要讀取特定圖像,請使用imread()函數(shù) -

image = cv2.imread('image_flower.jpg')

現(xiàn)在,如果我們使用imshow()函數(shù)看到這個圖像,那么我們可以看到這個圖像在BGR中。

cv2.imshow('BGR_Penguins',image)

現(xiàn)在,使用cvtColor()函數(shù)將此圖像轉換為灰度。

image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray_penguins',image)

邊緣檢測

人們在看到粗略的草圖后,可以很容易地識別出許多物體類型和姿勢。這就是邊緣在人類生活以及計算機視覺應用中發(fā)揮重要作用的原因。OpenCV提供了一個非常簡單有用的函數(shù)Canny()來檢測邊緣。

以下示例顯示了邊緣的清晰標識。

導入OpenCV包如圖所示 -

import cv2import numpy as np

現(xiàn)在,要讀取特定圖像,請使用imread()函數(shù)。

image = cv2.imread('Penguins.jpg')

現(xiàn)在,使用Canny()函數(shù)檢測已讀取圖像的邊緣。

cv2.imwrite(‘edges_Penguins.jpg',cv2.Canny(image,200,300))

現(xiàn)在,要顯示帶邊的圖像,請使用imshow()函數(shù)。

cv2.imshow(‘edges', cv2.imread(‘‘edges_Penguins.jpg'))

這個Python程序將使用邊緣檢測創(chuàng)建一個名為edges_penguins.jpg的圖像。

人臉檢測

人臉檢測是計算機視覺的迷人應用之一,使其更加真實和未來。OpenCV具有執(zhí)行面部檢測的內置工具。我們將使用Haar級聯(lián)分類器進行人臉檢測。

哈爾Cascade數(shù)據(jù)

我們需要數(shù)據(jù)來使用Haar級聯(lián)分類器。您可以在我們的OpenCV包中找到這些數(shù)據(jù)。安裝OpenCv后,您可以看到文件夾名稱haarcascades。不同的應用程序會有.xml文件。現(xiàn)在,將它們全部復制以供不同使用,然后粘貼到當前項目下的新文件夾中。

以下是使用Haar Cascade檢測Amitabh Bachan面部的Python代碼,如下圖所示 -

如圖所示導入OpenCV包 -

import cv2
import numpy as np

現(xiàn)在,使用HaarCascadeClassifier檢測面部 -

face_detection=
cv2.CascadeClassifier('D:/ProgramData/cascadeclassifier/
haarcascade_frontalface_default.xml')

現(xiàn)在,要讀取特定圖像,請使用imread()函數(shù) -

img = cv2.imread('AB.jpg')

現(xiàn)在,將其轉換為灰度,因為它會接受灰色圖像 -

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

現(xiàn)在,使用face_detection.detectMultiScale,執(zhí)行實際的面部檢測

faces = face_detection.detectMultiScale(gray, 1.3, 5)

現(xiàn)在,在整個臉部周圍畫一個矩形 -

for (x,y,w,h) in faces:
   img = cv2.rectangle(img,(x,y),(x+w, y+h),(255,0,0),3)
cv2.imwrite('Face_AB.jpg',img)

這個Python程序將使用面部檢測創(chuàng)建一個名為Face_AB.jpg的圖像,如圖所示

眼睛檢測

眼睛檢測是計算機視覺的另一個迷人應用,它使其更加真實和未來。OpenCV有一個內置的工具來執(zhí)行眼睛檢測。我們將使用Haar級聯(lián)分類器進行眼睛檢測。

以下示例給出了使用Haar Cascade檢測Amitabh Bachan面部的Python代碼,如下圖所示 -

導入OpenCV包如圖所示 -

import cv2import numpy as np

現(xiàn)在,使用HaarCascadeClassifier檢測面部 -

eye_cascade = cv2.CascadeClassifier('D:/ProgramData/cascadeclassifier/haarcascade_eye.xml')

現(xiàn)在,要讀取特定圖像,請使用imread()函數(shù)

img = cv2.imread('AB_Eye.jpg')

現(xiàn)在,將其轉換為灰度,因為它會接受灰色圖像 -

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

現(xiàn)在借助eye_cascade.detectMultiScale,執(zhí)行實際的人臉檢測

eyes = eye_cascade.detectMultiScale(gray, 1.03, 5)

現(xiàn)在,在整個臉部周圍畫一個矩形 -

for (ex,ey,ew,eh) in eyes:
   img = cv2.rectangle(img,(ex,ey),(ex+ew, ey+eh),(0,255,0),2)
cv2.imwrite('Eye_AB.jpg',img)

這個Python程序將創(chuàng)建一個名為Eye_AB.jpg的圖像,其中帶有眼睛檢測,如圖所示 -

以上就是AI與Python計算機視覺教程的詳細內容,更多關于AI Python計算機視覺的資料請關注腳本之家其它相關文章!

相關文章

  • Python實現(xiàn)藍線挑戰(zhàn)特效的示例代碼

    Python實現(xiàn)藍線挑戰(zhàn)特效的示例代碼

    在抖音曾經(jīng)火了一陣子的藍線挑戰(zhàn)特效,其原理很簡單。本文將試著用opencv-python實現(xiàn)這個效果,做了攝像頭版本和視頻處理版本,感興趣的可以學習一下
    2022-10-10
  • Python中django學習心得

    Python中django學習心得

    這篇文章主要介紹了Python中django Web應用框架的學習做了總結并把心得體會寫了一下,大家一起參考下吧。
    2017-12-12
  • Python?時間操作datetime詳情

    Python?時間操作datetime詳情

    這篇文章主要介紹了?Python?時間操作datetime,datetime?模塊提供處理時間和日期的多種類,簡單方便,下面文章將詳細介紹其內容,需要的朋友可以參考一下
    2021-11-11
  • Python設計模式之狀態(tài)模式原理與用法詳解

    Python設計模式之狀態(tài)模式原理與用法詳解

    這篇文章主要介紹了Python設計模式之狀態(tài)模式原理與用法,簡單描述了狀態(tài)模式的概念、原理并結合實例形式分析了Python實現(xiàn)與使用狀態(tài)模式的相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • python如何修改PYTHONPATH環(huán)境變量

    python如何修改PYTHONPATH環(huán)境變量

    這篇文章主要介紹了python如何修改PYTHONPATH環(huán)境變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python 淘寶爬蟲小實例

    python 淘寶爬蟲小實例

    雙十一即將到來,電商都在做活動打折,但打完折是不是真的優(yōu)惠了,需要我們自己斟酌,畢竟我們不能一直關注著價格,也自然不能知道現(xiàn)在的價格比以前高了還是低了,今天讓我們用Python來爬取一下淘寶吧
    2021-11-11
  • Python使用正則表達式過濾或替換HTML標簽的方法詳解

    Python使用正則表達式過濾或替換HTML標簽的方法詳解

    這篇文章主要介紹了Python使用正則表達式過濾或替換HTML標簽的方法,簡單介紹了Python正則相關語法并結合具體實例形式分析了Python基于正則表達式的HTML標簽過濾與替換相關操作技巧,需要的朋友可以參考下
    2017-09-09
  • Keras:Unet網(wǎng)絡實現(xiàn)多類語義分割方式

    Keras:Unet網(wǎng)絡實現(xiàn)多類語義分割方式

    本文主要利用U-Net網(wǎng)絡結構實現(xiàn)了多類的語義分割,并展示了部分測試效果,希望對你有用!
    2020-06-06
  • 淺談pytorch中的BN層的注意事項

    淺談pytorch中的BN層的注意事項

    這篇文章主要介紹了淺談pytorch中的BN層的注意事項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 解決python mysql insert語句的問題

    解決python mysql insert語句的問題

    這篇文章主要介紹了解決python mysql insert語句的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論