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

图像的几何变换

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)
相关推荐
handler016 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
minglie112 分钟前
实数列的常用递推模式
算法
代码小书生31 分钟前
math,一个基础的 Python 库!
人工智能·python·算法
AI科技星33 分钟前
全域数学·数术本源·高维代数卷(72分册)【乖乖数学】
人工智能·算法·数学建模·数据挖掘·量子计算
生成论实验室39 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第一篇:生成正在发生——从《即事经》到事件-关系网络
人工智能·科技·算法·架构·创业创新
漂流瓶jz44 分钟前
UVA-1152 和为0的4个值 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·二分查找·题解·aoapc·算法竞赛入门经典·uva
leoufung1 小时前
LeetCode 76:Minimum Window Substring 题解与滑动窗口思维详解
算法·leetcode·职场和发展
小O的算法实验室1 小时前
2026年IEEE TETCI,山区环境下基于双种群进化的协同无人机巡逻任务协同优化,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
生成论实验室1 小时前
《事件关系阴阳博弈动力学:识势应势之道》第二篇:阴阳博弈——认知的动力学基础
数据结构·人工智能·科技·神经网络·算法
风筝在晴天搁浅2 小时前
字节高频题 小于n的最大数
算法