gpu::matchTemplate против cvMatchTemplate

Я реализовал программное обеспечение для поиска шаблона внутри изображения. С помощью cvMatchTemplate время выполнения составляет около 10 мс (потому что я беру шаблон 40x40 в окне поиска 120x160 пикселей. Изображение 640x480, поэтому я не рассматриваю все изображение).

Я реализовал тот же алгоритм с помощью gpu::MatchTemplate, и я ожидал улучшения времени выполнения. Это занимает 220 мс, чтобы вычислить счет.

что происходит?

Благодарю.

РЕДАКТИРОВАТЬ: я измерил время загрузки изображений, и для выполнения функции ".upload" требуется 1 мс, поскольку изображения уже распакованы.

Разве это не тот же алгоритм?

РЕДАКТИРОВАТЬ: я написал код, используя CUDA и мое собственное ядро: он выполняет FFT с использованием функций cuda на изображениях, и полное выполнение алгоритма составляет менее 2 мс с изображениями 1024x1024 и шаблоном 200x200. Я использовал thread_sync для измерения exec. время.

1 ответ

Я думаю, что это очень сильно зависит от вашей вычислительной мощности GPU, некоторые графические процессоры не могут работать лучше, чем процессорные. Посмотреть этот вопрос gpuvscpu

Другие вопросы по тегам