sensor.ioctl(sensor.IOCTL_SET_READOUT_WINDOW, (0, 0, 640, 480)) with this command and my resolution is 640x480 it will still give me zoomed version of image as it should return original 640x480 image
how can i control these parameter according to my application and how can i control zoom parameter is there any solution for that
Hi, as it mentions for this IOCTL. It controls the readout of the actual camera sensor. Note that it only works well on the OV5640.
Note that when you change the camera readout window you effectively crop the image.
There’s no zoom parameter here. When you ask it for a image crop from the camera sensor array you get what you ask for.
Here’s the pipeline just to illustrate:
Camera Pixel Array [readout_window] → Camera Image Scaler [framesize] → MCU Crop [windowing]
So, from the readout window the camera will scale down to whatever you set in framesize and then that can be cropped via set_windowing() on the MCU.
is there any way of reading raw values and get only blue channel image
Yes, many functions support RGB channel extraction:
img.to_grayscale(rgb_channel=3)
image — machine vision — MicroPython 1.23 documentation (openmv.io)
can we code openmv h7 plus without using openmv ide? using python or C\C++
Yes, you can edit the firmware as you like. If you plan to do so though know that you should know what you are doing.
Is there any documentation or any guide for that?
There’s a Readme for how to compile the firmware on GitHub. If you have experience working with large code base projects then it’s straight forward to edit and debug the code.