为了账号安全,请及时绑定邮箱和手机立即绑定

使用Frame Mat OpenCV Java检测颜色的有效方法

使用Frame Mat OpenCV Java检测颜色的有效方法

墨色风雨 2021-04-09 14:15:28
为了计算给定帧的平均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次。(这是在后台线程中完成的)有谁知道更有效的方法来做到这一点?
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

mean() 返回每个通道的平均值,并且应比您的代码更快。


查看完整回答
反对 回复 2021-04-21
  • 1 回答
  • 0 关注
  • 271 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信