« HSPTV!メルマガ 第55号 | メイン | 【よみもの】もーりおのつぶやき 第24回 »

2008年01月10日

【講座】HSP3ワンポイントテクニック 第29回

このコーナーでは、HSP3の変わった使用例や、気付きにくい機能
などを紹介していきたいと思います。
またまた、HSP3.1から追加されたhspcvプラグインの機能から、
強力で面白い命令を紹介していきたいと思います。
今回は、hspcvサンプルにある、facedetect.hspを取り上げます。
これは、人の顔がある領域を判定するというもので、最近の
デジカメなどで採用されている高度な技術です。
下のサンプルでは、test.jpgという写真の中に、人間の顔がある
領域を赤い線で囲みます。複数の人がいれば、すべての領域を
示します。色々な写真(絵やぬいぐるみは検出されません)で
試してみると面白いと思います。
この機能は、画像の中にある特徴を抽出して、人の顔であるか
どうかを検出しています。cvloadxml命令により、あらかじめ
特徴を抽出してデータ化されているxmlファイルを読み込むことで、
様々なパターンに対応しています。
このxmlファイルも、OpenCVライブラリにより作成することが
できますが、まだhspcvではサポートされていません。

#include "hspcv.as"
cvload "test.jpg",0
cvgetimg 0,1
cvloadxml "haarcascade_frontalface_alt2.xml"
cvfacedetect 0
num=stat
color 255,0,0
title "Face Detect ("+num+")"
repeat num
cvgetface x,y,sx,sy
if stat : break
boxf x,y,x+sx,y+1
boxf x,y+sy,x+sx,y+sy+1
boxf x,y,x+1,y+sy
boxf x+sx,y,x+sx+1,y+sy
loop
stop

というわけで、hspcvは応用次第で色々な可能性を秘めています。
どのように活用するかは、皆さんのアイデア次第です。
ではでは、また。

(おにたま)

投稿者 usuaji : 2008年01月10日 21:55

口臭チェッカー市場