图像预处理与增强技术

在机器视觉领域,深知展示而非告知的重要性。因此,很高兴地介绍全新的图像预处理和增强步骤的预览功能。以下是一些关键预览,要查看全部预览,请创建一个免费的Roboflow账户。

预处理亮点:调整图像尺寸

调整图像尺寸并不是简单地将像素拉伸以适应新尺寸。如果需要保持长宽比,是否应该裁剪以填充空间,还是创建白色/黑色填充?反射像素又该如何处理?对于数据来说,哪种确切的选择是最好的,这取决于正在解决的问题,但现在比以往任何时候都更容易考虑决策中的权衡。消除猜测,停止编写样板代码来转换图像。

增强亮点:随机裁剪

随机裁剪是一种强大的增强技术。在随机裁剪中,返回原始图像的一个子集——这个子集是原始图像的百分比区域。随机裁剪图像,减少原始图像面积的0到20%,意味着图像可能是原始图像的100%(无变化)或80%——而且,巧妙的是,这80%并不一定是两次随机裁剪之间的相同80%,因为结果图像的中心点也会移动。

随机裁剪可以创建尺度变化、平移,甚至可以调整原始图像的边界框(考虑如果边界框的一部分被裁剪出框架,例如)。Roboflow允许轻松选择最小随机裁剪(从无变化开始,或裁剪0%)和最大随机裁剪(高达99%,或消除原始图像面积的99%)。Roboflow还自动处理更新边界框——包括如果图像中的物体不再在框架中,就完全删除它。(专业提示:使用随机裁剪与调整大小一起使用,以确保图像大小一致!)

Roboflow中的更多功能

Roboflow的图像预处理支持自动定向、灰度、调整大小和对比度变化。在图像级别和专门在边界框内都有增强功能,包括翻转、旋转、裁剪、亮度变化、模糊、噪声等。

// 假设有一个名为original_image的原始图像 // 以及一个名为bounding_box的边界框 // 随机裁剪函数 function randomCrop(image, bbox, min_crop_percentage, max_crop_percentage) { // 计算裁剪区域 let crop_area = calculateCropArea(image, min_crop_percentage, max_crop_percentage); // 裁剪图像 let cropped_image = cropImage(image, crop_area); // 更新边界框 let updated_bbox = updateBoundingBox(bbox, crop_area); return { cropped_image, updated_bbox }; } // 计算裁剪区域 function calculateCropArea(image, min_crop_percentage, max_crop_percentage) { // 根据给定的百分比计算裁剪区域 // ... } // 裁剪图像 function cropImage(image, crop_area) { // 根据裁剪区域裁剪图像 // ... } // 更新边界框 function updateBoundingBox(bbox, crop_area) { // 根据裁剪区域更新边界框 // ... }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485