flip函數用於圖像翻轉,比較方便。在opencv中有幾種形式:
C++: void flip(InputArray src, OutputArray dst, int flipCode)
- Python: cv2. flip (src, flipCode[, dst]) → dst
- C: void cvFlip (const CvArr* src, CvArr* dst=NULL, int flipMode=0 )
- Python: cv. Flip (src, dst=None, flipMode=0) → None
- 參數: src ------ 原始圖像矩陣;
-
dst ----- 變換后的矩陣;
- flipMode ---- 翻轉模式,有三種模式:
-
(注: 0 --- 垂直方向翻轉; 1----- 水平方向翻轉; -1:水平、垂直方向同時翻轉)
- 示例: (來源於: https://blog.csdn.net/xiangxianghehe/article/details/71600519)
#include <opencv2/opencv.hpp> using namespace std; using namespace cv;//包含cv命名空間 int main() { Mat src_img = imread("D:\\1.png");//imread()函數載入圖像 //從文件中讀入圖像,注意圖像路徑最好不要用相對路徑,因為CLion生成的exe不在當前目錄下。 if(src_img.empty()) { fprintf(stderr, "Can not load image\n");//如果讀入圖像失敗,返回錯誤信息 return -1; } //顯示圖像 imshow("origin image and rotate operation", src_img);//imshow()函數顯示圖像 Mat des_img; flip(src_img,des_img,1);//1代表水平方向旋轉180度 //flip(src_img,des_img,0);//0代表垂直方向旋轉180度 //flip(src_img,des_img,-1);//-1代表垂直和水平方向同時旋轉 imshow(" after rotate operation", des_img);//imshow()函數顯示圖像 waitKey(); return 0; }