1. 程式人生 > >用 Python 鑑別色色的圖片

用 Python 鑑別色色的圖片

實話實說啊,這個標題起得就有點標題黨,識別是識別,準確率就有點玄學了。

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% 就判斷為色色的圖片。這裡只