二维码是如何识别是不是截图的?

发布时间:
2024-07-26 04:15
阅读量:
26

提供一种离谱但可行的思路

如果用zxing实现识别的话,getResultPoints可以获取二维码的角坐标

如果是截图的,二维码大概率是横平竖直的,所以左上角和左下角x坐标一样,左上角和右上角y坐标一样

而摄像头扫码的话这种坐标完全横平竖直的情况极其罕见

如果怕误杀正好拍照横平竖直的巧合,那就再对二维码范围的原始图像列出所有颜色

截图出来的二维码列出所有颜色大概率只有底色和前景色两种精确的颜色,而摄像头拍摄的绝对不可能巧合到只有两种颜色,二维码范围内颜色数量小于10的全部判断为截图都不会有误杀的

如此两者结合,基本可以干掉所有截图,包括使用虚拟摄像头放截图

缺点是无法解决拍屏幕问题

解决拍屏幕的话可能还得引入深度学习检测摩尔纹

END