繁体   English   中英

图像拼接SimpleCV:变形后颜色空间发生变化

[英]Image stitching SimpleCV: colorspace changes after warping

我正在使用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")

看来你正在使用SimpleCV的旧版本。 在最新版本中,获得单应矩阵的方法是[ 1 ]:

ofimg[0].getHomography()

编辑:

你提到的颜色问题似乎是由于色彩空间的变化。 因此,请将图像变形的线条更改为:

x = Image(cv2.warpPerspective(np.array((img2.getMatrix())), homo,
  (eh.rows, eh.cols+300), np.array(eh), cv.INTER_CUBIC), colorSpace=ColorSpace.RGB).toBGR()

我怀疑发生了什么是变形后返回的图像在BGR颜色空间中,而SimpleCV默认使用RGB颜色空间。 请告诉我它是怎么回事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM