国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV圖像旋轉(cv::rotate)與鏡像(cv::flip)

這篇具有很好參考價值的文章主要介紹了OpenCV圖像旋轉(cv::rotate)與鏡像(cv::flip)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、概述

  案例:使用OpenCV實現(xiàn)圖像的旋轉和鏡像操作

  所用函數(shù):這里主要使用到了兩個函數(shù)

    1.旋轉:cv::rotate

    2.鏡像:cv::flip  

rotate(InputArray src, OutputArray dst, int rotateCode);
src:輸入圖像
dst:輸出圖像
rotateCode:
  ROTATE_180,順時針180°
  ROTATE_90_CLOCKWISE,順時針90°
  ROTATE_90_COUNTERCLOCKWISE,逆時針90°


flip(InputArray src, OutputArray dst, int flipCode);
src:輸入圖像
dst:輸出圖像
flipCode:
  >0表示y軸翻轉
  =0表示x軸翻轉
  <0表示xy軸同時翻轉

2、代碼示例

Video_Player_Roate_Flip::Video_Player_Roate_Flip(QWidget *parent)
    : QWidget{parent}
{
    this->setWindowTitle("圖片旋轉與鏡像");
    this->setFixedSize(320,480);
    //選擇圖片
    QPushButton *chooseImageBtn = new QPushButton(this);
    chooseImageBtn->setText("選擇圖片");
    connect(chooseImageBtn,&QPushButton::clicked,[=](){//選擇圖片
        chooseImage();
    });
    //圖像旋轉
    QRadioButton *rotate1 = new QRadioButton(this);
    rotate1->move(0,chooseImageBtn->y()+chooseImageBtn->height()+5);
    rotate1->setText("順時針180°");
    QRadioButton *rotate2 = new QRadioButton(this);
    rotate2->move(rotate1->x()+rotate1->width()+5,chooseImageBtn->y()+chooseImageBtn->height()+5);
    rotate2->setText("順時針90°");
    QRadioButton *rotate3 = new QRadioButton(this);
    rotate3->move(rotate2->x()+rotate2->width()+5,chooseImageBtn->y()+chooseImageBtn->height()+5);
    rotate3->setText("逆時針90°");
    connect(rotate1,&QRadioButton::clicked,[=](){
        showImageRoate(0);
    });
    connect(rotate2,&QRadioButton::clicked,[=](){
        showImageRoate(1);
    });
    connect(rotate3,&QRadioButton::clicked,[=](){
        showImageRoate(2);
    });

    //圖像鏡像
    QRadioButton *rotate4 = new QRadioButton(this);
    rotate4->move(0,rotate1->y()+rotate1->height()+5);
    rotate4->setText("沿y軸翻轉");
    QRadioButton *rotate5 = new QRadioButton(this);
    rotate5->move(rotate4->x()+rotate4->width(),rotate1->y()+rotate1->height()+5);
    rotate5->setText("沿x軸翻轉");
    QRadioButton *rotate6 = new QRadioButton(this);
    rotate6->move(rotate5->x()+rotate5->width(),rotate1->y()+rotate1->height()+5);
    rotate6->setText("沿xy軸翻轉");
    connect(rotate4,&QRadioButton::clicked,[=](){
        showImageFlip(0);
    });
    connect(rotate5,&QRadioButton::clicked,[=](){
        showImageFlip(1);
    });
    connect(rotate6,&QRadioButton::clicked,[=](){
        showImageFlip(2);
    });
}

void Video_Player_Roate_Flip::chooseImage(){
    path = QFileDialog::getOpenFileName(this,"選擇圖像","/Users/yangwei/Downloads/","Image File(*.jpg *.jpeg *.png *.bmp)");
    qDebug()<<path;
}

void Video_Player_Roate_Flip::showImageRoate(int type){
    Mat src = imread(path.toStdString().c_str());
    if(src.empty()){
        qDebug()<<"不能為空";
        return;
    }
    imshow("src",src);
    Mat dst;
    switch(type){
    case 0://
        cv::rotate(src,dst,ROTATE_180);//順時針180°
        break;
    case 1:
        cv::rotate(src,dst,ROTATE_90_CLOCKWISE);//順時針90°
        break;
    case 2:
        cv::rotate(src,dst,ROTATE_90_COUNTERCLOCKWISE);//逆時針90°
        break;
    }
    imshow("dst",dst);

}

void Video_Player_Roate_Flip::showImageFlip(int type){
    Mat src = imread(path.toStdString().c_str());
    if(src.empty()){
        qDebug()<<"不能為空";
        return;
    }
    imshow("src",src);
    Mat dst;
    switch(type){
    case 0:
        cv::flip(src,dst,1);//y軸翻轉
        break;
    case 1:
        cv::flip(src,dst,0);//x軸翻轉
        break;
    case 2:
        cv::flip(src,dst,-1);//xy軸翻轉
        break;
    }
    imshow("dst",dst);
}

3、演示圖像

opencv rotate,Qt開發(fā),opencv,計算機視覺,圖像處理,qt開發(fā),qt教程

?本文福利,費領取Qt開發(fā)學習資料包、技術視頻,內(nèi)容包括(C++語言基礎,Qt編程入門,QT信號與槽機制,QT界面開發(fā)-圖像繪制,QT網(wǎng)絡,QT數(shù)據(jù)庫編程,QT項目實戰(zhàn),QSS,OpenCV,Quick模塊,面試題等等)↓↓↓↓↓↓見下面↓↓文章底部點擊費領取↓↓文章來源地址http://www.zghlxwxcb.cn/news/detail-569629.html

