Używam SimpleCV do łączenia zdjęć. Wprowadziłem kilka zmian w kodzie GitHub SimpleCV i ostatecznie otrzymałem poprawiony obraz. Problem polega jednak na tym, że zmienia się kolor obrazu po transformacji.Szycie obrazu SimpleCV: zmiana przestrzeni kolorów po zniekształceniu
Użyłem tych zdjęć http://imgur.com/a/lrGw4. Wyjście z mojego kodu jest: http://i.imgur.com/2J722h.jpg
To jest mój kod:
from SimpleCV import *
import cv2
import cv
img1 = Image("s.jpg")
img2 = Image("t.jpg")
dst = Image((2000, 1600))
# Find the keypoints.
ofimg = img1.findKeypointMatch(img2)
# The homography matrix.
homo = ofimg[1]
eh = dst.getMatrix()
# transform the image.
x = Image(cv2.warpPerspective(np.array((img2.getMatrix())), homo,
(eh.rows, eh.cols+300), np.array(eh), cv.INTER_CUBIC))
# blit the img1 now on coordinate (0, 0).
x = x.blit(img1, alpha=0.4)
x.save("rishi1.jpg")
Używam najnowszej wersji SimpleCV z github. Zrobiłem to w ten sposób, ponieważ dokonałem pewnych zmian w kodzie SimpleCV. Wcześniej sama matryca homografii była błędna. Ale teraz obraz jest idealnie przekształcony, ale zmienia się kolor przekształconego obrazu. W funkcji findkeypointMatch zmieniłem kod. Oto zmiana, którą wykonałem https://github.com/ingenuitas/SimpleCV/pull/63/files. Ale problem koloru był także wcześniej. – Rishi
Edytowałem odpowiedź. Nie mogę uruchomić dokładnie kodu, ale napisałem podobny skrypt i okazało się, że problem dotyczy odwróconej przestrzeni kolorów. – fireant
niesamowite .. :). Twoja logika działała bezbłędnie. :). Dziękuję Ci. – Rishi