Как объединить два изображения в opencv?

Я рассчитал гомографию, вынул перспективное преобразование. Я могу отображать два изображения в одном окне, но не могу их объединить. Вот мои примеры изображений ->image1

image2

Код, который я использую, этот код ->

cv::warpPerspective(image2,warpresult2,homography,cv::Size(2*image2.cols,image2.rows));


Mat imgResult(image1.rows,2*image1.cols,image1.type());

Mat roiImgResult_Left = imgResult(Rect(0,0,image1.cols,image1.rows)); 
Mat roiImgResult_Right = imgResult(Rect(image1.cols,0,image2.cols,image2.rows)); 

Mat roiImg1 = image1(Rect(0,0,image1.cols,image1.rows));
Mat roiImg2 = warpresult2(Rect(0,0,image2.cols,image2.rows));

roiImg1.copyTo(roiImgResult_Left); //Img1 will be on the left of imgResult
roiImg2.copyTo(roiImgResult_Right); //Img2 will be on the right of imgResult

imshow("Finalimg",imgResult);
imwrite("C:\\OpenCv_Projects\\outputimage.jpg",imgResult);
cvWaitKey(0);

Я думаю, что проблема в координатах, которые я правильно даю roiImgResult _.

И выходное изображение -> Output imagesКак вы можете видеть, изображения не сливаются должным образом, и с правой стороны есть черная область. Как ее удалить?

20
задан ankit 21 April 2012 в 11:34
поделиться