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

Я хочу применить фильтр к изображениям, чтобы они выглядели так, как будто они взяты издалека, как они есть на самом деле.

Для справки:

Левое изображение ниже находится на расстоянии ~ 1 м от растения.

Правое изображение с расстояния 10 метров.

enter image description here

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

Мне нужно реализовать это в Python 3, и я знаю, как реализовать размытие с помощьюOpenCV.

1 Ответ

0 голосов
/ 17 мая 2018

Я бы сделал кубический, а затем ближайший сосед с небольшим размытием для полировки:

img = cv2.imread(impath,-1)
w,h = img.shape[:2]
down = cv2.resize(img,(int(w/3),int(h/3)),interpolation=cv2.INTER_CUBIC)
up = cv2.resize(down,(w,h),interpolation=cv2.INTER_NEAREST)
up = cv2.GaussianBlur(up,(5,5),2.4,2.4)
cv2.imshow('',up)
cv2.imshow('in',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Результат:

enter image description here

...