制作网站公司合同注意事项,沈阳高端网站,网站怎么做需要花钱吗,成全视频免费高清观看在线电视剧大全本文利用opencv实现了几个好用的功能#xff0c;包含两个文件#xff0c;如下#xff1a; 源码放在文章末尾
imageProcessing类包含三个功能#xff1a; 1、图像拼接
cv::Mat imageMosaic(cv::Mat mat1, cv::Mat mat2, MosaicMode mosaicMode);mat1和mat2为两个待拼接的…本文利用opencv实现了几个好用的功能包含两个文件如下 源码放在文章末尾
imageProcessing类包含三个功能 1、图像拼接
cv::Mat imageMosaic(cv::Mat mat1, cv::Mat mat2, MosaicMode mosaicMode);mat1和mat2为两个待拼接的源图像 mosaicMode为enum类型如下 typedef enum MosaicMode
{LeftRight,TopButtom
}MosaicMode;主要包含左右拼接和上下拼接。
效果 左右拼接 上下拼接 2、图像重叠拼接
cv::Mat imageMosaicByOverlap(cv::Mat mat1, cv::Mat mat2, int offset, MosaicMode mosaicMode);mat1和mat2为两个待拼接的源图像
offset为重叠区域 比如拼接a,b两张图片a图片包含内容m和n b图片包含内容n和ja和b图片有重叠内容为n拼接成功后图片显示为mnj即只显示一次重叠部分。左右拼接后的图像宽度为a.widthb.width-offset上下拼接后的图像高度为a.heightb.height-offset
mosaicMode包含左右拼接和上下拼接
效果 左右图像重叠拼接
3、Mat转QImage
QImage cvMat2QImage(const cv::Mat mat, bool clone true, bool rb_swap true);mat为待转换源图像
clone true 表示与 Mat 不共享内存更改生成的 mat 不会影响原始图像false 则会与 mat 共享内存
rb_swap 只针对 CV_8UC3 格式如果 true 则会调换 R 与 B RGB-BGR如果共享内存的话原始图像也会发生变化需要注意的是在opencv中图像顺序为BGR而在QT中QImage图像顺序为RGB
源码下载