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

OpenCV圖像旋轉(zhuǎn)Rotate的詳細介紹

 更新時間:2022年05月01日 10:10:20   作者:翟天保Steven  
這篇文章主要介紹了OpenCV圖像旋轉(zhuǎn)Rotate,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

功能函數(shù)

// 圖像旋轉(zhuǎn)
void Rotate(const cv::Mat &srcImage, cv::Mat &dstImage, double angle, cv::Point2f center, double scale)
{
	cv::Mat M = cv::getRotationMatrix2D(center, angle, scale);//計算旋轉(zhuǎn)的仿射變換矩陣 
	cv::warpAffine(srcImage, dstImage, M, cv::Size(srcImage.cols, srcImage.rows));//仿射變換  
}

 getRotationMatrix2D函數(shù)原型

getRotationMatrix2D用來獲得旋轉(zhuǎn)的仿射變換矩陣。

Mat getRotationMatrix2D(Point2f center, double angle, double scale);

getRotationMatrix2D參數(shù)說明

  • Point2f類型的center,旋轉(zhuǎn)中心。
  • double類型的angle,逆時針旋轉(zhuǎn)的角度。
  • double類型的scale,圖像旋轉(zhuǎn)后的尺寸比例。

warpAffine函數(shù)原型

warpAffine用來仿射變換。

void warpAffine( InputArray src, OutputArray dst,
                 InputArray M, Size dsize,
                 int flags = INTER_LINEAR,
                 int borderMode = BORDER_CONSTANT,
                 const Scalar& borderValue = Scalar());

warpAffine參數(shù)說明

  • InputArray類型的src,輸入圖像。
  • OutputArray類型的dst,輸出圖像。
  • InputArray類型的M,仿射變換矩陣。
  • Size類型的dsize,輸出圖像的大小。
  • int類型的flags,插值方法。
  • int類型的borderMode,邊界填充方法。
  • const Scalar&類型的borderValue,邊界填充數(shù)值。

C++測試代碼

#include <iostream>
#include <opencv.hpp>
using namespace std;
using namespace cv;
// 圖像旋轉(zhuǎn)
void Rotate(const cv::Mat &srcImage, cv::Mat &dstImage, double angle, cv::Point2f center, double scale)
{
	cv::Mat M = cv::getRotationMatrix2D(center, angle, scale);//計算旋轉(zhuǎn)的仿射變換矩陣 
	cv::warpAffine(srcImage, dstImage, M, cv::Size(srcImage.cols, srcImage.rows));//仿射變換  
}
int main()
{
	// 載入圖像
	cv::Mat src = imread("0.jpg");
	cv::Mat dst;
	// 定義參數(shù)
	int row = src.rows;
	int col = src.cols;
	double angle = 30;
	cv::Point2f center(col / 2, row / 2);
	double scale = 0.5;
	// 圖像旋轉(zhuǎn)
	Rotate(src, dst, angle, center, scale);
	// 顯示圖像
	imshow("src", src);
	imshow("result", dst);
	waitKey(0);
	system("pause");
	return 0;
}

測試效果

圖原圖

圖2 旋轉(zhuǎn)30°

圖3原圖大小旋轉(zhuǎn)45

不難看出,旋轉(zhuǎn)后原圖的尺寸已經(jīng)無法滿足圖像要求了,此時可以縮小比例,也可以擴展整圖尺寸使其完全覆蓋。

到此這篇關(guān)于OpenCV圖像旋轉(zhuǎn)Rotate的文章就介紹到這了,更多相關(guān)OpenCV圖像旋轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

作者:翟天保Steven
版權(quán)聲明:著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處

相關(guān)文章

  • 基于Qt實現(xiàn)日志打印系統(tǒng)

    基于Qt實現(xiàn)日志打印系統(tǒng)

    這篇文章主要為大家詳細介紹了如何利用Qt開發(fā)一個日志打印系統(tǒng),可以實現(xiàn)打印日志按日期、大小保存,過期刪除,窗口實時顯示日志,網(wǎng)絡傳輸日志遠程調(diào)試,需要的可以參考下
    2023-12-12
  • C語言解數(shù)獨程序的源碼

    C語言解數(shù)獨程序的源碼

    這篇文章主要為大家詳細介紹了C語言解數(shù)獨程序的源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C語言中的分支循環(huán)其嵌套語句

    C語言中的分支循環(huán)其嵌套語句

    這篇文章主要介紹了C語言中的分支循環(huán)其嵌套語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言?const修飾普通變量和指針的操作代碼

    C語言?const修飾普通變量和指針的操作代碼

    這篇文章主要介紹了C語言const修飾普通變量和指針,用const修飾普通變量時,是在語法層面限制了變量的修改,但是本質(zhì)上,變量還是變量,是一種不能被修改的變量,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • C語言實現(xiàn)電話簿項目

    C語言實現(xiàn)電話簿項目

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)電話簿項目,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言實現(xiàn)計算樹的深度的方法

    C語言實現(xiàn)計算樹的深度的方法

    這篇文章主要介紹了C語言實現(xiàn)計算樹的深度的方法,針對數(shù)據(jù)結(jié)構(gòu)中樹進行操作的方法,在算法設(shè)計中比較常見,需要的朋友可以參考下
    2014-09-09
  • C++計算圖任意兩點間的所有路徑

    C++計算圖任意兩點間的所有路徑

    這篇文章主要為大家詳細介紹了C++求圖任意兩點間的所有路徑 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C++實現(xiàn)職工工資管理系統(tǒng)

    C++實現(xiàn)職工工資管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單的職工工資管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C/C++內(nèi)存泄漏原因分析與應對方法

    C/C++內(nèi)存泄漏原因分析與應對方法

    內(nèi)存泄漏會導致當前應用程序消耗更多的內(nèi)存,使得其他應用程序可用的內(nèi)存更少了,那么為什么會內(nèi)存泄漏,我們應該怎樣應對內(nèi)存泄漏,所以接下來就給大家詳細介紹一下C++內(nèi)存泄漏原因分析與應對方法,需要的朋友可以參考下
    2023-07-07
  • C++實現(xiàn)PatchMatch圖像修復算法

    C++實現(xiàn)PatchMatch圖像修復算法

    這篇文章主要介紹了C++實現(xiàn)PatchMatch圖像修復算法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論