13059l 2022-07-19 16:33 采纳率: 70.6%
浏览 93
已结题

如何使用python去除图像黑边

img


图片经过sobel算子之后得到右边的图片,鱼刺变清晰了,但是图片旁边有黑边,如何去黑边?

  • 写回答

1条回答 默认 最新

  • 亖夕 新星创作者: python技术领域 2022-07-19 17:20
    关注

    试一下这个?
    import cv2
    import numpy as np

    threshold = 40 # 阈值

    gray = cv2.imread('图片路径') # 导入图片
    gray = cv2.cvtColor(gray, cv2.COLOR_RGB2GRAY) # 转换为灰度图像

    nrow = gray.shape[0] # 获取图片尺寸
    ncol = gray.shape[1]

    rowc = gray[:, int(1 / 2 * nrow)] # 无法区分黑色区域超过一半的情况
    colc = gray[int(1 / 2 * ncol), :]

    rowflag = np.argwhere(rowc > threshold)
    colflag = np.argwhere(colc > threshold)

    left, bottom, right, top = rowflag[0, 0], colflag[-1, 0], rowflag[-1, 0], colflag[0, 0]

    cv2.imshow('name', gray[left:right, top:bottom]) # 效果展示
    cv2.waitKey()

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 修改了问题 7月19日
  • 修改了问题 7月19日
  • 创建了问题 7月19日