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

Python Opencv实践 - 图像透射变换

import cv2 as cv
import numpy as np
import matplotlib.pyplot as pltimg = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)
rows,cols = img.shape[:2]
print(rows,cols)#opencv中的透射变换,需要一个3x3透射变换矩阵
#这个矩阵可以通过cv.getPerspectiveTransform(src,dst)获得
#src是原图中的4个点的坐标,dst是目标图像中的4个点的坐标(任意三个点不共线)
#参考资料:https://blog.csdn.net/qq_50394133/article/details/123832496
srcPts = np.float32([[56,65],[368,52],[28,387],[389,390]])
dstPts = np.float32([[100,145],[300,100],[80,290],[310,300]])
M_perspective = cv.getPerspectiveTransform(srcPts,dstPts)#图像透射变换
#cv.warpPerspective(src,M,dsize,dst,flags,borderMode,borderValue)
img_perspective = cv.warpPerspective(img,M_perspective,(cols,rows))#显示图像
fig,axes = plt.subplots(nrows=1, ncols=2, figsize=(12,12), dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("Original")
axes[1].imshow(img_perspective[:,:,::-1])
axes[1].set_title("Perspective Transform")

 

 

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

相关文章:

  • SpringBoot + Vue 微人事项目(第二天)
  • 【AIGC】 快速体验Stable Diffusion
  • Python入门【动态添加属性和方法、正则表达式概述、match函数的使用、常用匹配符、限定符 、限定符使用示例】(二十九)
  • 《Go 语言第一课》课程学习笔记(四)
  • 制定建立商务模式财务及企业管理信息系统的解决方案
  • UE Json Operate 解析嵌套数组
  • sd-webui安装comfyui扩展
  • Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验
  • LeetCode235. 二叉搜索树的最近公共祖先
  • 设计模式——建造者(Builder)模式
  • Java课题笔记~ SpringBoot概述
  • python优雅地爬虫!
  • UVM RAL后门访问配置
  • 数学建模之“灰色预测”模型
  • 深入探讨 Oxigen:Rust 实现的并行遗传算法框
  • Flink-----Standalone会话模式作业提交流程
  • 算法与数据结构(七)--堆
  • 软件工程概述-架构师(三)
  • 华为手机Outlook手机APP无法登录邮箱,提示[2002]错误代码
  • “深入探究JVM内部结构与工作原理:解析Java虚拟机“
  • windows下redis服务启动及.bat文件中中redis服务的启动
  • 【学习笔记之vue】 Cannot find module ‘node-sass‘
  • POSTGRESQL 关于安装中自动启动的问题 详解
  • Java寻找数组的中心下标
  • ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同
  • 解决 Maven 创建 Spring Boot 项目时出现 “Cannot access alimaven“ 错误的方法
  • 设计模式——适配器模式
  • 如何区分闰年与平年
  • 中间件(下)
  • LVS-DR的RS进行ARP抑制的原因和LVS持久连接配置