如何从扫描图像中裁剪黑角?
How can I crop black corners from a scanned image?
Scans/photocopies 经常漏掉变黑的角。如何使用 python 和 numpy、pillow 或 skimage 将这些黑角变白?
- 创建一个包含所有黑色对象的蒙版(
mask = image < threshold
)
- 删除接触边界的对象(
new_mask = segmentation.clear_border(mask)
)
- 删除了哪些对象?
objs = (new_mask != mask)
- 用白色填充这些对象:
image[objs] = 1
(或 255,如果 dtype int)。
如果需要确定被白色替换的对象是三角形,可以使用skimage.measure.regionprops
进一步检查每一个。
Scans/photocopies 经常漏掉变黑的角。如何使用 python 和 numpy、pillow 或 skimage 将这些黑角变白?
- 创建一个包含所有黑色对象的蒙版(
mask = image < threshold
) - 删除接触边界的对象(
new_mask = segmentation.clear_border(mask)
) - 删除了哪些对象?
objs = (new_mask != mask)
- 用白色填充这些对象:
image[objs] = 1
(或 255,如果 dtype int)。
如果需要确定被白色替换的对象是三角形,可以使用skimage.measure.regionprops
进一步检查每一个。