为了计算给定帧的平均rgb颜色,我对每个循环使用以下内容以获得平均颜色。 for (int i = 0; i < pFrame.cols(); i++) { for (int j = 0; j < pFrame.rows(); j++) { int pixel_rgb_avg = ((int)(pFrame.get(i, j)[0] + pFrame.get(i, j)[1] + pFrame.get(i, j)[2]) / 3); r_curr += pFrame.get(i, j)[0]; g_curr += pFrame.get(i, j)[1]; b_curr += pFrame.get(i, j)[2]; counter_curr += 1; } } r_curr = r_curr/ counter_curr; g_curr = g_curr/ counter_curr; b_curr = b_curr/ counter_curr;这可以正常工作,但是必须实时完成此任务。根据matsize的不同,可能需要很长时间才能完成此过程,这可能是由于get()方法引起的,该方法每次迭代均被调用3次。(这是在后台线程中完成的)有谁知道更有效的方法来做到这一点?
添加回答
举报
0/150
提交
取消