您好,登錄后才能下訂單哦!
Python中如何實現圖像識別,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
(如果您已經安裝了Python 3.5.1或更高版本,請跳過本節)
https://www.python.org/downloads/
- Tensorflow
pip3 install --upgrade tensorflow
- Numpy
pip3 install numpy
- SciPy
pip3 install scipy
- OpenCV
pip3 install opencv-python
- Matplotlib
pip3 install matplotlib
- h6py
pip3 install h6py
- Keras
pip3 install keras
pip3 install https://github.com/OlafenwaMoses/ImageAI/raw/master/dist/imageai-1.0.2-py3-none-any.whl
https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h6
from imageai.Prediction import ImagePrediction import os execution_path = os.getcwd() prediction = ImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath( execution_path + " esnet50_weights_tf_dim_ordering_tf_kernels.h6") prediction.loadModel() predictions, percentage_probabilities = prediction.predictImage("C:UsersMyUserDownloadssample.jpg", result_count=5) for index in range(len(predictions)): print(predictions[index] + " : " + percentage_probabilities[index])
sample.jpg
代碼結果:
sports_car : 90.61029553413391 car_wheel : 5.9294357895851135 racer : 0.9972884319722652 convertible : 0.8457873947918415 grille : 0.581052340567112
現在讓我們分解代碼,以便了解它是如何工作的。上面的代碼工作如下:
from imageai.Prediction import ImagePrediction import os
上面的代碼導入了ImageAI ImagePrediction類和python os類。
execution_path = os.getcwd()
上面的代碼創建一個變量,它保存對包含python文件(在本例中為FirstPrediction.py)和ResNet模型文件的路徑的引用。
prediction = ImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath(execution_path +“ resnet50_weights_tf_dim_ordering_tf_kernels.h6”)
在上面的代碼中,我們在***行創建了一個ImagePrediction()類的實例,然后通過在第二行中調用.setModelTypeAsResNet(),將預測對象的模型類型設置為ResNet ,然后設置模型路徑將預測對象復制到模型文件(resnet50_weights_tf_dim_ordering_tf_kernels.h6)的路徑中,并將其復制到第三行的項目文件夾文件夾中。
predictions, percentage_probabilities = prediction.predictImage("C:UsersMyUserDownloadssample.jpg", result_count=5)
在上面的行中,我們定義了2個變量,它等于被調用來預測圖像的函數,這個函數是 .predictImage()函數,我們在其中解析了圖像的路徑,并且還指出了我們想要的預測結果的數量有(從1到1000的值)解析result_count = 5 。所述 .predictImage()函數將返回與所述***(2級陣列的對象的預測)是預測和所述第二(陣列percentage_probabilities)是相應的百分比概率為每個預測的陣列。
for index in range(len(predictions)): print(predictions[index] + " : " + percentage_probabilities[index])
上述行獲取中的每個對象的預測陣列,并且還獲得從相應百分比概率percentage_probabilities,***打印二者的結果到控制臺。
該 .predictImage()函數將在路徑中的圖像,也可以說明我們預計函數返回預測的數量(可選,默認為5)。ImageNet-1000數據集中有1000個項目,ResNet模型在該數據集上進行了訓練,這意味著 .predictImage函數將返回1000個可能的預測值,并按其概率排列。
借助ImageAI,您可以輕松方便地將圖像預測代碼集成到您在python中構建的任何應用程序,網站或系統中。ImageAI庫支持其他算法和模型類型,其中一些針對速度進行了優化,另一些針對精度進行了優化。借助ImageAI,我們希望支持計算機視覺的更多專業方面,包括但不限于特殊環境和特殊領域的圖像識別以及自定義圖像預測。
關于Python中如何實現圖像識別問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。