C# 检测图像是否有水印?

C# 检测图像是否有水印?,c#,image,watermark,C#,Image,Watermark,我们的网站允许人们上传图片。然而,我们不允许有水印的图像,但许多图像仍然由用户上传。是否有一些软件/代码可以(至少在大多数情况下)捕获带有水印的图像,如徽标/图像?我不确定是否有某种标准 谢谢您无法自动检测水印。最好的办法是让其他人能够很容易地报告有水印的图像,一旦报告,就将它们置于保留状态,直到验证它们是否有水印后才会显示。检测图像上的任何类型的徽标都是相当复杂的。你需要一些类似于人脸识别的东西,还有很多人工智能 为了使其合理有效,您需要一个标识库来查找,并知道它们在图像上的应用位置。如果徽标

我们的网站允许人们上传图片。然而,我们不允许有水印的图像,但许多图像仍然由用户上传。是否有一些软件/代码可以(至少在大多数情况下)捕获带有水印的图像,如徽标/图像?我不确定是否有某种标准


谢谢

您无法自动检测水印。最好的办法是让其他人能够很容易地报告有水印的图像,一旦报告,就将它们置于保留状态,直到验证它们是否有水印后才会显示。

检测图像上的任何类型的徽标都是相当复杂的。你需要一些类似于人脸识别的东西,还有很多人工智能


为了使其合理有效,您需要一个标识库来查找,并知道它们在图像上的应用位置。如果徽标始终位于同一位置,您可以将其所在的像素遮罩掉,然后计算它与徽标像素的距离。如果徽标的大小和位置不同,它会变得更复杂。

使用某种人工智能是可能的,至少有一定的可能性。 更准确地说,如果您可以定义水印是什么,那么这是可能的, 这是最大的问题。通用水印检测实际上是不可检测的,
考虑广告牌上的logo等。

< P>你可以通过图像分类来做。 基本上,训练一个CNN(卷积神经网络)模型,在其中输入一些带有水印的图像和一些没有水印的图像,然后使用该模型判断水印在任何新图像中的概率

您可以将转移学习应用于一些现有的预培训模型(截至今天,inception v3是最好的),这些模型可以针对您的特定分类目的进行再培训

例如,此链接显示如何识别图像是向日葵图像、雏菊图像还是玫瑰图像。


下面是一个关于构建tensorflow图像分类器的5分钟快速教程:

这是一个非常模糊的问题,你能提供更多关于“某种AI”的详细信息吗?