У меня есть изображение с белым фоном, и у меня есть какая-то форма — часть ткани. Мне нужно найти самый левый, верхний, правый и нижний пиксель. Какой самый эффективный способ сделать это?
Вы можете использовать функцию trimImage, чтобы обрезать изображение, а затем посмотреть на геометрию и информацию о странице, чтобы найти, как ограничивающий прямоугольник изображения остался после обрезки.
$base = new Imagick(realpath('./trim.png'));
$base->trimImage(0);
$geometry = $base->getImageGeometry();
$pageInfo = $base->getImagePage();
printf (
"Width %d Height %d\n",
$geometry['width'],
$geometry['height']
);
printf(
"OffsetX: %d OffsetY %d\n",
$pageInfo['x'],
$pageInfo['y']
);
Других решений пока нет …