J'essaie d'utiliser OpenCV 2.1 pour combiner deux images en une, avec les deux images placées l'une à côté de l'autre. En Python, je suis en train de faire:Combinaison de deux images avec OpenCV
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:
Il peut être difficile à d istinguish du reste du site, mais la plupart de l'image est blanche, correspondant à l'endroit où les images individuelles devraient être. La zone noire est l'endroit où aucune donnée d'image n'a été écrite.
Pourquoi toutes mes données d'image sont-elles converties en blanc?
Avez-vous vu [échantillon find_obj.py] (https://code.ros.org/trac/opencv/browser/trunk/opencv/ samples/python2/find_obj.py) d'OpenCV 2.3.1? Cela ressemble exactement à ce que vous essayez de faire. –
@Andrey, Oui, c'est en fait ce que je suis en train de convertir en OpenCV 2.1. Je n'ai pas 2.3 et je ne peux pas le compiler, donc je travaille avec 2.1 pour le moment. – Cerin
Vous pouvez également créer une question sur votre problème de compilation. Je pense que c'est résoluble. Et notez que la partie flan de cet exemple ne peut pas être implémentée avec OpenCV 2.1 car les bindings python pour flann index ont été ajoutés seulement dans 2.3.1. –