BlinkID / blinkid-android

Everything you need to add AI-driven ID scanning into your native Android app.
https://microblink.com/identity/identity-document-scanning/
438 stars 153 forks source link

Error autofocus #237

Closed JacintaSantos closed 1 year ago

JacintaSantos commented 3 years ago

I am using blinkIDRecognizer for citizen card data extraction. The webcam I am using is the following: Logitech hd pro webcam c920. This webcam has autofocus however when I try to use it in my application an error appears saying that this feature is not supported on camera without autofocus.

What will be the problem?

BlinkID version: 5.8.0

Device model: p212_9377

Device Android version: 7.1.2

Device ABI (processor architecture, e.g. ARMv7): arm64-v8a

mparadina commented 3 years ago

Hello @JacintaSantos

Thank you for waiting for our response.

You should check if the external camera actually triggers when you start the scanning process.

Within the SDK, there is a method from which you can modify the camera settings, called CameraSettings​. From these settings, you can change the CameraType​. You can choose between three options: CAMERA_BACKFACE, CAMERA_FRONTFACE, CAMERA_DEFAULT​.

When you've modified the CameraSettings, you can pass them in the UISettings, which in this case refers to the BlinkID overlay.

Try checking between these three camera types to see if the external camera is activated in one of them.

Sample code would be:

...
CameraSettings cameraSettings = new CameraSettings.Builder()
        .setType(CameraType.CAMERA_FRONTFACE)
        .build();

BlinkIdUISettings uiSettings = new BlinkIdUISettings(recognizerBundle);
uiSettings.setCameraSettings(cameraSettings);
...

Let me know if this helped.

Regards, Milan

JacintaSantos commented 3 years ago

We've already tried all three options and still don't recognize the webcam. Just to confirm, where should I put the sample code?

Thanks a lot!

mparadina commented 3 years ago

Hi @JacintaSantos

If you are using the sample application, you can see that we are setting the UISettings on the onScanButtonClick.

Link to what I am referring to (from the aMinimalSample sample): https://github.com/BlinkID/blinkid-android/blob/master/BlinkIDSample/BlinkID-aMinimalSample/src/main/java/com/microblink/blinkid/MainActivity.java#L35

You should place the CameraSettings there as well.

Were you putting the Settings variable there already?

Regards, Milan

techboycr commented 3 years ago

I am having the same issue with the exact same camera.

Is there further information regarding this topic??

mparadina commented 3 years ago

Hi @techboycr

Just to confirm, you've already tried modifying the cameraSettings and setting the camera type to FRONT/BACK/DEFAULT to check if the SDK did detect the camera?

Also to add, there is the second option with which you can use our Direct API method of scanning, where you can directly send frames that are taken with the camera for information extraction.

Also, I can suggest trying out the CameraX Jetpack library: https://developer.android.com/training/camerax

Regards, Milan

arinobade commented 2 years ago

Hi, i have a same problem when i build the BlinkId with android emulator in android Studio. BlinkId does not know my computer camera

anjapenic commented 2 years ago

Hi @arinobade,

We strongly suggest using a device to build the app on instead of the emulator, since the SDK requires a mobile device with a camera with autofocus.

Best regards,

Anja

krizaa commented 1 year ago

This issue was closed because it has been inactive for such a long time. If the issue persists, please open a new one.