.net – 检测图像/视频中的水印/徽标

我正在尝试分析视频文件并检测其右下角是否有网络徽标.我认为如果我只是采取几个随机帧并看看它们是否有共同的徽标/水印可能会更容易.

我根本不知道如何开始.是否有任何使用API​​ /命令行执行此操作?

最佳答案 首先,您不太可能使用命令行工具来完成此操作.

寻找共性并不像你想象的那么简单.所有视频都经过压缩,即使在人眼看来相同的情况下也会产生细微差别.

如果您知道徽标的基本大小和区域,则可以将搜索范围限制在屏幕的那一部分,这样可以加快速度.在那之后,假设我知道徽标是什么,我会从下一个中减去一帧.通过从前一帧上相同像素的相应颜色通道中减去每个颜色通道来完成此操作.如果你有很多视频,也许可以将一些帧分开,这样画面中缓慢移动的部分就不会产生误报.一旦你有这个减法,任何相同的东西应该是接近零的值.任何不同的东西都应该是更高的价值.

对于这个减去的区域,如果有很多像素接近零,你可能有徽标或至少有一些不变的东西.您可能想要对结果进行平方,然后将它们相加.这将夸大不接近零的值.然后选择一个门槛.如果值低于该值,您可能会有徽标.

点赞