1
我试过这段代码,我在这里得到了。它用于在C++的单个窗口中显示多个图像。我也在程序中包含了opencv 3.0库。以下是代码。我想加载2张图片,但只有第一张(1.jpg)出现,但是当我把image2等于cv :: imread(“1.jpg”);出现1.jpg的两个图像。我对这个真的很陌生,我不明白我在哪里会出错。我希望有一个人可以帮助我。谢谢。在单个窗口上显示多个图像无法正常工作(C++ VS12)
int main(int argc, char *argv[])
{
// read an image
cv::Mat image1= cv::imread("1.jpg");
cv::Mat image2= cv::imread("2.jpg");
int dstWidth = image1.cols;
int dstHeight = image1.rows * 2;
cv::Mat dst = cv::Mat(dstHeight, dstWidth, CV_8UC3, cv::Scalar(0,0,0));
cv::Rect roi(cv::Rect(0,0,image1.cols, image1.rows));
cv::Mat targetROI = dst(roi);
image1.copyTo(targetROI);
targetROI = dst(cv::Rect(0,image1.rows,image1.cols, image1.rows));
image2.copyTo(targetROI);
// create image window named "My Image"
cv::namedWindow("OpenCV Window");
// show the image on window
cv::imshow("OpenCV Window", dst);
// wait key for 5000 ms
cv::waitKey(5000);
return 0;
}
这是该计划的上述
太谢谢你了!它非常完美!比方说,如果我想要更多的图像像4x4,我把它设置为这样? int dstWidth = max(image1.cols,image2.cols,image3.cols,image4.cols); int dstHeight = image1.rows + image2.rows + image3.rows + image4.rows; – TxRx
非常感谢! – TxRx
不,4x4有点麻烦......我会在几分钟内发布一个示例 – Miki