Java 镜头框,屏幕闪光灯的一部分
我对代码有问题。我有人脸检测和嘴巴矫正,我想用嘴巴缩放这部分,。工作正常,但屏幕一直在闪烁。救命啊Java 镜头框,屏幕闪光灯的一部分,java,android,opencv,Java,Android,Opencv,我对代码有问题。我有人脸检测和嘴巴矫正,我想用嘴巴缩放这部分,。工作正常,但屏幕一直在闪烁。救命啊 public Mat onCameraFrame(CvCameraViewFrame inputFrame){ mRgba = inputFrame.rgba(); mGray = inputFrame.gray(); if (zoomWindow == null) zoomWindowCreate(); if (mAbsoluteFaceSize == 0)
public Mat onCameraFrame(CvCameraViewFrame inputFrame){
mRgba = inputFrame.rgba();
mGray = inputFrame.gray();
if (zoomWindow == null) zoomWindowCreate();
if (mAbsoluteFaceSize == 0)
{
int height = mGray.rows();
if (Math.round(height * mRelativeFaceSize) > 0)mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize);
}
MatOfRect faces = new MatOfRect();
if (mJavaDetector != null)
mJavaDetector.detectMultiScale(mGray, faces, 1.1, 2, 2, new Size(mAbsoluteFaceSize*2, mAbsoluteFaceSize), new Size());
Rect[] facesArray = faces.toArray();
for (int i = 0; i < facesArray.length; i++)
{
Core.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(),FACE_RECT_COLOR, 3);
Rect r = facesArray[i];
mouth = new Rect(r .x + r.width / 4,(int) (r.y + (r.height / 1.7)),(r.width - 2 * r.width / 4) , (int) (r.height / 3.5));
Core.rectangle(mRgba, mouth.tl(), mouth.br(), new Scalar(255, 0, 0, 255), 2);
Imgproc.resize(mRgba.submat(mouth), zoomWindow,zoomWindow.size());
}
return mRgba;
}
public void zoomWindowCreate()
{
if (mGray.empty())return;
int rows = mGray.rows();
int cols = mGray.cols();
zoomWindow = mRgba.submat(rows / 2 + rows / 4, rows, cols / 2 + cols / 5, cols); }
应该是
zoomWindowCreate();
通过闪烁,我的意思是这样的:通过删除该部分解决问题:
if (zoomWindow == null)
从第行开始:
if (zoomWindow == null) zoomWindowCreate();
“闪现”意味着什么?如果你已经解决了问题,请自己回答(它可以让你得到更多的分数!),这样其他人可以更快地找到答案。
if (zoomWindow == null) zoomWindowCreate();