![](https://img.51dongshi.com/20241126/wz/18338253152.jpg)
一.圖像縮放圖像縮放是通過調用OpenCV庫中的`resize()`函數實現的,函數原型為`result = cv2.resize(src, dsize[, result[. fx[, fy[, interpolation]]]])`。其中,`src`表示原始圖像,`dsize`表示縮放后的大小,`fx`和`fy`可以表示縮放比例。例如,`result = cv2.resize(src, (160,160))`表示將圖像縮放至160x160像素,或者`result = cv2.resize(src, None, fx=0.5, fy=0.5)`表示將圖像縮小為原來的一半。縮放公式為`設(x0, y0)是縮放后的坐標,(x, y)是縮放前的坐標,sx、sy為縮放因子,則公式如下:`。以`cv2.resize(src, (200,100))`為例,設置的`dsize`是列數為200,行數為100,輸出結果通常會顯示圖像縮小為特定大小的效果。二、圖像旋轉圖像旋轉通過調用`getRotationMatrix2D()`函數獲取旋轉矩陣,再通過`warpAffine()`函數應用該矩陣完成旋轉。函數原型為`M = cv2.getRotationMatrix2D((cols/2, rows/2), 30, 1)`,其中參數分別為旋轉中心、旋轉角度和縮放比例。隨后,`rotated = cv2.warpAffine(src, M, (cols, rows))`完成圖像的旋轉操作。旋轉公式為`設(x0, y0)是旋轉后的坐標,(x, y)是旋轉前的坐標,(m,n)是旋轉中心,a是旋轉的角度,(left,top)是旋轉后圖像的左上角坐標,則公式如下:`。例如,`M = cv2.getRotationMatrix2D((cols/2, rows/2), -90, 1)`表示將圖像逆時針旋轉90度。三、圖像翻轉圖像翻轉是通過`flip()`函數實現的,函數原型為`dst = cv2.flip(src, flipCode)`。`src`表示原始圖像,`flipCode`表示翻轉方向。如果`flipCode`為0,則以X軸為對稱軸翻轉;如果`flipCode`大于0,則以Y軸為對稱軸翻轉;如果`flipCode`小于0,則在X軸、Y軸方向同時翻轉。代碼示例中會展示圖像翻轉前后的對比效果。四、圖像平移圖像平移是通過定義平移矩陣M,再調用`warpAffine()`函數實現的。函數原型為`M = np.float32([[1, 0, x], [0, 1, y]])`,其中`x`和`y`為圖像平移的水平和垂直偏移量。平移公式為`設(x0, y0)是縮放后的坐標,(x, y)是縮放前的坐標,dx、dy為偏移量,則公式如下:`。完整代碼將顯示圖像平移后的效果。