Ris*_*shi 5 python opencv image colors simplecv
我正在使用SimpleCV缝合图像.我在SimpleCV的GitHub代码中做了一些更改,最终正确地转换了图像.但问题是,变换后的图像颜色会发生变化.
我使用过这些图片http://imgur.com/a/lrGw4.我的代码输出是:http://i.imgur.com/2J722h.jpg
这是我的代码:
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")
Run Code Online (Sandbox Code Playgroud)
看来您正在使用 SimpleCV 的旧版本。在最新版本中,获取单应性矩阵的方法是[ 1 ]:
ofimg[0].getHomography()
Run Code Online (Sandbox Code Playgroud)
编辑:
您提到的颜色问题似乎是由于颜色空间的变化造成的。因此,请将扭曲图像的线更改为:
x = Image(cv2.warpPerspective(np.array((img2.getMatrix())), homo,
(eh.rows, eh.cols+300), np.array(eh), cv.INTER_CUBIC), colorSpace=ColorSpace.RGB).toBGR()
Run Code Online (Sandbox Code Playgroud)
我怀疑发生的情况是变形后返回的图像位于 BGR 颜色空间中,而 SimpleCV 默认情况下使用 RGB 颜色空间。请让我知道进展如何。