У меня есть вопрос о функции Convolve в OpenCV с использованием ускорения GPU. Скорость сверток примерно 3,5 быстрее, используя GPUФункция свертки OpenCV и недостающая граница
при работе:
convolve(src_32F, kernel, cresult, false, cbuffer);
Однако границы изображения отсутствуют (в cresult)
Результат превосходен иначе, хотя (размер ядра 60x60)
благодарит
Hi; Есть ли какой-то метод того, что значения слегка перевернуты. Добавление вручную для меня не является выбором Например, при обработке изображения 320-240 я добавляю 30 к каждому размеру, и результат получается 321-241 (я вручную вычитал один из верхнего и правого. Что я имею в виду с помощью метода например, если келевая сторона четна, тогда исправить, если нечетное не (или что-то) –
Размер ядра должен быть нечетным, потому что он применяется симметрично влево и вправо: n значений влево, n вправо + центр. размер ядра должен быть (2n + 1). Если вы отправляете четное ядро (60/60), возможно, оно просто добавляет один столбец и одну строку в ядро, а также делает то же самое для изображения. – Sam
Но позвольте мне дать вы дружелюбный совет: прежде чем приступать к работе над оптимизацией CUDA и сложными задачами обработки изображений, пожалуйста, прочитайте, поймите и примените основы. Потому что вы не сможете идти вперед таким образом. Итак, google для 'wiki convolution' и читать это действительно, очень осторожно. – Sam