我试图通过制作cv::absdiff
absdiff(rgbvs[i], bgs[i], diffs[i]);
问题是Android相机会自动调整亮度,曝光或其他东西,因此即使亮度变化很小,也会产生巨大的瑕疵:
我正在使用默认的Android相机api:import android.hardware.Camera;
和onPreviewFrame
进行处理。
我已经尝试了下一步以防止自动调整,但它们没有效果 - 亮度仍会根据场景而改变:
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("whitebalance", "shade");
parameters.set("iso", "ISO800");
parameters.set("auto-exposure", "frame-average");
parameters.set("brightness-step", "0");
parameters.set("lensshade", "disable");
if(parameters.isAutoExposureLockSupported()) {
parameters.setAutoExposureLock(true);
}
if(parameters.isAutoWhiteBalanceLockSupported()) {
parameters.setAutoWhiteBalanceLock(true);
}
parameters.setPreviewSize(640, 480);
mCamera.setParameters(parameters);