当前位置: 首页 > news >正文

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

图像的几何变换

图像的几何变换是指在不改变图像内容的前提下对图像的像素进行空间几何变换。主要包括图像的平移变换、镜像变换、缩放和旋转等。

1.插值算法

插值通常用来放缩图像大小,在图像处理中常见的插值算法有最邻近插值法、双线性插值法、二次立方、三次立方插值等。在opencv中的实现如下。

import cv2imgpath = "images/img1.jpg"
img = cv2.imread(imgpath, 1) #以灰度化的方式加载图像
img = cv2.resize(img, (img.shape[1]//2, img.shape[0]//2),interpolation=cv2.INTER_LINEAR) #采用双线性插值方式,将图像面积缩小为原图的1/4
cv2.imshow("dst", img)
cv2.waitKey(0) 

opencv中常用的插值方式

cv2.INTER_NEAREST:最邻近插值
cv2.INTER_LINEAR:    双线性插值
cv2.INTER_CUBIC:      立方插值(适用于放大)

在这里插入图片描述

2.图像平移

图像的平移变换就是将图像所有的像素坐标加上指定的水平偏移量和垂直偏移量。在opencv中可以使用warpAffine函数实现

import cv2
import numpy as npimgpath = "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]# 定义平移向量
tx = 50  # 水平平移距离
ty = 30  # 垂直平移距离
translation_matrix = np.float32([[1, 0, tx], [0, 1, ty]])
# 应用平移变换
translated_img = cv2.warpAffine(img, translation_matrix, (width, height))
cv2.imshow('Original Image', img)
cv2.imshow('Translated Image', translated_img)
cv2.waitKey(0)

在这里插入图片描述

http://www.lryc.cn/news/378334.html

相关文章:

  • 探索 Spring Boot 集成缓存功能的最佳实践
  • 微信小程序使用方法
  • 前后端分离的后台管理系统源码,快速开发OA、CMS网站后台管理、毕业设计项目
  • [深度学习]--分类问题的排查错误的流程
  • 微信小程序简易录音机
  • Ollama深度探索:AI大模型本地部署的全面教程
  • 文心一言 VS 讯飞星火 VS chatgpt (285)-- 算法导论21.2 4题
  • 基于springboot实现影院订票系统项目【项目源码+论文说明】计算机毕业设计
  • Linux 常用命令合集
  • Vue3插件安装
  • Redis精要
  • 国产24位I2S输入+192kHz立体声DAC音频数模转换器CJC4344
  • UniApp 开发微信小程序教程(一):准备工作和环境搭建,项目结构和配置
  • [WTL/Win32]_[中级]_[MVP架构在实际项目中的应用]
  • 《Windows API每日一练》5.2 按键消息
  • adb 截屏和录屏命令
  • springboot相关的一些知识
  • DP:完全背包+多重背包问题
  • 购物返利系统的安全性:防范欺诈与数据保护
  • 从WebM到MP3:利用Python和wxPython提取音乐的魔法
  • 图片转pdf,图片转pdf在线转换,在线图片转pdf
  • SpringBoot3使用Swagger3
  • 【51单片机基础教程】点亮led
  • Docker之overlay2的迁移
  • CentOS中的rename命令
  • redis.conf 参数详解,方便进行性能优化配置
  • 微信小程序登录流程详情及Java代码
  • c++qt合并两张灰度图像
  • Uniapp通过年月日时间转变星期格式
  • 如何编写和执行高效的测试计划