python - 修剪灰度图像的空白
问题描述
我得到一个图像集,图像是这样的。
如何使用不包含任何有用内容的python删除图像下方的白色部分?
我将图像读取到 python 中的 numpy 数组。
我的代码是这样的:
data_dir = "/Users/leon/Projects/inpainting/data/"
images = []
files = glob.glob (data_dir + "*.jpg")
for file in files:
image = cv2.imread(file, 0)
images.append(image)
解决方案
这会在上方和下方逐行修剪空白(实际上它会修剪任何完整的白色行):
trimmed = image[np.where(~np.all(image == 255, axis=1))]
如果您只需要修剪顶部和底部边距,您可以执行以下操作:
empty_row_mask = np.all(image == 255, axis=1)
top = np.searchsorted(~empty_row_mask, True)
bottom = np.searchsorted(empty_row_mask, True)
trimmed = image[top:bottom]
推荐阅读
- smali - smali, 是否有任何变化, const/16 v0, 0x20 使 v0 值 -16
- javascript - 防止在 JavaScript 中以水平触摸手势为主的垂直移动滚动
- python - 如何使用 `path` 函数而不是 `url` 函数
- javascript - JavaScript 点击事件计时器快速运行
- swift - 当前用户 UID 与 Auth UID 不同?
- c# - Proxy class override method for iOS mono error in xamarin.forms
- spring-boot - log4j2.xml 的 kafka appender 中的配置更改?
- python - ssl error why installing with pip
- javascript - NgRx-仅当返回先前的服务调用响应时,我应该如何触发服务调用
- java - BiConsumer 使用第一种类型来设置它的字段使用第二种类型