RMagick 图像转换
RMagick image conversion
在破解一个简单的项目时,我被 RMagick
问题困扰了一天。由于我是 RMagick
的新手,需要这方面的建议。
我正在尝试扫描用户上传的图片并尝试将图片 snap/select 到实际内容所在的特定区域。但是用户有可能使用 phone 或其他设备拍摄图像,并最终给图像添加很多噪声。
用户上传的示例 image 如下所示。
我尝试将图像转换为 greyscale
如下所示
img.quantize(2, GRAYColorspace, false)
但是转换时有很多噪音 (image)。任何人都可以建议我如何 select 只有 section/rectangle 包含来自上传图像的实际信息?
以下是我尝试使用的方法。
- get_pixels
- find_similar_region
- adaptive_threshold
在 ImageMagick 命令行中,您可以使用 -negate(反转颜色)和 -lat(局部区域阈值)将其转换为二进制 (black/white),这可能更符合您的要求。 RMagick 中应该有等效的命令。
输入:
convert t2.jpg -negate -lat 20x20+10% -negate result.png
添加:
请注意,上面生成的图像中有一些黑点。您需要先过滤那些使用 -connected-components 的组件,然后才能 trim 将图像添加到黑框。
convert t2.jpg -negate -lat 20x20+10% -negate -type bilevel \
-define connected-components:area-threshold=10 \
-define connected-components:mean-color=true \
-connected-components 4 \
-bordercolor white -border 1x1 \
-fuzz 15% -trim +repage \
result.png
在破解一个简单的项目时,我被 RMagick
问题困扰了一天。由于我是 RMagick
的新手,需要这方面的建议。
我正在尝试扫描用户上传的图片并尝试将图片 snap/select 到实际内容所在的特定区域。但是用户有可能使用 phone 或其他设备拍摄图像,并最终给图像添加很多噪声。
用户上传的示例 image 如下所示。
我尝试将图像转换为 greyscale
如下所示
img.quantize(2, GRAYColorspace, false)
但是转换时有很多噪音 (image)。任何人都可以建议我如何 select 只有 section/rectangle 包含来自上传图像的实际信息?
以下是我尝试使用的方法。
- get_pixels
- find_similar_region
- adaptive_threshold
在 ImageMagick 命令行中,您可以使用 -negate(反转颜色)和 -lat(局部区域阈值)将其转换为二进制 (black/white),这可能更符合您的要求。 RMagick 中应该有等效的命令。
输入:
convert t2.jpg -negate -lat 20x20+10% -negate result.png
添加:
请注意,上面生成的图像中有一些黑点。您需要先过滤那些使用 -connected-components 的组件,然后才能 trim 将图像添加到黑框。
convert t2.jpg -negate -lat 20x20+10% -negate -type bilevel \
-define connected-components:area-threshold=10 \
-define connected-components:mean-color=true \
-connected-components 4 \
-bordercolor white -border 1x1 \
-fuzz 15% -trim +repage \
result.png