Недавно я взял некоторый код, который отслеживает объект на основе цвета в OpenCV c ++ и переписал его в привязках Python.
Общие результаты и метод были, очевидно, без синтаксиса.Но когда я выполняю приведенный ниже код для каждого кадра видео, требуется почти 2-3 секунды для завершения, тогда как вариант c ++, также приведенный ниже, является мгновенным по сравнению, и я могу перебирать кадры так же быстро, как мой палец может нажатьключ.
Есть идеи или комментарии?
cv.PyrDown(img, dsimg)
for i in range( 0, dsimg.height ):
for j in range( 0, dsimg.width):
if dsimg[i,j][1] > ( _RED_DIFF + dsimg[i,j][2] ) and dsimg[i,j][1] > ( _BLU_DIFF + dsimg[i,j][0] ):
res[i,j] = 255
else:
res[i,j] = 0
for( int i =0; i < (height); i++ )
{
for( int j = 0; j < (width); j++ )
{
if( ( (data[i * step + j * channels + 1]) > (RED_DIFF + data[i * step + j * channels + 2]) ) &&
( (data[i * step + j * channels + 1]) > (BLU_DIFF + data[i * step + j * channels]) ) )
data_r[i *step_r + j * channels_r] = 255;
else
data_r[i * step_r + j * channels_r] = 0;
}
}
Спасибо