视频在传输过程中,由于编解码出现问题,会导致视频出现不同程度的损伤,其中就包括视频马赛克现象。马赛克对于视频的观看效果有着很大的影响,为了及时有效地发现视频中是否存在马赛克,这里基于视频图像进行图像马赛克检测,具体步骤如下。
以一幅图片为例,来说明马赛克检测所用方法,这里采用的图片如下所示:
可以发现,图片中人物脸部打了马赛克。针对这片区域的马赛克,看本算法是否能够有效识别。
首先,对上图进行Canny边缘检测,阈值分别取40和200,得到图像的检测结果。
观察上图,发现马赛克区域经过边缘检测后,出现了一堆方块状或类方块状的区域。这些区域大体可分为如下5种情况。
方块和类方块大体分为以上5种,分别为完备的正方形、分别缺一边的不完备正方形。为了统计上述边缘检测结果图中含有的这5类正方形,可以采取下述方式进行统计:
边长从3开始,逐次加1,到33截止(这里有待考究)。判断每个像素以这个边长能否组成正方形(5种情况,以下简称正方形)。如果能,这个边长的正方形数加1,如果不能继续遍历。
上述步骤有一个问题就是,怎样才算构成了正方形的判断准则?
1)整体判断法:以此边长遍历整个正方形区域,如果无缺失的像素/整个正方形的像素大于70%,认为这个正方形存在。这种方法的优点是判断准确,综合利用了正方形所有的像素,但缺点同样明显,运算速度极低;
2)八点判断法:选取正方形中的八个点来进行判断,如果选择的八个点都满足构成正方形条件,那么,认为此正方形存在。这种方法的优点是运算速度有所提升,但是准确率上存在不足;
3)四点判断法:选取正方形上的四个点位置进行判断,如果选择的四个