Lots of people have complained about cv::matchTemplate () because it is not a rotation invariant function, which means it is not practical.
Therefore, I improved and combined this function with a search strategy, and create a project.Also, this project passed some cases in real world assembly lines.
If you think my project useful and practical, give me a star on github
Current Status:
I am doing researching on scale invariant version, perhaps next month can get a positive result.
If you have any test data that can verify scale issue, please contact me.
all I can tell from the code is that it tries matchTemplate on a number of rotated versions of the template. that shouldn’t be fast at all, considering a single matchTemplate call on any usefully large image takes a while.
and please stop posting that stuff to every thread you can find.
what does the code even do with the pyramid? speed up the whole process by reducing possible searching area
on a number of rotated versions of the template. not the rotated templates but the rotated source, which is the key element of this method
that shouldn’t be fast at all, considering a single matchTemplate call on any usefully large image takes a while. I just don’t get it. I made some tests in comparison with commercial image processing libraries, and the results demonstrated its speed. Of course, this method will become slow when image size increases
@den8017981 Could you explain about this formular:
double dAngleStep = atan (2.0 / max (pTemplData->vecPyramid[iTopLayer].cols, pTemplData->vecPyramid[iTopLayer].rows)) * R2D;