透视变换

简介: 【5月更文挑战第15天】透视变换。

透视变换会将图像转换为任意的四边形,其主要特点是:原始图像中的所有直线在转换后的图像中仍然是直线。OpenCV的cv2.warpPerspective()函数用于执行透视变换操作,其基本格式如下。
dst=cv2.warpPerspective(src,M,dsize[,flags[,borderMode[,borderValue]]])
其中,M是大小为3×3的转换矩阵,其他参数含义与cv2.warpAffine()函数中的一致。
OpenCV的cv2.getPerspectiveTransform()函数用于计算透视变换使用的转换矩阵,其基本格式如下。
M=cv2.getPerspectiveTransform(src,dst)
参数说明如下。
src为原图像中4个点的坐标。
dst为原图像中4个点在转换后的目标图像中的对应坐标。
示例代码如下。

图像的透视变换

import cv2
import numpy as np
img=cv2.imread('bee.jpg') #读取图像
cv2.imshow('img',img) #显示图像
height=img.shape[0] #获得图像高度
width=img.shape[1] #获得图像宽度
dsize=(width,height)
src=np.float32([[0,0],[width-10,0],
[0,height-10],[width-1,height-1]]) #取原图像中的4个点
dst=np.float32([[50,50],[width-50,80],[50,height-100],
[width-100,height-10]]) #设置4个点在目标图像中的坐标
m = cv2.getPerspectiveTransform(src, dst) #创建转换矩阵
img2=cv2.warpPerspective(img,m,dsize) #执行转换
cv2.imshow('imgFourPoint',img2) #显示图像
cv2.waitKey(0)

目录
相关文章
|
7月前
|
缓存 IDE 开发工具
Dev C++ 5.11开发编辑器 安装教程:详细步骤+自定义安装路径(附简体中文设置)
本文详解Dev-C++ 5.11的下载、解压、安装及首次配置全流程,涵盖自定义安装路径与简体中文设置,步骤清晰、图文对应,零基础初学者也能轻松上手,快速搭建C/C++开发环境。(239字)
|
12月前
|
存储 编解码 人工智能
阿里云服务器计算型c7、c8a、c8y、c8i、c9i实例性能、场景、价格对比及选型指南
在挑选阿里云服务器实例规格时,计算型实例因其CPU与内存的1:2比例,成为了众多网站应用、批量计算、视频编码等企业级应用场景的理想之选。在阿里云的丰富活动中,计算型实例涵盖了c7、c8a、c8y、c8i及c9i等多个规格,尽管同属计算型实例,但不同规格在处理器架构、存储技术、网络协议及安全特性有所不同,因此适用场景也不是完全一样的。本文为大家解析这些实例规格的性能特点、适用场景及选型建议。
1744 1
阿里云服务器计算型c7、c8a、c8y、c8i、c9i实例性能、场景、价格对比及选型指南
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
存储 JSON 安全
Token验证技术文档
【7月更文挑战第6天】Token验证是现代Web应用中常见的安全措施,用于确保用户身份的合法性和请求的安全性。它基于令牌(Token)的概念,通过在客户端和服务端之间传递一个安全的、有时限的字符串来验证用户身份,替代传统的基于会话的认证机制。本文档旨在介绍一种基本的Token验证流程,并提供一个简单的代码示例,使用JSON Web Tokens (JWT) 实现这一过程。
2079 1
|
SQL XML Java
excel转sql小工具
该工具用于将Excel数据转换为SQL INSERT语句,便于历史数据迁移到新数据库。通过配置文件定义Excel表头与数据库字段的映射关系,并支持默认值设置及spEL表达式。主要依赖包括EasyExcel读取Excel,以及Lombok、Hutool等辅助工具。项目包含`Excel2SqlUtils.java`和`Excel2SqlListener.java`两个核心类,前者负责加载配置文件,后者实现数据读取与SQL语句生成。配置文件`model.yml`定义了具体的映射规则。
808 1
|
人工智能 Java 程序员
一文彻底搞清楚C语言的条件语句的Switch语句
本文详细介绍了C语言中的switch语句,包括其语法格式、运行流程、示例代码及注意事项。switch语句不仅使多分支选择更加清晰易读,还能在某些情况下提升性能。通过具体实例,如判断月份天数和数字转星期,帮助读者更好地理解和应用这一控制结构。
1455 1
一文彻底搞清楚C语言的条件语句的Switch语句
qwen2.5 7b w8a8量化推理
qwen2.5 7B模型的a8w8量化推理
955 0
|
存储 监控 安全
防止证书被伪造
防止证书被伪造
499 10
|
机器学习/深度学习 人工智能 测试技术
探索AI在软件开发中的应用:提升效率与创新
【10月更文挑战第25天】本文探讨了AI在软件开发中的应用,包括自动化测试、代码生成与优化、智能项目管理等方面,介绍了TensorFlow、PyTorch和GitHub Copilot等实用工具,展望了AI在未来的潜力,并强调了AI对提升开发效率和创新能力的重要性。
|
算法 Serverless 计算机视觉
使用OpenCV和Python进行极线校正
使用OpenCV和Python进行极线校正
827 1

热门文章

最新文章