本文實例講述了python用10行代碼實現對黃色圖片的檢測功能。分享給大家供大家參考。具體如下:
原理:將圖片轉換為YCbCr模式,在圖片中尋找圖片色值像素,如果在皮膚色值內的像素面積超過整個畫面的1/3,就認為是黃色圖片。
申明:簡單場景還是夠用了,稍微復雜一點就不準確了,例如:整幅畫面是人的頭像,皮膚色值的像素必然超過50%,被誤認為黃色圖片就太武斷了。
需要安裝python圖片庫PIL支持
porn_detect.py如下:
import sys,PIL.Image as Imageimg = Image.open(sys.argv[1]).convert('YCbCr')w, h = img.sizedata = img.getdata()cnt = 0for i, ycbcr in enumerate(data): y, cb, cr = ycbcr if 86 <= cb <= 117 and 140 <= cr <= 168: cnt += 1print '%s %s a porn image.'%(sys.argv[1], 'is' if cnt > w * h * 0.3 else 'is not')運行:
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答
圖片精選