2012-06-17 16 views

Odpowiedz

7

Tak to jest, tutaj jest przykładem, expaination w komentarzach:

enter image description here

import cv 
#open color and b/w images 
im = cv.LoadImageM('1_tree_small.jpg') 
im2 = cv.LoadImageM('1_tree_small.jpg',cv.CV_LOAD_IMAGE_GRAYSCALE) 
#set up our output and b/w in rgb space arrays: 
bw = cv.CreateImage((im.width,im.height), cv.IPL_DEPTH_8U, 3) 
new = cv.CreateImage((im.width*2,im.height), cv.IPL_DEPTH_8U, 3) 
#create a b/w image in rgb space 
cv.Merge(im2, im2, im2, None, bw) 
#set up and add the color image to the left half of our output image 
cv.SetImageROI(new, (0,0,im.width,im.height)) 
cv.Add(new, im, new) 
#set up and add the b/w image to the right half of output image 
cv.SetImageROI(new, (im.width,0,im.width,im.height)) 
cv.Add(new, bw, new) 
cv.ResetImageROI(new) 
cv.ShowImage('double', new) 
cv.SaveImage('double.jpg', new) 
cv.WaitKey(0) 

ITS w Pythonie, ale łatwo przekonwertować na cokolwiek .. odpowiedź

+0

dziękuję Fraxel. Tego właśnie szukam. Jeszcze raz dzięki. – mvr950

32

Fraxel za rozwiązał problem ze starym interfejsem cv. Chciałbym pokazać to za pomocą interfejsu cv2, aby zrozumieć, jak to jest łatwe w nowym module cv2. (Może być pomocny dla przyszłych odwiedzających). Poniżej znajduje się kod:

import cv2 
import numpy as np 

im = cv2.imread('kick.jpg') 
img = cv2.imread('kick.jpg',0) 

# Convert grayscale image to 3-channel image,so that they can be stacked together  
imgc = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) 
both = np.hstack((im,imgc)) 

cv2.imshow('imgc',both) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 

A poniżej jest wyjście mam:

enter image description here

+0

Dziękujemy za nową wersję. – mvr950

+0

@ abid-rahman-k można to samo zrobić z wideo? bez przekształcania jednego w odcienie szarości? –

1

Mały ulepszeniem kodu z nowoczesnym piśmie

concatenate

zamiast

hstack

że zostaje przerwane (stos może być również używany)

import cv2 
import numpy as np 

im = cv2.imread('kick.jpg') 
img = cv2.imread('kick.jpg',0) 

# Convert grayscale image to 3-channel image,so that they can be stacked together  
imgc = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) 
both = np.concatenate((im,imgc), axis=1) #1 : horz, 0 : Vert. 

cv2.imshow('imgc',both) 
cv2.waitKey(0) 
cv2.destroyAllWindows()