这段代码是用于检测图像中的白屏。首先,通过cv2.mean函数计算灰度图像的平均像素值mean。然后,将图像展平为一维数组flat_img,并使用np.bincount函数统计每个像素值在数组中出现的次数。接着,通过np.argmax函数找到出现次数最多的像素值的索引max_count_idx,并计算其出现次数的比例max_count_ratio。如果mean大于100或者(max_count_ratio大于0.98且mean大于250),则将该图像的文件名、mean和max_count_ratio添加到white_scr列表中,并将当前时间和mean添加到white_time_temp列表中。

接下来,如果white_time_temp列表的长度达到3,则将white_time_temp的第一个时间值格式化为字符串,并截取到毫秒级别,赋值给record_time变量。然后,判断white_time_temp列表的最后两个时间值是否不相等,并且最后两个时间值之间的时间差是否大于2秒。如果满足条件,则将record_time和最后两个时间值之间的时间差(以秒为单位)添加到white_time列表中,并将white_time_temp重置为空列表。如果不满足条件,则将white_time_temp重置为空列表。

最后,如果white_time_temp列表的长度不满足条件,则将white_time_temp重置为空列表

mean = cv2meangray_img0 flat_img = npravelimg # 计算每个像素值在数组中出现的次数 counts = npbincountflat_img # 找到出现次数最多的像素值 max_count_idx = npargmaxcounts

原文地址: https://www.cveoy.top/t/topic/hJcn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录