面倒だったわ。。。
いろいろ記事を確認したからできた。本当ありがたい。俺も残す。
このコードを動かしたかった。
肌色チェッカー(意味深)したかったのだが、動かない。
- isFleshColor.py
#!/usr/local/bin/python import os, glob import urllib, urllib2 from PIL import Image def get_skin_ratio(im): im = im.crop((int(im.size[0]*0.2), int(im.size[1]*0.2), im.size[0]-int(im.size[0]*0.2), im.size[1]-int(im.size[1]*0.2))) skin = sum([count for count, rgb in im.getcolors(im.size[0]*im.size[1]) if rgb[0]>60 and rgb[1]<(rgb[0]*0.85) and rgb[2]<(rgb[0]*0.7) and rgb[1]>(rgb[0]*0.4) and rgb[2]>(rgb[0]*0.2)]) return float(skin)/float(im.size[0]*im.size[1]) def main(): image_file = './ipz00627jp-5.jpg' # 任意の画像をチェックするように修正しています skin_percent = get_skin_ratio(Image.open(image_file)) * 100 if skin_percent>30: print "PORN {0} has {1:.0f}% skin".format(image_file, skin_percent) else: print "CLEAN {0} has {1:.0f}% skin".format(image_file, skin_percent) if __name__ == '__main__': main()
$ python isFleshColor.py Traceback (most recent call last): File "isFleshColor.py", line 4, in <module> from PIL import Image ImportError: No module named PIL
どうやらPIL
というモジュールが入っていないよう。それではインストールする。
「pip」をインストールする
$ sudo easy_install pip
これでいけたお(^q^)
「PLI」をインストールする
親切なQiitaさんにメモがあったお
$ sudo pip install PIL --allow-external PIL --allow-unverified PIL $ ln -s /usr/local/include/freetype2 /usr/local/include/freetype
実行してみる
$ python isFleshColor.py Traceback (most recent call last): File "isFleshColor.py", line 20, in <module> main() File "isFleshColor.py", line 13, in main skin_percent = get_skin_ratio(Image.open(image_file)) * 100 File "isFleshColor.py", line 7, in get_skin_ratio im = im.crop((int(im.size[0]*0.2), int(im.size[1]*0.2), im.size[0]-int(im.size[0]*0.2), im.size[1]-int(im.size[1]*0.2))) File "/Library/Python/2.7/site-packages/PIL/Image.py", line 763, in crop self.load() File "/Library/Python/2.7/site-packages/PIL/ImageFile.py", line 189, in load d = Image._getdecoder(self.mode, d, a, self.decoderconfig) File "/Library/Python/2.7/site-packages/PIL/Image.py", line 385, in _getdecoder raise IOError("decoder %s not available" % decoder_name) IOError: decoder jpeg not available
うごかないお^q^
モジュールが足りてない?の記事を見つける
$ brew install libjpeg
そして、PIL
を再インストール
# uninstall $ sudo pip uninstall pil # install $ sudo pip install PIL --allow-external PIL --allow-unverified PIL
再度実行
$ python isFleshColor.py
PORN ./ipz00627jp-5.jpg has 67% skin
うまくいきましたとさ。