Hello :)
First of all, I'm new to computer vision and FastCV. For my study I have to build a small car which can detect a wooden cube on the floor, then pick it up and transport it to a predefined place. This is how I think to do it:
Preparation
- I've done some pictures of the scene with a cube in it.
- Now I've created an App to load the Images from the phone gallery and do FAST corner detection.
- when the FAST corner detection has finished I would like to extract a 17x17px patch at the given corner points
- with this patches then I would create a set of valid Descriptors
- the generated valid Descriptors then would be saved persistent.
Usage
- While the car is driving I would apply FAST Corner detection (similar to the FastCV Sample App)
- then I would do with each corner the same as in step 3 and 4 of the above list
- for finish I would compare the Descriptors with those which I've saved in the DB.
- If there are at least 3 or 4 matching descriptors the cube was found.
What do you think about this concept?
My main problem for now ist that I don't really know how to use the 'fcvCornerFast9u8' and the 'fcvDescriptor17x17u8To36s8' functions. I tried to just change the FastCV Sample App to meet my needs, but everytime I call the fcvCornerFast9u8 function, the numCorners have the same value as the MAX_CORNER constant. I think this is because the byte array was not aligned correctly. Could you share some snippet/sample on how to use this functions?
Thank you all very much in advance! :)
Steve
Your approach seems fine but you should better use openCV.
You can find many code samples and forum on the internet.
IMHO, due to the lack of documentation and code samples, FastCV is not a good starting point for someone who is new in the field of computer vision.
Cyril
Hey cyril thank you for your reply :)
I'll follow your advice and use OpenCV for my first prototype. But it really would be nice to use FastCV, because I noticed in my first tests, that FastCV is much more precise detecting corners and a bit faster than OpenCV.
In my opinion, the FeatureDetector from OpenCV is much more a "white-point-detector" :) It doesn't detect the corners as FastCV does in the example. But maybe it's my fault... As I said, I'm not very experienced :)
Again, thank you very much for your answer and good luck to you with your detector problem ;)
Sincerly, Steve.