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

图像的几何变换

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

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.mzph.cn/news/853463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sap怎么批量给信息记录打上删除标识

1.MEMASSIN-----事务代码 2.选择完成字段 3.根据条件查询需要冻结的信息记录 4.输入查询条件 5.全部勾选完成标识,点击保存,即可冻结完成

盘点国内外免费AI视频工具,助你先人一步拥抱AI

哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。 6月13日,Luma AI 在 X 平台(原 Twitter)宣布其视频生成模型 Dream Machine 开放测试,并提供免费试用,这在海外 AI 圈掀起了一…

配置中心理论学习

配置中心是一种用于集中管理应用程序配置信息的系统或服务。在微服务架构中,由于服务数量众多且可能分布在不同的环境中,配置中心的作用尤为突出。它允许开发者将配置信息从应用程序代码中分离出来,集中存储和管理,从而提高配置的…

买什么样的护眼大路灯比较好?五款专业级别的护眼灯推荐

在这个生活节奏的加快和科技的进步的时代,许多家长越来越关注生活质量以及身心健康问题。其中孩子的眼睛视力健康也逐渐引起了家长们的注意。 现在的孩子从早上睁开眼就开始学习,有时候还需要使用到电子产品辅助学习,晚上的写作业的情况更是…

【perl】基本语法 /备忘录/

分享 perl 语言学习资源 Perl 教程|极客教程 (geek-docs.com) Perl [zh] (runebook.dev) Perl 运算符 | 菜鸟教程 (runoob.com) Perl Documentation - Perldoc Browser Search the CPAN - metacpan.org 当然还有一些经典书籍,不再列举。 1、数字 1.1、数字表…

判断QT程序是否重复运行

打开exe&#xff0c;再次打开进行提示。 main.cpp添加&#xff1a; #include "QtFilePreview.h" #include <QtWidgets/QApplication> #include <windows.h> #include <qmessagebox.h> #pragma execution_character_set("utf-8")bool Ch…

免费个人站 独立站 wordpress 自建网站

制作免费网站 | 免费网站构建器 | WordPress.com https://bioinformatics7.wordpress.com WordPress.com

【总线】设计fpga系统时,为什么要使用总线?

目录 为什么用总线 为什么选择AMBA 总结 系列文章 【总线】AMBA总线架构的发展历程-CSDN博客 【总线】设计fpga系统时&#xff0c;为什么要使用总线&#xff1f;-CSDN博客 【总线】AMBA总线家族的明星成员&#xff1a;AXI协议简介-CSDN博客 为什么用总线 在FPGA系统设计…

【Python安装教程】2024年最新版Python环境搭建及模块安装,保姆教程,手把手操作,不信你还不会!

前言 Python 可应用于多个平台&#xff0c;如 Windows 、 Linux 和 MacOS 。 如何检测电脑是否安装了Python&#xff1f; 按键盘winR键&#xff0c;打开运行框。输入CMD&#xff0c;回车确定。输入where Python后回车&#xff0c;如有安装则会显示Python的安装位置。如未安装…

原码、反码和补码

原码 原码是数字的二进制表示方式&#xff0c;由符号位和绝对值&#xff08;数值位&#xff09;构成。原码的第一位代表符号位&#xff08;0 代表正数&#xff0c;1 代表负数&#xff09;&#xff1b;第二位开始就是数字的绝对值。 反码 反码的表示方法区分正负数。 正数时…

欧洲杯德语词汇与表达,柯桥零基础德语培训

欧洲杯 - die Europameisterschaft 足球 - der Fuball 比赛 - das Spiel / die Partie 球员 - der Spieler 教练 - der Trainer 裁判 - der Schiedsrichter 球迷 - die Fans 进球 - das Tor 守门员 - der Torwart / der Torhter 前锋 - der Strmer 中场 - der Mittelf…

C语言经典指针运算笔试题图文解析

指针运算常常出现在面试题中&#xff0c;画图解决是最好的办法。 题目1&#xff1a; #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } //程序的结果是什么&…

安装包的方式安装哪吒agent被控端(黑群晖也一样)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 前言 前几天&#xff0c;收了台服务器&#xff0c;16核16G的&#xff0c;价格也不贵&#xff0c;之前我记得发过文章推荐过&#xff0c;这几天搞了搞&#xff0c;性能还不错&#xff0c;…

javaWeb项目-ssm+jsp学生请假系统功能介绍

本项目源码:java-ssm-jsp学生请假系统源码说明文档资料资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL…

文章MSM_metagenomics(一):介绍

介绍 欢迎大家关注全网生信学习者系列&#xff1a; WX公zhong号&#xff1a;生信学习者Xiao hong书&#xff1a;生信学习者知hu&#xff1a;生信学习者CDSN&#xff1a;生信学习者2 用于复现Huang et al. [huang2024establishment]研究分析的计算工作流程&#xff0c;所有复…

笨蛋学算法之LeetCodeHot100_1_两数之和(Java)

package com.lsy.leetcodehot100;public class _Hot1_两数之和 {//自写方法public static int[] twoSum1(int[] nums, int target) {//定义存放返回变量的数组int[] arr new int[2];//遍历整个数组for (int i 0; i < nums.length; i) {//从第二个数开始相加判断for (int j…

LLM 学习之「向量数据库」

LLM 学习之「向量数据库」 什么是向量数据库&#xff1f; 向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示&#xff08;向量&#xff09;&#xff0c;这得益于自然语言处理和计算机视…

阿里云系列产品免费用,不香吗?

阿里云系列产品免费用&#xff0c;不香吗&#xff1f; 什么是无影云电脑开启无影云下载安装客户端登录无影云桌面应用场景 开篇先发布一下阿里云产品免费体验地址&#xff1a;https://free.aliyun.com/?utm_contentg_1000370296 下面开始我的无影云电脑或者叫做无影云桌面的体…

Anaconda环境安装失败的解决方案

链接步骤的补充。 为了运行marlib&#xff0c;需要一个全新的Anaconda环境。但是&#xff0c;不想把文件安装在C盘&#xff0c;会造成空间不足。于是试着在.condarc文件里面改动了路径&#xff0c;具体如图。 上图中&#xff0c;在defaults前面添加了D盘的路径作为安装路径。 …

微型操作系统内核源码详解系列五(1):arm cortex m3架构

系列一&#xff1a;微型操作系统内核源码详解系列一&#xff1a;rtos内核源码概论篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列二&#xff1a;微型操作系统内核源码详解系列二&#xff1a;数据结构和对象篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列…