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

图像的几何变换

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)
相关推荐
明月看潮生1 分钟前
青少年编程与数学 02-016 Python数据结构与算法 23课题、分布式算法
分布式·python·算法·青少年编程·编程与数学
一直走下去-明2 分钟前
使用python帮助艺术家完成角色动画和服装模型等任务
开发语言·图像处理·pytorch·python·opencv·ai作画
冠位观测者8 分钟前
【Leetcode 每日一题】2176. 统计数组中相等且可以被整除的数对
数据结构·算法·leetcode
幼儿园园霸柒柒30 分钟前
第七章:7.2求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。从主函数输入a、b、c的值
c语言·开发语言·算法·c#
阳洞洞1 小时前
leetcode 213. House Robber II
算法·leetcode·动态规划
梭七y1 小时前
【力扣hot100题】(099)寻找重复数
算法·leetcode·职场和发展
小媛早点睡1 小时前
贪心算法day11(用最少数量的箭引爆气球)
算法·贪心算法
飞天狗1111 小时前
数据结构——二叉树
数据结构·算法
WW_千谷山4_sch1 小时前
MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
c++·算法
Cosolar2 小时前
MCP技术应用全景:连接智能世界的万能接口
后端·算法