我需要检测是否画了圆圈。我尝试过像这样的结构:
for ($i=1; $i <= 10; $i++) { //FOR LINE
for ($line=1; $line <= 4; $line++) { //FOR COLUMN
$rgb = imagecolorat($img, $x_start, $y_start);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
//Detect black or white - how?
$y_start -= 50;
}
$x_start += 52;
$y_start = 1023;
echo '-----------------------------<br>';
}
但是尽管事实上我不知道如何识别颜色,但是有些像素指向圆圈中的数字,因此它写出这个圆圈是黑色的,但实际上它是白色的。如何解决这个问题以及如何检测黑色?谢谢。
答案 0 :(得分:3)
答案 1 :(得分:0)
取决于您想投入多少能源。如果你固定每个字段的位置(扫描都是相同的),你不需要做一些位置检查(使用角落中的那些黑色方块),并且可以制作更大的样本并计算每个样本的平均颜色(样本)是一个答案领域)。如果样本的平均颜色是黑色,则可能是填充的。但是一些学生可能会使用cross作为修复答案的方法,然后这个解决方案并不完美。