這是拋出一個錯誤代碼:誤差inputFrame.gray()OpenCV的機器人
@Override
public Mat onCameraFrame(Mat inputFrame) {
mrgb=inputFrame.gray();
return mrgb;
}
return inputFrame.gray(); gray() can not resolve in OpenCv android
這是拋出一個錯誤代碼:誤差inputFrame.gray()OpenCV的機器人
@Override
public Mat onCameraFrame(Mat inputFrame) {
mrgb=inputFrame.gray();
return mrgb;
}
return inputFrame.gray(); gray() can not resolve in OpenCv android
我不知道OpenCV的機器人,但通常會
@Override public Mat onCameraFrame(Mat inputFrame){
Mat gray;
cvtColor(inputFrame, gray, COLOR_BGR2GRAY);
return gray;
}
在類Mat
中沒有這樣的方法gray()
。如果您想將圖像轉換爲灰度,使用下面的代碼:
Imgproc.cvtColor(src, dest, Imgproc.COLOR_BGR2GRAY);
inputFrame
不是Mat
。它必須是CvCameraViewFrame inputFrame
。所以它應該是:
public Mat onCameraFrame(CvCameraViewFrame inputFrame)
它取決於OpenCV版本。在OpenCV 3.X中'onCameraFrame()'有'Mat'參數:['public Mat onCameraFrame(Mat inputFrame);'](http://docs.opencv.org/java/3.1.0/) –
@AndriiOmelchenko It似乎它有兩個:[CvCameraViewListener](http://docs.opencv.org/java/3.1.0/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html#onCameraFrame-org.opencv.core.Mat-)有'mat inputFrame'。但[CvCameraViewListener2](http://docs.opencv.org/java/3.1.0/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html#onCameraFrame-org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame-)有'CameraBridgeViewBase。 CvCameraViewFrame inputFrame'。但'inputFrame.gray()'是第二個的一部分。 – ROAR
:)你是對的:但問題是關於在'public Mat onCameraFrame(Mat inputFrame)'中使用'inputFrame.gray()',所以'Imgproc.cvtColor(src,dest,Imgproc.COLOR_BGR2GRAY);'而不是'。灰色()'是答案。 –