有人知道有任何非常快的算法以确定图像是照片还是图纸?
主要目的是决定BMP图像最合适的格式是PNG还是JPEG。我不想用线条的文件变得模糊,但与此同时,我不想存储无损失的照片。
目前,我只是在PNG和高质量JPEG中拍摄最小的文件大小。这似乎有99%。但是总会有一些东西,例如图纸和图纸的照片,上面有很多渐变。
您可以使用过滤器进行1.制作图片黑色和2.泵来对比度,然后计算像素,然后查看是否获得更多的白色像素,然后是黑色/灰色的像素
也许喜欢:
if( whitePixels.Count >= ( whitePixels.Count + blackAndGreyPixels.Count ) / 100 * 70 ) {
// is drawing
} else {
// is photograph
}
您应该测试70%的标记,这取决于图像大小和即将比较的图像的种类。
希望这可以帮助您了解简单的算法如何工作。
如果您需要更多的帮助,则应说您要使用什么langue(服务器端的PHP或客户端的.NET),然后我可以给您一个代码的示例。
如果您觉得这很有用,请投票/标记为答案。
g.r。Ace