Basic knowledge regarding project with OpenMV cam H7 plus

To whom it may concern:

I recently bought an OpenMV cam H7 plus, to do my school project. The project consists on using image recognition to differentiate billiard balls (solid and striped). Before buying the board, considering most of the functions in Python can be used in Micropyhon, I programmed everything in python (using opencv). But the problem I am having now is that from what I understand, the board does not use opencv as it’s image recognition software, and so most of my code can’t be understood by the board. Therefore, my question is: is there some sort of Manual or book for beginners? If not, may I contact someone for pointers? Also, is there some online platform in which you can run your code before implementing it on your board? Like a testbench generator or somehitng…

Best regards

Miguel Garcia

Hey Miguel, I afraid that you will need to code the whole thing again in OpenMV as Python3 and MicroPython are not the same thing. They may have the same syntax but their technicality underneath is quite different when compared.

But don’t worry using the OpenMV is same as using Arduino UNO board. And you can find all the documentations on itself.

And there still is no simulation based platform for OpenMV yet but you can find a simulator for MicroPython and pyBoard.

Don’t be afraid to play with the hardware, max damage you can do with code is to brick the device, which you can easily unbrick using the OpenMV ide itself.

The big difference between OpenCV and OpenMV is the coupling of technology and memory allocation.

So, on the OpenMV Cam we have a lot of fused algorithms that perform what OpenCV might do but in less steps. This can make us less flexible but it reduces the required memory dramatically.

Thanks a lot for the reply!! I will definitely look into the documentation you mentioned.

Thanks for your reply as well Mr. Agyeman.
Do you have any recomendation regarding the calculation of the striped area? My thought was using blob.area() as a replacement of OpenCV’s cv2.contourArea(contours2[0]).

Yeah, generally that should work. However, it’s much more of a rough calculation since we just return a rect.

Mmm and do you suggest any other function that would return the actual area of the contour I am looking for?

We don’t really support that.

However, if the object is thresholded and is one pixel type then you can just use the pixels() method on a blob which returns the number of pixels detected which is the same number.

Ohh okk, understood. Thanks a lot!
Have a nice day!
Miguel Garcia