ビデオフレームに次のコードを使用して、マトリックス値をある範囲で設定しています:
for ( int row = 0, i = 0; row < srcMat.rows; ++row, i ++ )
{
uchar* p = medianMat.ptr ( row );
for ( int col = 0, j = 0; col < srcMat.cols; ++ col, j ++ )
{
dstMat ( cv::Range::all(), cv::Range ( i * 5 +1, i * 5 + 4 )).setTo ( *p );
data++;
}
}
*p を dstMat の 3 つの連続する値にコピーし、それらの前後にゼロ スペースを 1 つ残す必要があります。つまり、私の dstMat がすべてゼロで、*p 値が「1,2,3」の場合、私の目標は dstMat を「01110 02220 03330」などのようにすることです。ここでの問題は、1 フレームに約 70 から 80 ミリ秒を使用することです。これは私の場合には遅すぎます。1 フレームにせいぜい 30 ミリ秒しかかかりません。これを行うためのより効率的な方法はありますか? さらに、「dstMat " 値は "for" ループの外ではすべてゼロです。何かアイデアはありますか?どうもありがとうございました。