I have an OAK-1 W camera successfully recording decent quality video. However, I'm trying to increase the quality of the image and having great difficulty. Even setting the camera resolution to 4k or higher, the image quality is not changing. If you zoom at all, the image looks blotchy, almost like it's been vectorized. I can only assume this is an artifact of compression.

I thought that maybe this was because video stream images are always compressed, but I tried two additional steps.

  1. I set the video type to MJPEG and setLossless to true.
  2. I tried taking still images using the cam.still.link(xout.input)

Neither appears to fix the issue of low quality images. I can get the image itself to be extremely big (as in >10MB per image), but the quality is still horrible for anything not directly in front of the camera. Looking at this thread, these images look very crisp so it seems like it must be possible and I'm just missing something.

Any ideas for things to try would be super useful. Thank you!

Hi @ChristianN
Let me know how it goes. setQuality() should also have an effect on the quality in addition to setLossless(). Is the quality only bad when encoding?

Thanks,
Jaka

    Hey jakaskerl, thanks for the response. I have not yet been able to capture (what looks to me at least) like a clear 4k image. A friend mentioned in might be an ISO issue, but I feel like I'm missing something more straightforward. It's also possible I'm just dramatically overestimating the quality of 4k images.

    Using the below code path should return me a full 4k color image, right?

    cam.setResolution(dai.ColorCameraProperties.SensorResolution.THE_4_K)
    ...
    cam.still.link(xout.input)
    ...
    q.get().getCvFrame()

    Hey @jakaskerl, unfortunately I haven't had time to look at image quality again this week as I've been busy with other higher priority issues. But i'll definitely have follow up questions when I get back to this, probably next week.