我正在尝试研究可以检测上传的照片是否具有纯背景的东西。我imagecolorat()
在一个地方使用随机样本点。上传的照片是标准的特写肩平照片。我正在检查图像某些位置的像素颜色 - 背景中靠近(人的)耳朵区域的某处。
根据 的结果imagecolorat()
,我能够得到点的 RGB 颜色。然后我将它们转换为 HSV。
我将如何确定颜色是否相似?由于照片可能不一定具有样本像素上的确切颜色,因此我需要设置一些容差水平以允许相似的颜色。例如,#3A34B9
应该#524EB4
没问题,因为它们都是蓝色的,具有不同的 HSV 值,但彼此靠近。
我应该在 HSV 值中检查什么?有时灰色物体的 HUE 非常明显,它们仍然是灰色的,应该通过测试。
我现在没有发布任何代码,因为它不是我遇到问题的代码,而是关于如何正确确定哪些照片具有纯背景的算法。
这并不是真正的面部检测,我想知道 PHP 是否可以做到这一点,但也知道如何改进上传照片中的样本点会有所帮助。目前,我只将照片划分为区域并从特定区域(大约 1/6 和 5/6 x 轴以及 1/3 y 轴)获取点。