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

图像的几何变换

3.图像的旋转

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

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()函数实现。

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. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 22:30:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 22:30:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 22:30:01       82 阅读
  4. Python语言-面向对象

    2024-06-15 22:30:01       91 阅读

热门阅读

  1. 工厂方法模式和抽象工厂

    2024-06-15 22:30:01       25 阅读
  2. Python字典基本用法

    2024-06-15 22:30:01       27 阅读
  3. odoo16 档案管理中的视频档案的上传与播放

    2024-06-15 22:30:01       22 阅读
  4. 企业开源免费和开源的堡垒机选型方案

    2024-06-15 22:30:01       25 阅读
  5. 计算机类期刊含金量横纵向对比(二)

    2024-06-15 22:30:01       35 阅读
  6. ubuntu20.0.4下安装PyTorch

    2024-06-15 22:30:01       30 阅读