欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

opencv實(shí)現(xiàn)視場(chǎng)轉(zhuǎn)換

 更新時(shí)間:2021年04月16日 11:33:32   作者:努力的小帶土  
這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)視場(chǎng)轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了opencv實(shí)現(xiàn)視場(chǎng)轉(zhuǎn)換的具體代碼,供大家參考,具體內(nèi)容如下

假設(shè)我們要實(shí)現(xiàn)QUEEN 這張片的視覺(jué)轉(zhuǎn)換,使圖像轉(zhuǎn)換之后猶如我們正面看過(guò)一樣

首先打開(kāi)圖形編輯器分別記錄這張卡片四個(gè)邊角的像素點(diǎn)

再利用原撲克的高寬比例 3.5:2.5 重新設(shè)置新視角的四邊角像素點(diǎn),具體程序如下所示:

#include <iostream>
#include <opencv2/highgui.hpp> // 說(shuō)是說(shuō)gui 具體什么gui 不清楚
#include <opencv2/imgcodecs.hpp> // 圖像頭文件
#include <opencv2/imgproc.hpp> // 圖像處理頭文件
using namespace std;
using namespace cv;
float w = 250, h = 350; // 知道卡片的長(zhǎng)寬分別為 2.5 cm 和  3.5 cm 因此我們按照比例進(jìn)行放大所縮小即可
Mat matrix, imgWarp;
int main()
{
    string path = "resources/cards.jpg"; // 導(dǎo)入圖形的時(shí)候,先要在右邊點(diǎn)擊顯示所有文件?。?!
    Mat img = imread(path); // 在opencv 中所有的圖像信息都使用Mat 
    /*Queen 卡片*/
    Point2f src[4] = { {66,324},{338,279},{89,634},{404,571} }; // 原坐標(biāo)點(diǎn)的像素是使用圖片編輯器一個(gè)個(gè)試出來(lái)的
    Point2f dst[4] = { {0.0f,0.0f},{w,0.0f},{0.0f,h},{w,h} };
    matrix = getPerspectiveTransform(src, dst);  // 輸入原位置比例及目標(biāo)位置比例,返回Mat類型參量
    warpPerspective(img, imgWarp, matrix, Point(w, h)); // 根據(jù)上步獲得的參量進(jìn)行位置改變
    /*在原圖像撲克四個(gè)頂膠繪制圓點(diǎn)**/
    for (int i = 0; i < 4; i++)
    {
        circle(img, src[i], 10, Scalar(0, 0, 255),FILLED);
    }
 
    /*  king 卡片
    // Point2f 類即點(diǎn)的數(shù)據(jù)類型為 float 
    Point2f src[4] = { {529,142},{771,190}, {405,395}, {674,457} };
    Point2f dst[4] = { {0.0f,0.0f},{w,0.0f},{0.0f,h} ,{w,h} };
    matrix = getPerspectiveTransform(src, dst);
    warpPerspective(img, imgWarp, matrix, Point(w, h));*/
    imshow("Image", img);
    imshow("Image Warp", imgWarp);
    waitKey(0); // 延時(shí),0即相當(dāng)于無(wú)窮大
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++設(shè)計(jì)模式之抽象工廠模式

    C++設(shè)計(jì)模式之抽象工廠模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之抽象工廠模式,本文要講的抽象工廠模式,就是工廠方法模式的擴(kuò)展和延伸,需要的朋友可以參考下
    2014-09-09
  • C++20中的span容器及用法小結(jié)

    C++20中的span容器及用法小結(jié)

    std::span 是一個(gè)非常實(shí)用的工具,可以方便地對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)和處理,同時(shí)也可以提高代碼的可讀性、可維護(hù)性和安全性,這篇文章主要介紹了C++20中的span容器,需要的朋友可以參考下
    2023-03-03
  • C++繼承和動(dòng)態(tài)內(nèi)存分配

    C++繼承和動(dòng)態(tài)內(nèi)存分配

    這篇文章主要介紹了C++繼承和動(dòng)態(tài)內(nèi)存分配,當(dāng)我們的基類使用動(dòng)態(tài)內(nèi)存分配,并且重新定義賦值和復(fù)制構(gòu)造函數(shù),這會(huì)對(duì)派生類的實(shí)現(xiàn)有什么影響呢?我們帶罩疑問(wèn)倆姐下面文章內(nèi)容吧
    2022-01-01
  • C++類中如何使用定義的類型別名

    C++類中如何使用定義的類型別名

    這篇文章主要介紹了C++類中如何使用定義的類型別名,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言中文件處理全攻略詳解

    C語(yǔ)言中文件處理全攻略詳解

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言中文件處理的相關(guān)知識(shí),包括創(chuàng)建、寫(xiě)入、追加操作解析,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-01-01
  • C++ Qt開(kāi)發(fā)之CheckBox多選框組件的用法詳解

    C++ Qt開(kāi)發(fā)之CheckBox多選框組件的用法詳解

    Qt是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹CheckBox單行輸入框組件的使用方法,需要的朋友可以參考下
    2023-12-12
  • C語(yǔ)言函數(shù)棧幀的創(chuàng)建與銷毀原理圖解

    C語(yǔ)言函數(shù)棧幀的創(chuàng)建與銷毀原理圖解

    我們知道c語(yǔ)言中函數(shù)都是被調(diào)用的,main函數(shù)里面能調(diào)用其他函數(shù),其實(shí)main函數(shù)也是被別的函數(shù)調(diào)用的,下面通過(guò)本文給大家分享c語(yǔ)言函數(shù)棧幀的創(chuàng)建和銷毀過(guò)程,一起看看吧
    2022-05-05
  • C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究

    C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究

    這篇文章主要為大家介紹了C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • VC++植物大戰(zhàn)僵尸中文版修改器實(shí)現(xiàn)代碼

    VC++植物大戰(zhàn)僵尸中文版修改器實(shí)現(xiàn)代碼

    這篇文章主要介紹了VC++植物大戰(zhàn)僵尸中文版修改器實(shí)現(xiàn)代碼,可實(shí)現(xiàn)植物大戰(zhàn)僵尸中的無(wú)限陽(yáng)光與無(wú)冷卻時(shí)間功能,需要的朋友可以參考下
    2015-04-04
  • 利用ace的ACE_Task等類實(shí)現(xiàn)線程池的方法詳解

    利用ace的ACE_Task等類實(shí)現(xiàn)線程池的方法詳解

    本篇文章是對(duì)利用ace的ACE_Task等類實(shí)現(xiàn)線程池的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論