【计算机视觉】人脸算法之图像处理基础知识(五)

图像的几何变换

3.图像的旋转

图像的旋转就是让图像按照某一点旋转到指定的角度。需要确定3个参数:图像的旋转中心、旋转角度和缩放因子。在openv中通过getRotationMatrix2D()函数来实现图像的旋转。

python 复制代码
import cv2
import numpy as np

imgpath = "images/img1.jpg"
img = cv2.imread(imgpath, 1) 
img = cv2.resize(img, (0, 0), fx=0.5, fy=0.5) 
height, width = img.shape[:2]

# 得到变换矩阵
M = cv2.getRotationMatrix2D((width/2, height/2), 45, 1)  #中心旋转45度,不缩放
# 旋转变换
translated_img = cv2.warpAffine(img, M, (width, height))
cv2.imshow('Original Image', img)
cv2.imshow('Translated Image', translated_img)
cv2.waitKey(0)

4.图像的镜像变换

图像的镜像变换分为两种:水平镜像和垂直镜像。在opencv中通过flip()函数实现。

python 复制代码
import cv2
import numpy as np

imgpath = "images/img1.jpg"
img = cv2.imread(imgpath, 1) 
img = cv2.resize(img, (0, 0), fx=0.25, fy=0.25) 

x_img = cv2.flip(img, 1)  #X轴,水平翻转
y_img = cv2.flip(img, 0)  #Y洲,垂直翻转
xy_img = cv2.flip(img, -1)#水平垂直同时翻转
cv2.imshow("img", img)
cv2.imshow("x_img", x_img)
cv2.imshow("y_img", y_img)
cv2.imshow("xy_img", xy_img)
cv2.waitKey(0)
相关推荐
AI 嗯啦6 分钟前
数据结构深度解析:二叉树的基本原理
数据结构·算法
和光同尘@1 小时前
66. 加一 (编程基础0到1)(Leetcode)
数据结构·人工智能·算法·leetcode·职场和发展
CHEN5_021 小时前
leetcode-hot100 11.盛水最多容器
java·算法·leetcode
songx_991 小时前
leetcode18(无重复字符的最长子串)
java·算法·leetcode
max5006002 小时前
实时多模态电力交易决策系统:设计与实现
图像处理·人工智能·深度学习·算法·音视频
其古寺2 小时前
贪心算法与动态规划:数学原理、实现与优化
算法·贪心算法·动态规划
rit84324993 小时前
基于灰狼算法(GWO)优化支持向量回归机(SVR)参数C和γ的实现
c语言·算法·回归
蒋士峰DBA修行之路3 小时前
实验五 静态剪枝
数据库·算法·剪枝
蒋士峰DBA修行之路3 小时前
实验六 动态剪枝
数据库·算法·剪枝
Tim_103 小时前
【算法专题训练】20、LRU 缓存
c++·算法·缓存