【问题标题】:Detect peak black pixel in an image (Android)?检测图像中的黑色峰值像素(Android)?
【发布时间】:2013-02-16 12:19:55
【问题描述】:

我目前正在从事心电图分析,为了使事情变得更容易,我认为检测峰值和计算峰值到峰值的距离可能会有很大帮助。如何检测图像中的第一个/峰值黑色像素?

【问题讨论】:

    标签: android loops signal-processing


    【解决方案1】:

    这就是你如何做到这一点的解决方案

    boolean pf=false,qf=false,rf=false,sf=false,tf=false;
        BitmapFactory.Options bitmapFatoryOptions=new BitmapFactory.Options();
        bitmapFatoryOptions.inPreferredConfig=Bitmap.Config.RGB_565;
        bmp =BitmapFactory.decodeResource(getResources(), R.drawable.test4,bitmapFatoryOptions);
        bmp = bmp.copy(bmp.getConfig(), true);
        int thresh = 150;
        for(int i=0;i<bmp.getWidth();i++){
            for(int j=0;j<bmp.getHeight();j++){
                int pixel = bmp.getPixel(i, j);
                int red = Color.green(pixel);
                int green = Color.red(pixel);
                int blue = Color.blue(pixel);
                if(red<thresh&&green<thresh&&blue<thresh){
                    if((oldj>=j||p.x==0)&&!pf){
                        p.x=i;
                        p.y=j;
    
                    }
                    else{
                        pf=true;
                        //Toast.makeText(getApplicationContext(), "told="+oldj, Toast.LENGTH_SHORT).show();
    
                    if(pf&&!qf&&(oldj<=j||q.x==0)){
                        q.x=i;
                        q.y=j;
                        //Toast.makeText(getApplicationContext(), "old="+oldj, Toast.LENGTH_SHORT).show();
                    }
                    else{
                        qf=true;
                        if(!rf&&(oldj>=j||r.x==0)){
                            r.x=i;
                            r.y=j;
                        }
                        else{
                            rf=true;
                            if(!sf&&(oldj<=j||s.x==0)){
                                s.x=i;
                                s.y=j;
                            }
                            else{
                                sf=true;
                                if(!tf&&(oldj>=j||t.x==0)){
                                    t.x=i;
                                    t.y=j;
                                }
                                else{
                                    tf=true;
                                }
                            }
                        }
                    }
                    }
                    oldj=j;
                    oldi=i;
                    break;
                }
            }
        }
        paint(p,bmp);
        paint(q,bmp);
        paint(r,bmp);
        paint(s,bmp);
        paint(t,bmp);
    
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      相关资源
      最近更新 更多