亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中怎么通過10行代碼完成圖像識別功能

發布時間:2022-02-18 14:59:06 來源:億速云 閱讀:214 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關python中怎么通過10行代碼完成圖像識別功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

ImageAI是一個 python 庫,旨在使開發人員能夠使用簡單的幾行代碼構建具有包含深度學習和計算機視覺功能的應用程序和系統,下面將使用ImageAI為大家分享一下如何通過10行代碼完成圖像識別。

python中怎么通過10行代碼完成圖像識別功能

ImageAI安裝工作

要使用ImageAI執行對象檢測,您需要做的就是:

在計算機系統上安裝Python 安裝ImageAI及其依賴項 下載對象檢測模型文件 運行示例代碼(只有10行) 那么我們現在開始:

從官方Python語言網站下載并安裝Python 3。 通過pip安裝:TensorFlow,OpenCV, Keras, ImageAI

pip3 install tensorflow
pip3 install opencv-python
pip3 install keras
pip3 install imageai --upgrade

3)通過此文章中的鏈接下載用于對象檢測的RetinaNet模型文件:

https://towardsdatascience.com/object-detection-with-10-lines-of-code-d6cb4d86f606

運行程序

太好了。我們現在已經安裝了依賴項,可以編寫第一個對象檢測代碼了。創建一個Python文件并給它起一個名字(例如,FirstDetection.py),然后將下面的代碼寫進去。將要檢測的RetinaNet模型文件圖像復制到包含python文件的文件夾中。

from imageai.Detection import ObjectDetection
import os
execution_path =os.getcwd()
detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h6"))
detector.loadModel()
detections = detector.detectObjectsFromImage( input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))for eachObject in detections:print(eachObject["name"] , " : " ,
eachObject["percentage_probability"] )

需要注意的是,如果你在運行遇到這個錯誤:

ValueError: Unable to import backend : theano python mymodel.py

那么你可以嘗試:

import osos.environ['KERAS_BACKEND'] = 'tensorflow'from
imageai.Detection import ObjectDetection

然后運行代碼并等待結果打印在控制臺中。一旦結果打印到控制臺中,轉到您的FirstDetection.py所在的文件夾,您將發現保存了一個新圖像。看看下面的兩個圖像樣本和檢測后保存的新圖像。

檢測前: python中怎么通過10行代碼完成圖像識別功能 如何用10行代碼完成目標檢測 檢測后: python中怎么通過10行代碼完成圖像識別功能 如何用10行代碼完成目標檢測 數據結果

我們可以看到程序會打印輸出一些各個物體的概率數據:

person : 55.8402955532074
person : 53.21805477142334
person : 69.25139427185059
person : 76.41745209693909
bicycle : 80.30363917350769
person : 83.58567953109741
person : 89.06581997871399
truck : 63.10953497886658
person : 69.82483863830566
person : 77.11606621742249
bus : 98.00949096679688
truck : 84.02870297431946
car : 71.98476791381836

可以看出來程序可以對圖片中的以下目標進行檢測:

人,自行車,卡車,汽車,公交車。

大家可以直接將自己希望檢測的照片放到程序里面運行看看效果。

原理解釋

現在讓我們解釋一下10行代碼是如何工作的。

from imageai.Detection import ObjectDetectionimport osexecution_path
= os.getcwd()

在上面的3行代碼中,我們在第一行導入了ImageAI對象檢測類,在第二行導入了python os類,并定義了一個變量來保存python文件、RetinaNet模型文件和圖像所在的文件夾的路徑。

detector = ObjectDetection()detector.setModelTypeAsRetinaNet()detector.setModelP
ath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h6"))detector.loadModel()detections =
detector.detectObjectsFromImage(input_image=os.path.join(execution_pa
th , "image.jpg"), output_image_path=os.path.join(execution_path ,"imagenew.jpg"))

在上面的代碼中,我們定義對象檢測類在第一線,將模型類型設置為RetinaNet在第二行,設置模型路徑的路徑在第三行RetinaNet模型,該模型加載到對象檢測類在第四行,然后我們稱為檢測函數,解析輸入圖像的路徑和輸出圖像路徑在第五行。

for eachObject in detections: print(eachObject["name"] , " : ", eachObject["percentage_probability"] )

在上面的代碼中,我們在第一行迭代了detector.detectObjectsFromImage函數返回的所有結果,然后在第二行打印出圖像中檢測到的每個對象的模型名稱和百分比概率。

關于“python中怎么通過10行代碼完成圖像識別功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长宁县| 会昌县| 阿坝县| 湘潭县| 南川市| 上栗县| 古浪县| 林周县| 鄂托克前旗| 墨脱县| 无棣县| 曲松县| 永定县| 壤塘县| 南和县| 永善县| 留坝县| 江安县| 华池县| 五寨县| 琼海市| 潍坊市| 达日县| 徐州市| 舟曲县| 吉隆县| 伊金霍洛旗| 武安市| 清远市| 明水县| 威信县| 游戏| 乐昌市| 临汾市| 玛沁县| 水富县| 利辛县| 咸丰县| 久治县| 定西市| 漳平市|