首页 > 其他分享 >OpenCV常用图像拼接方法(一) :直接拼接

OpenCV常用图像拼接方法(一) :直接拼接

时间:2022-10-18 12:31:59浏览次数:78  
标签:Mat int OpenCV 拼接 resultImg 图像 img2 img1

    OpenCV常用图像拼接方法将分为四部分与大家分享,这里是第一种方法,欢迎关注后续。


    OpenCV常用图像拼接方法(一) :直接拼接,俗称硬拼,就是简单的将两张图片合并成一张大图。


   方法比较简单,这里直接上代码:


// 01_Combine_Two_Images.cpp
// 环境 VS2017 + OpenCV4.4.0
// 功能介绍:用于将两张图片拼接成一张大图(以左右拼接为例),俗称的硬拼方法
// 特点:简单粗暴,实际应用对拍摄条件要求苛刻,适用性差
#include "pch.h"
#include <iostream>
#include <math.h>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
Mat img1 = imread("01.jpg");
Mat img2 = imread("02.jpg");
if (img1.empty() || img2.empty())
{
cout << "加载图片失败,请检查对应路径图片是否存在!" << endl;
return 1;
}
imshow("src1", img1);
imshow("src2", img2);
int w1 = img1.cols; int h1 = img1.rows;
int w2 = img2.cols; int h2 = img2.rows;
int width = w1 + w2; int height = max(h1, h2);
Mat resultImg = Mat(height, width, CV_8UC3, Scalar::all(0));
Mat ROI_1 = resultImg(Rect(0, 0, w1, h1));
Mat ROI_2 = resultImg(Rect(w1, 0, w2, h2));
img1.copyTo(ROI_1);
img2.copyTo(ROI_2);
imshow("result", resultImg);
imwrite("result.jpg", resultImg);
waitKey(0);
return 0;
}

待拼接左图:

OpenCV常用图像拼接方法(一) :直接拼接_#include

待拼接右图:

OpenCV常用图像拼接方法(一) :直接拼接_ios_02

拼接结果图:

OpenCV常用图像拼接方法(一) :直接拼接_图像拼接_03

上面演示的是左右拼接,如果是上下拼接代码注意修改结果图大小如下即可:


int width = max(w1, w2); int

OpenCV常用图像拼接方法(一) :直接拼接_#include_04

标签:Mat,int,OpenCV,拼接,resultImg,图像,img2,img1
From: https://blog.51cto.com/stq054188/5765806

相关文章

  • OpenCV常用图像拼接方法(二) :基于模板匹配拼接
      OpenCV常用图像拼接方法将分为四部分与大家分享,这里是第二种方法,欢迎关注后续,本文源码与素材链接位于文章末尾。  OpenCV常用图像拼接方法(二):基于模板匹配的图......
  • 762-GMAX3265 3.2微米 6500万分辨率 全局快门CMOS图像传感器
    GMAX32653.2微米6500万分辨率全局快门CMOS图像传感器        GMAX3265图像传感器的像素尺寸为3.2μm,具有6500万像素全分辨率,在12bi......
  • 图像合成技能
    这节课讲解保姆级抠图教程,抠图工具有【魔棒工具】和【钢笔工具】,我们必须根据图像去判断哪种方法是最合适,最有效率。2.接着开始今天的讲解,首先观察【图片的形状特征】,图像......
  • 一张图理清所有的RAW RGB YUV图像格式
    0.引言之前一直做着和camera有关的工作,所以常常会涉及到图像格式的问题。感觉接触的名字和种类很多,索性好好整理一下,分个类,也方便后面再整理。1.直接上结论直接......
  • 图片、接口封装 文字可生成的奇特图像
    脑洞大开!这个简易命令行工具,输入文字可生成的奇特图像 https://copyfuture.com/blogs-details/20210418130919282a图片、接口封装  https://blog.csdn.net/weix......
  • opencv
    介绍opencv是一个开源的用于图像处理的库,它对包括C/C++、java、python等语言有支持。安装将opencv\python\2.7\x64\cv2.pyd拷贝到python的安装目录下:Python27\Lib\site-pac......
  • 图像处理学习笔记-07-小波和多分辨率处理
    背景图像金字塔金字塔底部是图像的高分辨率表示,顶部是低分辨率表示,假设最底部基础级\(J\)的大小为\(2^J\times2^J\)或\(N\timesN\),最顶部级0的大小为\(1\times1\)......
  • Python字符串拼接(包含字符串拼接数字)
    在 Python 中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为:strname="str1""str2"strname表示拼接以后的字符串变量名,str1和str2是要拼接......
  • Halcon实例转OpenCV--低对比度图像中提取圆形轮廓(附源码)
    导读本文主要介绍一个在低对比度图像中提取圆形轮廓的实例,并将Halcon实现转为OpenCV。实例来源Halcon例程dyn_threshold.hdev--动态阈值算子使用实例。原图:Halcon实现效果:......
  • web前端-HTML图像,表格,列表的使用
    ......