到了這里,關于OpenCV圖像旋轉(cv::rotate)與鏡像(cv::flip)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Opencv-C++筆記 (16) : 幾何變換 (圖像的翻轉(鏡像),平移,旋轉,仿射,透視變換)

    Opencv-C++筆記 (16) : 幾何變換 (圖像的翻轉(鏡像),平移,旋轉,仿射,透視變換)

    圖像旋轉是指圖像按照某個位置轉動一定的角度的過程,旋轉中圖像仍保持著原始尺寸。圖像旋轉后圖像水平對稱軸、垂直對稱軸及中心坐標原點都可能會發(fā)生變換,因此需要對圖像旋轉中的坐標進行相應轉換。 假設有一個點:P(x,y),它在繞原點 O(0,0) 旋轉 β 后,被轉換成

    2024年02月14日
    瀏覽(109)
  • Qt-OpenCV學習筆記--基本函數(shù)操作--cv::convertTo(圖像類型轉換)

    Qt-OpenCV學習筆記--基本函數(shù)操作--cv::convertTo(圖像類型轉換)

    不是所有格式的Mat型數(shù)據(jù)都能被使用。 目前OpenCV主要只支持單通道和3通道的圖像,并且此時要求其深度為8bit和16bit無符號(即CV_16U),所以其他一些數(shù)據(jù)類型是不支持的,比如說float型等。 如果Mat類型數(shù)據(jù)的深度和通道數(shù)不滿足上面的要求,則需要使用convertTo()函數(shù)和cvtColor(

    2024年02月04日
    瀏覽(95)
  • Python實現(xiàn)圖像的平移、鏡像、旋轉(不調(diào)用CV自身函數(shù))

    Python實現(xiàn)圖像的平移、鏡像、旋轉(不調(diào)用CV自身函數(shù))

    老師布置的作業(yè)。。。。。 圖像的平移在幾何變換中算是最簡單的變換之一,話不多說,直奔主題 由圖可知,在opencv中圖像的原點一般為左上角,設初始坐標為 ( x 0 , x 0 ) (x_{0}, x_{0}) ( x 0 ? , x 0 ? ) 的經(jīng)過平移 ( △ x , △ y ) (bigtriangleup x, bigtriangleup y) ( △ x , △ y ) 后,坐

    2024年02月06日
    瀏覽(33)
  • Python OpenCV 圖像旋轉:實現(xiàn)圖像的隨意旋轉

    Python OpenCV 圖像旋轉:實現(xiàn)圖像的隨意旋轉 在數(shù)字圖像處理中,圖像旋轉是常見的一種圖像幾何變換操作。利用圖像旋轉,我們可以將圖片進行任意角度的旋轉,并且保持圖像內(nèi)容不失真。Python 中的 OpenCV 庫提供了豐富的圖像處理 API,包括了圖像旋轉操作。本文將介紹利用

    2024年02月12日
    瀏覽(29)
  • 【C++】【Opencv】cv::warpAffine()仿射變換函數(shù)詳解,實現(xiàn)平移、縮放和旋轉等功能

    【C++】【Opencv】cv::warpAffine()仿射變換函數(shù)詳解,實現(xiàn)平移、縮放和旋轉等功能

    仿射變換是一種二維變換,它可以將一個二維圖形映射到另一個二維圖形上,保持了圖形的“形狀”和“大小”不變,但可能會改變圖形的方向和位置。仿射變換可以用一個線性變換矩陣來表示,該矩陣包含了六個參數(shù),可以進行平移、縮放、旋轉等操作。通過原理、函數(shù)和

    2024年02月05日
    瀏覽(94)
  • Opencv 基礎(四):使用OpenCV進行圖像旋轉和平移

    Opencv 基礎(四):使用OpenCV進行圖像旋轉和平移

    如今,圖像編輯變得越來越流行,因為手機有內(nèi)置的功能,可以讓你 裁剪、旋轉 和更多的操作你的圖像。 這篇文章中,我們將探索和學習這些圖像編輯技術。具體來說,我們將學習如何: 旋轉圖像 移動圖像 圖像旋轉和平移是圖像編輯中最基本的操作之一。兩者都屬于廣義的

    2024年02月05日
    瀏覽(25)
  • opencv旋轉圖像

    opencv旋轉圖像

    原圖: 旋轉結果: 該方法可以理解為整個旋轉了圖像。 旋轉結果

    2024年02月09日
    瀏覽(18)
  • 【OpenCV ? c++】圖像幾何變換 | 圖像旋轉

    【OpenCV ? c++】圖像幾何變換 | 圖像旋轉

    ?? 個人簡介:CSDN「 博客新星 」TOP 10 , C/C++ 領域新星創(chuàng)作者 ?? 作 ?? 者: 錫蘭_CC ?? ?? 專 ?? 欄: 【OpenCV ? c++】計算機視覺 ?? 若有幫助,還請 關注?點贊?收藏 ,不行的話我再努努力?????? ??圖像的幾何變換是指在不改變圖像像素值的前提下對圖像像素進

    2024年02月16日
    瀏覽(99)
  • Python Opencv實踐 - 圖像旋轉

    Python Opencv實踐 - 圖像旋轉

    ?

    2024年02月13日
    瀏覽(24)
  • 【OpenCV】圖像變換(縮放、平移、旋轉、仿射)

    圖像變換是指通過對圖像進行縮放、平移、旋轉、仿射、透視等變換來改變圖像的形狀和大小。在本篇博客中,我們將詳細介紹OpenCV中的圖像變換函數(shù),并提供示例代碼以幫助讀者更好地理解這些函數(shù)的使用方法。 縮放變換是指通過改變圖像的大小來改變圖像的形狀。在Op

    2024年02月07日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包