Я пытаюсь изменить перспективу первого изображения в соответствии со вторым изображением. Для нахождения матрицы гомографии я нашел четыре координаты общего объекта (белая доска объявлений) на обоих изображениях.
Изображение 1
Изображение 2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
img1 = cv2.imread("rgb per.jpg")
img2 = cv2.imread("IR per.jpg")
img_1_coor = np.float32([[1178,425], [1201,425], [1178,439], [1201,439], [1551,778]]) #coordinate of white notice board in rgb image
img_2_coor = np.float32([[370,98], [381,103], [367,107], [380,112], [498,332]]) #coordinate of same object in IR image
for x in range(0,4):
cv2.circle(img1,(img_1_coor[x][0],img_1_coor[x][1]),5,(255,0,0),1)
matplotlib.rcParams['figure.dpi'] = 300
#plt.imshow(img1) #this verified that the found coordinates are correct
#P = cv2.getPerspectiveTransform(img_1_coor,img_2_coor)
H, s = cv2.findHomography (img_1_coor,img_2_coor)
print(s)
perspective = cv2.warpPerspective(img1, H, img2.shape[:2])
plt.imshow(perspective)
#the resulting image
Выходное изображение
Я хочу, чтобы результат был похож на изображение 1 с точкой обзора (угол камеры) как на изображении 2. Если это невозможно, то наоборот было бы полезно иметь изображение 2 с точки зрения как изображение 1.
Может ли кто-нибудь сказать, можно ли использовать координаты объекта на изображении, чтобы изменить перспективу полного изображения, если да, есть ли проблемы с моим кодом?
Я пытаюсь изменить перспективу первого изображения в соответствии со вторым изображением. Для нахождения матрицы гомографии я нашел четыре координаты общего объекта (белая доска объявлений) на обоих изображениях. Изображение 1 Изображение 2 [code]import numpy as np import matplotlib.pyplot as plt import matplotlib img1 = cv2.imread("rgb per.jpg") img2 = cv2.imread("IR per.jpg") img_1_coor = np.float32([[1178,425], [1201,425], [1178,439], [1201,439], [1551,778]]) #coordinate of white notice board in rgb image img_2_coor = np.float32([[370,98], [381,103], [367,107], [380,112], [498,332]]) #coordinate of same object in IR image for x in range(0,4): cv2.circle(img1,(img_1_coor[x][0],img_1_coor[x][1]),5,(255,0,0),1) matplotlib.rcParams['figure.dpi'] = 300 #plt.imshow(img1) #this verified that the found coordinates are correct
#P = cv2.getPerspectiveTransform(img_1_coor,img_2_coor) H, s = cv2.findHomography (img_1_coor,img_2_coor) print(s) perspective = cv2.warpPerspective(img1, H, img2.shape[:2]) plt.imshow(perspective) #the resulting image [/code] Выходное изображение Я хочу, чтобы результат был похож на изображение 1 с точкой обзора (угол камеры) как на изображении 2. Если это невозможно, то наоборот было бы полезно иметь изображение 2 с точки зрения как изображение 1. Может ли кто-нибудь сказать, можно ли использовать координаты объекта на изображении, чтобы изменить перспективу полного изображения, если да, есть ли проблемы с моим кодом?
Мне нужно написать скрипт Python, который меняет «перспективу» изображения с правой стороны на прямую, используя аффинное преобразование. (См. прикрепленные изображения. Это не настоящие изображения, над которыми я работаю)
Основываясь на том, что я...
Мне нужно написать скрипт Python, который меняет «перспективу» изображения с правой стороны на прямую, используя аффинное преобразование. (См. прикрепленные изображения. Это не настоящие изображения, над которыми я работаю)
Основываясь на том, что я...
Мне нужно написать скрипт Python, который меняет «перспективу» изображения с правой стороны на прямую, используя аффинное преобразование. (См. прикрепленные изображения. Это не настоящие изображения, над которыми я работаю)
Основываясь на том, что я...
У меня есть ответ на запрос, как показано ниже. Здесь я хочу отфильтровать запись, в которой «itemState» имеет значение «Исключение». Я пытаюсь использовать фильтр сборки, но похоже, что он работает не так, как ожидалось. Я попробовал несколько...