利用opencv将两张图像在同一窗口上显示,并在图片上显示文字

来源:互联网 发布:男鞋推荐学生知乎 编辑:程序博客网 时间:2024/06/04 17:52

这是两张图像将并列在同一窗口上,合成的图片上显示文字

void mergeImg(cv::Mat &dst,cv::Mat &src1,cv::Mat &src2)

{

    int rows=src1.rows>src2.rows?src.rows:src2.rows;//合成图像的行数

    int cols=src1.cols+20+src2.cols;  //合成图像的列数

    CV_Assert(src1.type()==src2.type());

    cv::Mat zeroMat=cv::Mat::zeros(rows,cols,src1.type());

    zeroMat.copyTo(dst);

    src1.copyTo(dst(cv::Rect(0,0,src1.cols,src1.rows)));

    src2.copyTo(dst(cv::Rect(src1.cols+20,0,src2.cols,src2.rows)));//两张图像之间相隔20个像素

    double score=89.101;

    char info[256];

    sprintf(info,"score=%.2f",score);

    cv::putText(dst,info,cv::Point(2,50),CV_FONT_HERSHEY_COMPLEX,1,cv::Scalar(255,0,0));

    cv::imshow("合成图像",dst);

}

0 0
原创粉丝点击