It’s the final push before time is up. I have not managed to do nearly as much as I wanted to. I haven’t touched searching at all, my comparison is unsatisfying, and it’s only 3 days left. I have come across one of the core problems, the contour detection.
In simple pictures it work fine, in more complex it does not.
First picture it looks great. I get a good contour of the picture and it’s EXACTLY what I want. Second picture is more tricky because of its weird colours. The contours get a bit messy, but the outer contour is still good so it’s still usable for comparison.
Third picture show the real problem. While it might look decent, 4th and 5th picture shows what really is going on in the picture. It’s not one big contour, but several small that looks connected, but if you look contour for contour you see they are not one big. This makes it completely unusable for shape comparison. To fix this I would need to use better parameters for contour detection OR make my own. If I was to improve my parameters I would have to do it smart someway so it tests several options and goes for the best one. This would be very expensive since my code is everything but perfectly efficient.
I have also done some look into values of the invariants(Thanks Dr Johannes for helping me out with that) and they seem to be bigger the more complex the figure is. The numbers vary quite a bit and noise/imperfect contours generally messes up any chance of getting a proper comparison done. Because the level of noise/bad contours the invariants generally just work so so.
I have yet started with colour comparison considering it’s only 3 days to third milestone I am not sure if I start with that before it. I might do, but I also might just improve my GUI for easier doing debugging and showing off the program, and adding different kinds of visual things, so it’s possible to show what happens during different steps of the program.
Fourier gave me tons of trouble, OpenCV gives me no debug info at all if something goes wrong. If the picture is in the wrong format, is too big, too small, have weird name, transparency the wrong way, uses wrong type of colours or anything else like that, it crashes. It gives an assertion and a memory location, but nothing else. Nothing to see in calls tack, nothing to step through to. Just a crash with no info at all. It’s extremely frustrating, and since I know so very little about the fouriers, I get that quite a bit, I have to guess what I am doing wrong. I have managed to get out a fourier picture, but I don’t know if it’s in the right format to work with or anything like that. I am unsure if I will do anything fancy with my fourier, or if I just focus on get something fast and easy done with colours and then work more on showing off what I have.
So many problems, so little time.