La combinaison de Deux Images avec OpenCV

Je suis en train d'utiliser OpenCV 2.1 de combiner deux images en une seule, avec les deux images adjacents les uns aux autres. En Python, je suis en train de faire:

import numpy as np, cv

img1 = cv.LoadImage(fn1, 0)
img2 = cv.LoadImage(fn2, 0)

h1, w1 = img1.height,img1.width
h2, w2 = img2.height,img2.width

# Create an array big enough to hold both images next to each other.
vis = np.zeros((max(h1, h2), w1+w2), np.float32)

mat1 = cv.CreateMat(img1.height,img1.width, cv.CV_32FC1)
cv.Convert( img1, mat1 )

mat2 = cv.CreateMat(img2.height, img2.width, cv.CV_32FC1)
cv.Convert( img2, mat2 )

# Copy both images into the composite image.
vis[:h1, :w1] = mat1
vis[:h2, w1:w1+w2] = mat2

h,w = vis.shape
vis2 = cv.CreateMat(h, w, cv.CV_32FC3)
vis0 = cv.fromarray(vis)
cv.CvtColor(vis0, vis2, cv.CV_GRAY2BGR)
cv.ShowImage('test', vis2)
cv.WaitKey()

Les deux images d'entrée sont:

https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/box.png?rev=2270

https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/box_in_scene.png?rev=2270

L'image résultante est:

La combinaison de Deux Images avec OpenCV

Il peut être difficile à distinguer du reste du site, mais la plupart de l'image est blanc, correspondant à l'endroit où les images doivent être. La zone noire où pas de données d'image a été écrit.

Pourquoi toutes mes données d'image à être convertis en blanc?

  • Avez-vous vu find_obj.py exemple à partir de OpenCV 2.3.1? Il est exactement comme ce que vous essayez de faire.
  • Oui, c'est effectivement ce que je suis en train de convertir OpenCV 2.1. Je n'ai pas de 2.3 et n'arrive pas à compiler, alors je travaille avec 2.1 pour l'instant.
  • Vous pouvez également créer une question à propos de votre problème de compilation. Je pense que c'est résoluble. Et s'il vous plaît noter que flann partie de l'échantillon ne peut pas être mis en œuvre avec OpenCV 2.1 parce que les liaisons python pour flann indice ont été ajoutés uniquement en 2.3.1.
InformationsquelleAutor Cerin | 2011-09-28