您的位置:首页 > 运维架构

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

2017-02-11 15:15 429 查看
这是两张图像将并列在同一窗口上,合成的图片上显示文字

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: