OpenCV图像翻转:flip()函数的使用
功能描述
flip()函數(shù)翻轉(zhuǎn)一個二維的矩陣,包含垂直翻轉(zhuǎn),水平翻轉(zhuǎn),以及垂直水平翻轉(zhuǎn),
函數(shù) cv::flip 以以下三種方式之一翻轉(zhuǎn)矩陣(行和列索引從0開始):
函數(shù)使用示例方案如下:
-
flipCode =0,垂直翻轉(zhuǎn)圖像,是源圖像的top-left(左上)和bottom-left(左下)的交換,也就是說左上變成了左下,左下變成了左上,這是一個典型在的 Microsoft Windows操作系統(tǒng)里的視頻處理操作。
-
flipCode > 0,圖像的水平翻轉(zhuǎn),隨后的水平位移和絕對方差計算,是為了檢查圖像是否y軸對稱。
-
(flipCode < 0),圖像同時垂直翻轉(zhuǎn)和水平翻轉(zhuǎn),是為了以后的位移和絕對方差計算去檢查圖像是否是中心對稱。
-
反轉(zhuǎn)點陣隊列的順序(flipCode > 0 或flipCode == 0).
原型
CV_EXPORTS_W void flip(InputArray src, OutputArray dst, int flipCode);參數(shù)釋義
-
參數(shù) src 輸入矩陣.
-
參數(shù) dst 輸出矩陣,和輸入矩陣一樣大小。
-
參數(shù) flipCode 一個標志,決定怎么翻轉(zhuǎn)矩陣; 0 是圍繞著x軸翻轉(zhuǎn),正直是圍繞著y軸翻轉(zhuǎn),負值是圍繞著兩個軸一起翻轉(zhuǎn)。 around both axes.
-
參考 transpose , repeat , completeSymm
源碼示例
#include <iostream> #include <opencv2/opencv.hpp> ? int main() {cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\juice.png");cv::Mat image_fliped;cv::flip(image, image_fliped, 0); ?cv::imshow("原圖 juice", image);cv::imshow("垂直翻轉(zhuǎn) 圍繞x軸 juice", image_fliped); ?cv::flip(image, image_fliped, 1);cv::imshow("水平翻轉(zhuǎn) 圍繞Y軸 juice", image_fliped); ?cv::flip(image, image_fliped, -1);cv::imshow("水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)同時 圍繞X、Y軸 juice", image_fliped); ?cv::waitKey(0);return 0; }運行結(jié)果
垂直翻轉(zhuǎn) 圍繞x軸:
?
水平翻轉(zhuǎn) 圍繞Y軸
?
水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)同時 圍繞X、Y軸
?
總結(jié)
以上是生活随笔為你收集整理的OpenCV图像翻转:flip()函数的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv透视变换:GetPerspe
- 下一篇: OpenCV数据类型转换:cnvertT