亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

OpenCV實現(xiàn)拼圖算法

 更新時間:2021年07月23日 10:24:26   作者:wangzhebupt  
這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)拼圖算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了OpenCV實現(xiàn)拼圖算法的具體代碼,供大家參考,具體內(nèi)容如下

編程環(huán)境:VS2012+OpenCV2.4.6

功能:

第一種是將指定三幅圖的指定位置的像素直接搬移到新的圖像上

第二種是講指定三幅圖按照我們設定好的大小非等比縮放到第三幅圖上

三張源圖像

兩種效果圖

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
 
int main()
{
 ///讀入圖像/
 ///image1
 //cv::Mat image::zeros(768,1300);
 Mat image1;
 image1= cv::imread("1.jpg");
 if(!image1.data)
 {
  cout<<"image does not exist"<<endl;
 }
 namedWindow("Image1");//定義窗口
 imshow("Image1",image1);//顯示圖像
 ///image2
 Mat image2;
 image2= cv::imread("2.jpg");
 if(!image2.data)
 {
  cout<<"image does not exist"<<endl;
 }
 namedWindow("Image2");
 imshow("Image2", image2);
 //image3
 Mat image3;
 image3= cv::imread("3.jpg");
 if(!image3.data)
 {
  cout<<"image does not exist"<<endl;
 }
 cv::namedWindow("Image3");
 cv::imshow("Image3", image3);
 
 ///定義生成圖像/
 cv::Mat combine = cv::Mat::zeros( 700, 1300,image1.type());
 //cout<<image.type()<<endl;   我擦那個哈士奇竟然是16
 // define ROI
 Mat imageROI1= combine(Rect(0,0,500,700));
 Mat imageROI2= combine(Rect(500,0,800,350));
 Mat imageROI3= combine(Rect(500,350,800,350));
 //DEBUG
 //std::cout<<combine.cols<<" "<<combine.rows<<endl; 
 
 //圖像直接拷貝的方式~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~••
 image1(cv::Rect( 0, 0, 500, 700)).copyTo(imageROI1);
 image2(cv::Rect( 0, 0, 800, 350)).copyTo(imageROI2);
 image3(cv::Rect( 0, 0, 800, 350)).copyTo(imageROI3);
 
 
 //通過看到數(shù)值來驗證是否是這個地方出錯
 //std::cout<<combine(cv::Rect(0, 0, 3, 3))<<std::endl;
 
 
 //最終效果顯示~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 namedWindow("Combined Image");
 imshow("Combined Image", combine);
 
 
 
 ///另外一種方式/
 /
 //那么我們使用另外一種方式,就是resize的方式來搞下這個東西,恩,讓所有的圖像都搞到這里面
 
 ///!!!建議用等比縮放然后獲得出現(xiàn)的黑框
 
 resize(image1, imageROI1, imageROI1.size(),INTER_CUBIC);
 resize(image2, imageROI2, imageROI2.size(),INTER_CUBIC);
 resize(image3, imageROI3, imageROI3.size(),INTER_CUBIC);
 
 namedWindow("Combined Image++");
 imshow("Combined Image++", combine);
 
 waitKey(0);
 
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C++中內(nèi)存分區(qū)及其作用分析

    C++中內(nèi)存分區(qū)及其作用分析

    C++內(nèi)存分區(qū)包括棧區(qū)、堆區(qū)、全局靜態(tài)區(qū)、常量區(qū),各自負責不同的數(shù)據(jù)存儲和回收,棧區(qū)主要用于存放函數(shù)局部變量和參數(shù),堆區(qū)用于動態(tài)分配內(nèi)存,全局靜態(tài)區(qū)用于存放全局靜態(tài)變量和靜態(tài)成員變量,常量區(qū)用于存放常量和字符串常量
    2023-04-04
  • c++ decltype關鍵字的用法

    c++ decltype關鍵字的用法

    這篇文章主要介紹了c++ decltype關鍵字的用法,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下
    2020-10-10
  • 關于C++中數(shù)據(jù)16進制輸出的方法

    關于C++中數(shù)據(jù)16進制輸出的方法

    本文主要介紹了關于C++中數(shù)據(jù)16進制輸出的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • C語言數(shù)據(jù)結(jié)構順序表中的增刪改(頭插頭刪)教程示例詳解

    C語言數(shù)據(jù)結(jié)構順序表中的增刪改(頭插頭刪)教程示例詳解

    這篇文章主要為大家介紹了C語言數(shù)據(jù)結(jié)構順序表中增刪改關于頭插頭刪的教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • C語言實現(xiàn)簡單翻譯功能

    C語言實現(xiàn)簡單翻譯功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單翻譯功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C++算法系列之中國農(nóng)歷的算法

    C++算法系列之中國農(nóng)歷的算法

    這篇文章主要介紹了C++計算中國農(nóng)歷的深入淺析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 
    2018-05-05
  • C語言運算符深入探究優(yōu)先級與結(jié)合性及種類

    C語言運算符深入探究優(yōu)先級與結(jié)合性及種類

    C語言運算符號指的是運算符號。C語言中的符號分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求字節(jié)數(shù)運算符和特殊運算符
    2022-05-05
  • C語言堆實現(xiàn)建堆算法和堆排序

    C語言堆實現(xiàn)建堆算法和堆排序

    本文主要介紹了C語言堆實現(xiàn)建堆算法和堆排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09
  • VisualStudio?禁用移動文件到文件夾自動修改命名空間功能

    VisualStudio?禁用移動文件到文件夾自動修改命名空間功能

    這篇文章主要介紹了VisualStudio?禁用移動文件到文件夾自動修改命名空間功能,文章底部給大家介紹了解決安裝VS2022時,出現(xiàn)未能安裝包“Microsoft.VisualCpp.Redist.14,version=14.32.31332,chip”=x86,的問題及解決方法,需要的朋友可以參考下
    2022-09-09
  • C語言超詳細梳理排序算法的使用

    C語言超詳細梳理排序算法的使用

    這篇文章主要介紹了C語言完成排序的實例,在C語言基本類型的排序中特別有用,下面我們一起進入文章學習更詳細的內(nèi)容吧,需要的朋友可以參考下
    2022-03-03

最新評論