170 подписчиков
Перспектива — это визуальный эффект, который возникает, когда объекты, находящиеся дальше от наблюдателя, кажутся меньше, чем объекты, расположенные ближе. Этот эффект является важным аспектом восприятия трехмерного пространства на двумерных плоскостях, таких как фотографии или экраны мониторов.
Сегодня мы посмотрим на это великолепное здание, которое создает еще больший эффект перспективы и представим, а что же будет, если здание станет "бесперспективным"😂
Для исправление таких искажений при помощи OpenCV - библиотеки для работы с компьютерным зрением нужно только определить точки, и "потянуть" за них при помощи инструмента "Перспективных преобразований"
import cv2
import numpy as np
image = cv2.imread('image.png')
pts_src = np.array([[15, 400], [100, 100], [400, 100], [485, 400]], dtype=np.float32)
pts_dst = np.array([[15, 400], [15, 100], [485, 100], [485, 400]], dtype=np.float32)
matrix = cv2.getPerspectiveTransform(pts_src, pts_dst)
result = cv2.warpPerspective(image, matrix, (500, 500))
cv2.imwrite('corrected.png', result)
Всего несколько строк - и изображение уже ровное. Зачем?
Конечно же, не для того, обсудить идеи архитектора, а, например, перейти в вычислению координат объектов в окнах такого здания!
Подробнее в курсе по компьютерному зрению:
А для тех, кто только начинает: бесплатный курс по основам Python, на который уже записалось более 1700 человек и многие уже получили сертификаты об окончании!
🌐 А где находится это здание? Напишите в комментариях!
1 минута
17 сентября 2024