关于人脸识别的实例

package cliu.TutorialOnFaceDetect;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.ImageView;
class MyImageView extends ImageView {
private Bitmap mBitmap;
private Canvas mCanvas;
private int mBitmapWidth = 200;
private int mBitmapHeight = 200;
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private int mDisplayStyle = 0;
private int [] mPX = null;
private int [] mPY = null;
public MyImageView(Context c) {
super(c);
init();
}
public MyImageView(Context c, AttributeSet attrs) {
super(c, attrs);
init();
}
private void init() {
mBitmap = Bitmap.createBitmap(mBitmapWidth, mBitmapHeight, Bitmap.Config.RGB_565);
mCanvas = new Canvas(mBitmap);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setColor(0x80ff0000);
mPaint.setStrokeWidth(3);
}
public Bitmap getBitmap() {
return mBitmap;
}
@Override
public void setImageBitmap(Bitmap bm) {
if (bm != null) {
mBitmapWidth = bm.getWidth();
mBitmapHeight = bm.getHeight();
mBitmap = Bitmap.createBitmap(mBitmapWidth, mBitmapHeight, Bitmap.Config.RGB_565);
mCanvas = new Canvas();
mCanvas.setBitmap(mBitmap);
mCanvas.drawBitmap(bm, 0, 0, null);
}
super.setImageBitmap(bm);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mBitmapWidth = (mBitmap != null) ? mBitmap.getWidth() : 0;
mBitmapHeight = (mBitmap != null) ? mBitmap.getHeight() : 0;
if (mBitmapWidth == w && mBitmapHeight == h) {
return;
}
if (mBitmapWidth < w) mBitmapWidth = w;
if (mBitmapHeight < h) mBitmapHeight = h;
}
// set up detected face features for display
public void setDisplayPoints(int [] xx, int [] yy, int total, int style) {
mDisplayStyle = style;
mPX = null;
mPY = null;
if (xx != null && yy != null && total > 0) {
mPX = new int[total];
mPY = new int[total];
for (int i = 0; i < total; i ) {
mPX[i] = xx[i];
mPY[i] = yy[i];
}
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mBitmap != null) {
canvas.drawBitmap(mBitmap, 0, 0, null);
if (mPX != null && mPY != null) {
for (int i = 0; i < mPX.length; i ) {
if (mDisplayStyle == 1) {
canvas.drawCircle(mPX[i], mPY[i], 10.0f, mPaint);
} else {
canvas.drawRect(mPX[i] - 20, mPY[i] - 20, mPX[i] 20, mPY[i] 20, mPaint);
}
}
}
}
}
}
资源文件列表
╚╦┴│╝∞▓ΓAPIsample/.classpath , 364
╚╦┴│╝∞▓ΓAPIsample/.project , 856
╚╦┴│╝∞▓ΓAPIsample/AndroidManifest.xml , 1098
╚╦┴│╝∞▓ΓAPIsample/bin/classes.dex , 9720
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/MyImageView.class , 3548
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/R$attr.class , 361
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/R$drawable.class , 508
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/R$layout.class , 415
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/R$string.class , 448
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/R.class , 531
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect$1.class , 945
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect$2.class , 1404
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect.class , 4715
╚╦┴│╝∞▓ΓAPIsample/bin/classes/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect1.class , 3497
╚╦┴│╝∞▓ΓAPIsample/bin/resources.ap_ , 119015
╚╦┴│╝∞▓ΓAPIsample/bin/res/drawable-nodpi/face1.png , 22193
╚╦┴│╝∞▓ΓAPIsample/bin/res/drawable-nodpi/face2.png , 20729
╚╦┴│╝∞▓ΓAPIsample/bin/res/drawable-nodpi/face3.png , 68898
╚╦┴│╝∞▓ΓAPIsample/bin/res/drawable-nodpi/icon.png , 3966
╚╦┴│╝∞▓ΓAPIsample/bin/TutorialOnFaceDetect.apk , 125735
╚╦┴│╝∞▓ΓAPIsample/gen/cliu/TutorialOnFaceDetect/R.java , 800
╚╦┴│╝∞▓ΓAPIsample/proguard.cfg , 1248
╚╦┴│╝∞▓ΓAPIsample/project.properties , 360
╚╦┴│╝∞▓ΓAPIsample/res/drawable-nodpi/face1.png , 32856
╚╦┴│╝∞▓ΓAPIsample/res/drawable-nodpi/face2.png , 42565
╚╦┴│╝∞▓ΓAPIsample/res/drawable-nodpi/face3.png , 116073
╚╦┴│╝∞▓ΓAPIsample/res/drawable-nodpi/icon.png , 4147
╚╦┴│╝∞▓ΓAPIsample/res/layout/main.xml , 398
╚╦┴│╝∞▓ΓAPIsample/res/values/strings.xml , 198
╚╦┴│╝∞▓ΓAPIsample/src/cliu/TutorialOnFaceDetect/MyImageView.java , 3162
╚╦┴│╝∞▓ΓAPIsample/src/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect.java , 4061
╚╦┴│╝∞▓ΓAPIsample/src/cliu/TutorialOnFaceDetect/TutorialOnFaceDetect1.java , 2270
