открыть резюме создать вертикальную волну греха, чтобы исправить вертикальное искажение - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь обработать следующее изображение. Это изображение искажено как по горизонтали, так и по вертикали. Я могу исправить искажение по горизонтали, используя переназначение открытого cv, но не уверен, как применить ту же логику для вертикальной оси y. Я пытался инвертировать ось вкод, но это не дает ожидаемого результата.

Как мне сделать, чтобы изгиб l в прямой l.

код

img = cv2.imread('test.png',0)
phase = 1.2 * np.pi
omega = 2.0 * np.pi / img.shape[1]
amp = 18.0

proj = np.zeros((img.shape[0], img.shape[1], 2), np.float32)

for y in range(img.shape[0]):
    for x in range(img.shape[1]):
        u = 0.0
        v = np.sin(phase + float(x) * omega) * amp
        proj[y, x] = (float(x) + u, float(y) + v)

corr = cv2.remap(img, proj, None, cv2.INTER_LINEAR)
cv2.imshow('in', img)
cv2.imshow('out', corr)
cv2.waitKey()

оригинальное изображение

enter image description here

обработанное изображение:

enter image description here

...