如何在Android上使用蒙版照相机opencv

问题描述:

我在使用Core.inRange获取蒙版后,通过使用Core.inRange检测蓝色,即imgThresholded当我把bitwise_and显示为重叠帧时,我怎样才能得到只有一个框架? ​​如何在Android上使用蒙版照相机opencv

这里是我的代码:

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {  

    Imgproc.cvtColor(inputFrame.rgba(),imgHSV,Imgproc.COLOR_RGB2HSV); 
      Core.inRange(imgHSV,new Scalar(100, 100, 100), new Scalar(120, 255, 
      255),imgThresholded); // Blue Color 
    Core.bitwise_and(inputFrame.rgba(),inputFrame.rgba(),tempImg,imgThresholded); 
     return tempImg; 
} 

看来,那是因为你没有明确tempImgMat和使用“旧”的内容很多次。尝试将tempImg.setTo(new Scalar(0,0,0,255))添加到onCameraFrame()。类似的东西:

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {  

    tempImg.setTo(new Scalar(0,0,0,255)); 

    Imgproc.cvtColor(inputFrame.rgba(),imgHSV,Imgproc.COLOR_RGB2HSV); 
      Core.inRange(imgHSV,new Scalar(100, 100, 100), new Scalar(120, 255, 
      255),imgThresholded); // Blue Color 
    Core.bitwise_and(inputFrame.rgba(),inputFrame.rgba(),tempImg,imgThresholded); 
     return tempImg; 
}