符号なし文字配列への高速アクセスに問題があります。
BGRABGRA....BGRABGRA.... 行ごとにコード化された画像配列を、3 つのレイヤーを使用する OpenCV バージョンに実際にコピーしたいと考えています。以下のコードは正常に動作しますが、非常に遅いです (640*480 の画像で約 0.5 秒)。逆参照演算子 * を使用すると速度が低下することを指摘しました。これを修正する方法はありますか?(ヒント: BYTE は unsigned char です)
// 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!
}
}
ありがとう!