Я пытаюсь понять функцию изменения размера из opencv 4.0, и когда я использую билинейный, я могу следовать коду, который происходит в resize.cpp hal :: resize, (modules / imgproc / src). Но когда я перехожу на бикубический, он не следует тому же потоку (даже код, имеющий условия для INTER_CUBIC). Я устанавливаю точки останова, используя gdb внутри hal :: resize, а для бикубических это не достигает точки останова.
Я пытаюсь выяснить, где выполняется код, какая часть выполняется.
когда я отлаживаю, я вижу данные для билинейных и lanczos, но не для бикубических! Но я предполагаю, что это может быть проблема с GDB, данные: Resize.cpp
для линейного: в конце hal :: resize.cpp: 3706
$1 = {0, 1, 2, 3, 4, 5, 9, 10, 11, 12}
(gdb) p yofs[0]@10
$2 = {0, 1, 3, 4, 6, 7, 9, 10, 12, 13}
(gdb) p ialpha[0]@10
$3 = {1536, 512, 1536, 512, 1536, 512, 512, 1536, 512, 1536}
(gdb) p ibeta[0]@10
$4 = {1536, 512, 512, 1536, 1536, 512, 512, 1536, 1536, 512}
(gdb)
for lanczos
(gdb) p xofs[0]@10
$5 = {0, 1, 2, 3, 4, 5, 9, 10, 11, 12}
(gdb) p yofs[0]@10
$6 = {0, 1, 3, 4, 6, 7, 9, 10, 12, 13}
(gdb) p ialpha[0]@10
$7 = {-31, 114, -312, 1830, 579, -188, 64, -8, -31, 114}
(gdb) p ibeta[0]@10
$8 = {-31, 114, -312, 1830, 579, -188, 64, -8, -8, 64}```