android手指个数识别项目

本文介绍了Android上实现手指识别的详细步骤,包括利用图片或相机获取图像、高斯模糊处理、肤色检测、寻找手部轮廓以及判断指尖。主要代码涉及肤色提取、图像处理和轮廓分析,最终用于识别手指数量。
摘要由CSDN通过智能技术生成

结果展示:

       

主要思路:

1.利用照片或相机获取照片

2.对照片进行高斯处理org.opencv.imgproc.Imgproc.GaussianBlur

3.进行肤色处理private void skinExtract

4.寻找手轮廓Imgproc.findContours

5.通过矢量叉乘与点乘判断指尖  (也可以根据重心)


主要代码:

肤色识别:

privatevoidskinExtract(Mat frame, Mat skinArea) {

        // TODOAuto-generated method stub

        MatYCbCr = new Mat(); 

       // Vector<Mat> planes =new  Vector<Mat>();

       

        //转换为YCrCb颜色空间   

        Imgproc.cvtColor(frame, YCbCr,Imgproc.COLOR_RGB2YCrCb);   

        //将多通道图像分离为多个单通道图像   

       //org.opencv.core.Core.split(YCbCr, planes);    

        doublebuf1[]=newdouble[3];

        double buf2[]=newdouble[3];

        doublebuf3[]={255,255,255};

        doublebuf4[]={0,0,0};

        for(inti=0;i<YCbCr.rows();i++){

        for(intj=0;j<YCbCr.cols();j++){

             buf1=YCbCr.get(i,j);

             if(buf1[1]>=133&& buf1[1]<=173 && 77<=buf1[2] && buf1[2]<=127)

                 skinArea.put(i,j, buf3);

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值