使用Python OpenCV在同一窗口中显示多个图像?

时间:2013-03-05 10:29:27

标签: opencv python-2.7

我想在左侧显示原始图像,在右侧显示灰度图像。下面是我的代码,我创建灰度图像并创建窗口,但我无法将灰度图像放在右侧。我怎样才能做到这一点?

import cv
import time
from PIL import Image
import sys

filePath = raw_input("file path: ")
filename = filePath

img = cv.LoadImage(filename)
imgGrayScale = cv.LoadImage(filename, cv.CV_LOAD_IMAGE_GRAYSCALE) # create grayscale image

imgW = img.width
imgH = img.height

cv.NamedWindow("title", cv.CV_WINDOW_AUTOSIZE)
cv.ShowImage("title", img )
cv.ResizeWindow("title", imgW * 2, imgH)

cv.WaitKey()

2 个答案:

答案 0 :(得分:1)

据我所知,一个窗口,一个图像。因此,使用imgW * 2创建一个新图像,并从(originalimage.width,0)开始复制灰度图像的内容。 ROI功能可能对您有所帮助。

答案 1 :(得分:0)

首先以水平(跨列)或垂直(跨行)的方式连接图像,然后将其显示为单个图像。

import numpy as np
import cv2
from skimage.data import astronaut
import scipy.misc as misc
img=cv2.cvtColor(astronaut(),cv2.COLOR_BGR2RGB)
numpy_horizontal_concat = np.concatenate((img, img), axis=1)
cv2.imshow('Numpy Horizontal Concat', numpy_horizontal_concat)

enter image description here