<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
大家好,我是小五
“無窮小亮的科普日常”經常會發布一些鑑定網路熱門生物視訊,既科普了生物知識,又滿足觀眾們的獵奇心理。今天我們也來鑑定一下網路熱門植物!最近春天很多花都開了,我正好趁著清明假期到戶外踏青並拍攝了不少花卉的照片。
由於對很多花不是特別熟悉,所以我們需要藉助軟體來識別究竟是什麼花的種類。市面上的識花軟體有很多,比如花伴侶、形色、百度等等,我測試後發現百度的識別效果最為優秀。於是我就有了一個想法,能不能批次呼叫百度的介面,對花卉照片進行識別並分類呢?
百度的影象識別介面,可以精準識別超過十萬種物體和場景,包含10餘項高精度的識圖能力並提供相應的API服務。
https://cloud.baidu.com/product/imagerecognition
我們按照步驟建立新應用,並得到專屬自己的API Key和Secret Key,具體如下圖所示。
影象識別提供一個組合API介面,支援多種垂類識別服務的靈活組合呼叫,這裡只需要呼叫植物識別就可以滿足需求。
如何Python呼叫百度影象識別API介面?
第一步,呼叫鑑權介面獲取token。
API_Key = '**********' Secret_Key = '**********' def get_access_token(API_Key,Secret_Key): host = '**********' response = requests.get(host) return response.json()['access_token'] access_token = get_access_token(API_Key,Secret_Key)
第二步,識別影象種類
在互動式環境中輸入如下命令:
import requests import base64 request_url = '**********' # 二進位制方式開啟圖片檔案 f = open(r'D:下載QQ截圖20220407203203.png', 'rb') img = base64.b64encode(f.read()) params = {"image":img} request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print (response.json()['result'][0]['name'])
輸出:
櫻花
呼叫百度影象識別介面的返回引數如下圖所示,對我們來說,只需要其中的name(植物名稱)引數。
我將拍攝的照片存放在D:下載花卉合集
路徑下,所以需要使用os
模組進行讀取檔案列表,方便進行後續的批次操作。
在互動式環境中輸入如下命令:
import os path = "D:下載花卉合集" filenames = os.listdir(path) filenames
輸出:
['QQ截圖20220405223301.png',
'QQ截圖20220405223320.png',
......
'微信圖片_20220405225020.jpg',
'微信圖片_20220405225023.jpg']
os模組中的listdir()
⽅法,接收⼀個路徑引數path,返回的是該路徑下所有⽂件的⽂件名組成的列表。這樣,我們就獲取了該路徑下所有的花卉圖片檔名,如下圖所示。
接著,我們便可以使用for迴圈語句,依次對花卉照片進行影象識別,並按照識別出的名稱進行分類整理到對應的資料夾中。
在互動式環境中輸入如下命令:
for i in filenames: flower_name = get_fname(i) file_path = os.path.join(path,i) folder_path = os.path.join(path,flower_name) if not os.path.exists(folder_path): os.mkdir(folder_path) shutil.move(file_path,folder_path)
其中get_fname()
函數,是我們將前文中百度影象識別程式碼封裝為一個自定義函數,此處呼叫即可返回得到照片對應的花卉名稱flower_name
。
後續的程式碼與之前分享過的自動分類整理檔案几乎一致,即if判斷是否已經存在對應花卉名稱的資料夾,若不存在則建立。最後,呼叫shutil
模組移動花卉照片至對應資料夾。
具體執行效果,如下方動圖所示。
以上就是Python實現識別花卉種類的範例程式碼的詳細內容,更多關於Python識別花卉種類的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45