У меня возникли проблемы с быстрым доступом к массиву без знака.
Я хочу скопировать массив кодированных изображений BGRABGRA .... BGRABGRA .... и аналогично в OpenCV-версию, которая использует трислои.Приведенный ниже код работает нормально, но очень медленно (около 0,5 секунды для изображения 640 * 480).Я указал, что оператор разыменования * делает это медленно.Есть ли у вас план, как это исправить?(Подсказка: BYTE - беззнаковый символ)
// run thorugh all pixels and copy image data
for (int y = 0; y<imHeight; y++){
BYTE* pLine= vrIm->mp_buffer + y * vrIm->m_pitch;
for (int x = 0; x<imWidth; x++){
BYTE* b= pLine++; // fast pointer operation
BYTE* g= pLine++;
BYTE* r= pLine++;
BYTE* a= pLine++; // (alpha)
BYTE bc = *b; // this is really slow!
BYTE gc = *g; // this is really slow!
BYTE rc = *r; // this is really slow!
}
}
Спасибо!