Выравнивание изображения с помощью резких краев - PullRequest
0 голосов
/ 21 июня 2020

У меня было сканирование A4 листа A5 (так что часть, которую я хотел, занимала половину страницы). Я использовал canny, чтобы показать края изображения, затем нашел минимальные максимальные координаты для обрезки изображения (код ниже).

# canny edges of image
canny = cv2.Canny(img, 50, 200)

## find the non-zero min-max coords of canny
pts = np.argwhere(canny>0)
y1,x1 = pts.min(axis=0)
y2,x2 = pts.max(axis=0)

# crop the region

cropped = img[y1:y2, x1:x2]

Мне было интересно, как я могу использовать эти 4 координаты для выравнивания изображения, чтобы оно Прямо? Или есть лучший способ добиться этого?

К сожалению, это форма патологии, поэтому для изображения я помещаю квадрат поверх информации о пациенте. Внизу вы все еще можете видеть острый край и видеть, что он не на 100% прямой. PS изображение предварительно обрезано.

изображение

...