0

我正在研究android中的opencv。实际上我正在opencv中进行眼睛检测,并想实时改变眼睛的颜色。例如:通过前置摄像头检测眼睛瞳孔并改变瞳孔颜色。我在获取 Hue 频道时遇到问题。请帮助

 Mat eyeball_HSV = new Mat();
   Mat dest = new Mat();  
   Mat eye = new Mat();

   eye = mRgba.submat(eye_template).clone();

   List<Mat> hsv_channel = new ArrayList<Mat>();
    //convert image to HSV 
     // Imgproc.cvtColor(eye, eyeball_RGB, Imgproc.COLOR_RGBA2RGB, 3);
      Imgproc.cvtColor(eye, eyeball_HSV, Imgproc.COLOR_RGB2HSV, 0);
      //Core.inRange(eyeball_HSV, new Scalar(90, 50, 50), new Scalar(130, 255, 255), dest);
     // get HSV channel 
   //hsv_channel[0] is hue
   //hsv_channel[1] is saturation
   //hsv_channel[2] is visibility
      Core.split(eyeball_HSV, hsv_channel);

  try
  {
    hsv_channel.get(0).setTo(new Scalar(145));

    Log.v(TAG, "Got the Channel!");
  }
  catch(Exception ex)
  {
   ex.printStackTrace();
   Log.v(TAG, "Didn't get any channel");
  }

  Imgproc.cvtColor(eyeball_HSV, dest, Imgproc.COLOR_HSV2RGB);
  Imgproc.cvtColor(dest, eye, Imgproc.COLOR_RGB2RGBA);
4

0 回答 0