javascript - 计算坐标区域内的黑色像素数

标签 javascript php jquery

我有以下问题:

我有一个仅包含黑色和白色像素的二进制图像。如何计算图像特定区域中黑色像素的数量?

例如,我想知道该图像区域坐标中黑色像素的数量是多少:

[175,145]、[229,145]、[175,221]、[229,221] = 顶部左右坐标和底部左右坐标

请知道我该怎么做......:)

谢谢!

最佳答案

通过循环遍历行,然后遍历该行中的每个像素(就像电子表格一样),您可以测试每个像素并将其添加到计数中。
PHP 中有许多处理图像的函数。我用于类似目的的一个是 GD 。您可以使用 imagecolorat 直接测试每个像素的 RGB 值。 。

伪代码

$image = imagecreatefromjpeg('/path/to/image.jpg'); //replace with your image type
$totalBlack = 0;
$area = array( //for your area to evaluate
    array(175, 145), 
    array(229, 145), 
    array(175, 221), 
    array(229, 221)
);
for ($y = $area[0][1]; $y < $area[2][1]; $y++ ) {
    for($x = $area[0][0]; $x < $area[3][0]; $x++ ) {
        $value = imagecolorat($image, $x, $y);
        if ($value == /*test for black*/) {
            $totalBlack++;
        }
    }
}

使用 ImageMagick
您可以将图像裁剪为提供的 x,y 值,然后使用 ImageMagick的比较函数将整个部分与纯白色图像进行比较。

关于javascript - 计算坐标区域内的黑色像素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39970116/

相关文章:

javascript - 如何构建一个简单的具有固定转换比率的美元/欧元 react 货币转换器?

php - 使用 laravel 在导航栏上时注销链接不起作用

javascript - 防止垂直滚动条上的 div 移动出现/消失但不调整窗口大小

javascript - Highcharts NG 股票图表动画效果仅在导航器类型 : column

javascript - 无法在本地运行新创建的机器人 - 读取机器人文件时出错

javascript - 标签 <a> 在页面重新加载后失去背景

javascript - 使用 json_encode 输出换行符或新行?

php - 将值插入 SQL 下拉列表中的变量

php - 使用 AJAX 加载内容时更新 Facebook Like 元数据

php - 如何在 php 中创建带有自定义文本的图像?