ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPで画像の肌色を検出する方法

PHPで画像の肌色を検出する方法を考えてみました。

Amazonの商品画像を掲載していて、ヌードや水着の写真などがあると、
Google Adsenseの規約違反に問われて、Google Adsenseの掲載が停止される場合があります。

まあ、そんな訳で、肌色の多い画像があったら、検出するプログラムが欲しいと思いました。

調べてみたけど、ストライクの方法が、ヒットしなくて、ライブラリを自作することになりそうです。
まだ、アイデアの段階だけど、備忘録としてメモ。

PHPの標準関数(GDライブラリ)で、何とかなるんじゃね?
PHP GD 画像 色 検出」 - Google検索

http://php.net/manual/ja/function.imagecolorat.php

imageで指定された画像上の 特定位置にあるピクセルの色のインデックスを返します。


http://d.hatena.ne.jp/mintsu123/20111123/1322065624

肌色検出ではRGBを使わずHSVやYIQ、YCbCrといった色空間を使うようだ。



rgb 肌色 検出」 - Google検索

http://bell.kuee.kyoto-u.ac.jp/~naruse/research/hsv.html

RGB→HSVの変換式
R,G,Bの強度を0~1とすると,-180°< H < -180°,0 < S < 2/3,0 < V < 3 とな る(*).
ほとんどの人間の肌の色は,Hが 6°~42°の範囲に収まる.



php rgb hsv 変換」 - Google検索

http://php-archive.net/php/rgb2hsv/

[PHP]RGBをHSV(HSB)に変換する
前回RGB値を元に類似画像を検索しましたが、やはり人間の感覚で言うとHSVを使って画像を検索したほうがより近い画像を得られると考え、下準備として RGB を HSV に変換するプログラムを作りました。




●肌色検出方法のアイデア
(1) 画像を走査して、各ピクセルのRGB値を取得する。
(2) RGB値をHSV値に変換する。
(3) 肌色(Hが 6°~42°)の割合で、肌色を検出する。
というかんじでOKかな?

PHPでOpenCVを利用する方法もあるみたいだが、ハードルが高そう!(面倒くさそう><)

先に作るべきものを作ってから、後で画像の色検出機能を作るべ。

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識
Gary Bradski / Adrian Kaehler
オライリージャパン
2009-08-24
¥ 4,968


Amazonの商品画像で、水着写真集をサンプルにしてテストしてみれば良いだろう。
↓Googleがダメ出しする画像は、こんなかんじのやつです。

りんデジタル写真集 [DVD]

¥ 4,104


りん

¥ 1,260


小池凛 - Wikipedia

小池 凛(こいけ りん、1993年2月11日 - )は東京都出身のグラビアアイドル。EBA所属。
Tバックなどの過激な衣装で活動している。



顔がアップになっているだけの写真でも、肌色の比率は高いだろう。
肌色の比率だけでは、顔なのか、水着(着エロ)なのか、の判定は難しいだろう。
そこは、人間の目視チェックが必要かな?
まあ、画像を拾い出す手間を省く程度には、使えるかな?
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/1173-c326b9d2
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。