stojg / crop
该包已被废弃,不再维护。未建议替代包。
图像裁剪类
1.4.0
2020-03-27 10:00 UTC
Requires
- php: >=5.3.0
README
这是我创建的一组小图像裁剪器,用于测试自动裁剪。
要求
- PHP 5.3
- Imagemagick(默认色彩空间为sRGB,版本6.7.5-5或更高)
描述
这个小项目包含三个功能性的图像裁剪器
CropCenter
这是最基础的裁剪技术
- 找到图像的精确中心
- 裁剪任何大于targetWidth和targetHeight的边缘
CropEntropy
这个类在图片中找到一个具有最多“能量”的位置。图片中的能量(或熵)由图像的“边缘性”定义。例如,天空的图片边缘性低,而蚁窝的图片边缘性非常高。
在这种情况下,能量是这样计算的
- 将图像转换为黑白
- 运行边缘过滤器,以便我们只剩下边缘。
- 找到图片中熵最高(即边缘最多)的部分
- 返回坐标,确保这部分图片不会被裁剪掉
CropBalanced
CropBalanced是CropEntropy的一个变体,我尝试使其裁剪更加平衡。
- 将图像分成四个相等的正方形
- 找到每个正方形中最具活力的点
- 找到所有正方形图像加权平均的兴趣点
CropFace
CropFace使用PHP Facedetect 扩展(它使用OpenCV)。
详细来说,FaceCrop使用Entropy Crop,但为面部设置了“限制”块。如果程序遇到两个限制,我们让熵决定最佳的裁剪。
用法
$center = new \stojg\crop\CropCenter($filepath); $croppedImage = $center->resizeAndCrop($width, $height); $croppedImage->writeimage('assets/thumbs/cropped-center.jpg');