用 Python 鑑別色色的圖片
阿新 • • 發佈:2019-07-04
實話實說啊,這個標題起得就有點標題黨,識別是識別,準確率就有點玄學了。
1 環境說明
Win10 系統下 Python3,編譯器是 Pycharm,需要安裝 nonude 這個庫。
Pycharm 安裝第三方庫的方法。
2 程式碼
2.1 識別少量圖片
先匯入 nonude 這個庫(我也很奇怪為什麼 import 的是 nude)
import nude
再寫出程式碼
print(nude.is_nude("godfather.jpg")) print(nude.is_nude("leisheng.jpg")) print(nude.is_nude("qiaoba.png"))
程式碼執行的結果居然是 False、True、True 讓我們來看一下圖片。
對了,我這裡是直接把圖片放在了專案的路徑裡的
如果不喜歡這樣,可以換一個寫法
import nude
print(nude.is_nude("E:/Images/OOXX/00mitai.jpg"))
print(nude.is_nude("E:\Images\OOXX/00zkted.jpg"))
print(nude.is_nude("E:/Images\OOXX/011idk8.jpg"))
程式碼執行的結果是 False、True、False
說一下,路徑裡面的斜槓 / 可以是反斜槓 \,如果後面有數字的話,請使用斜槓 /,不要用反斜槓 \。
2.2 識別資料夾中的圖片
先匯入要用的庫
這裡用 glob 返回匹配指定模式的檔名
itertools.chain 把迭代物件串聯起來,形成一個更大的迭代器,說白了就是把 images_jpg、images_png、images_gif 弄在一起,變成了images_list。
然後進行迴圈,在 images_list 裡面一個一個對圖片進行識別。
for i in images_list: print(i) # 輸出照片的路徑 n = Nude(i) # 對圖片進行識別 n.parse() print(n.result) # 輸出結果 print(n.message) # 輸出判斷資訊 print(n.inspect()) # 輸出更加詳細的判斷資訊
執行結果如下圖
我們來看一下下圖片,準確率嘛,有點玄學。
圖片還可以吧。Python資源分享Q群:855408893 內有安裝包,學習視訊資料,免費直播實戰案例。這裡是Python學習者的聚集地,零基
礎,進階,都歡迎點選【Python資源分享】
3 說明
識別是不是色色的圖片的有依據的,根據給出的資訊來看,是面板暴露的百分比來判斷的,暴露的比例大於 15% 就判斷為色色的圖片。這裡只