你的方法是正确的.指定角点的坐标时会出现问题.我不知道你是如何计算它们的,但你已经交换了你的X轴和Y轴.这反映在应用于最终图像的变换中.我发现角点是:

ptsTrap = [[[ 99. 51.]]

[[ 64. 251.]]

[[ 234. 251.]]

[[ 199. 51.]]]

ptsRect = [[[ 102. 49.]]

[[ 100. 249.]]

[[ 200. 250.]]

[[ 200. 50.]]]

从这些点中查找透视变换会得到正确的结果:

作为参考,这是我使用的代码:

import cv2

import numpy as np

def find_corners(image):

im = cv2.Canny(image,100,200)

cnt = cv2.findContours(im,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)[0]

cnt = cv2.approxPolyDP(cnt[0],5,True)

return cnt.astype(np.float32)

def main(argv):

trap = cv2.imread('trap.png',cv2.IMREAD_GRAYSCALE)

rect = cv2.imread('rect.png',cv2.IMREAD_GRAYSCALE)

ptsTrap = find_corners(trap)

ptsRect = find_corners(rect)

T = cv2.getPerspectiveTransform(ptsTrap,ptsRect)

warp = cv2.warpPerspective(trap,rect.shape[:2])

cv2.imshow('',warp)

cv2.imwrite('warp.png',warp)

cv2.waitKey()

cv2.destroyAllWindows()

python写透视挂_python – OpenCV透视变换给出了意想不到的结果相关推荐

  1. python写透视挂_python opencv 透视变换

    可以缩小,不能放大: 只需要4个点坐标就可以了. # -*- coding: utf-8 -*- import os import numpy as np import cv2 list_path = ...

  2. python写透视挂_python opencv实现任意角度的透视变换实例代码

    本文主要分享的是一则python+opencv实现任意角度的透视变换的实例,具体如下: # -*- coding:utf-8 -*- import cv2 import numpy as np def ...

  3. python写透视挂_python环境opencv实现透视变化的方法

    1)构建4个点的矩阵 ,注意:透视变换需要4个点 至少三个不共线. 2)透视变换要3x3变换矩阵. 转换后直线是直线. 3)变换矩阵,输入要4个点,输出图像上需要相应的点. picSrc = np.f ...

  4. python写透视挂_python:Python实现数据的透视表

    前言 在处理数据时,经常需要对数据分组计算均值或者计数,在Microsoft Excel中,可以通过透视表轻易实现简单的分组运算.而对于更加复杂的分组运算,Python中pandas包可以帮助我们实现 ...

  5. python写表格_python写入表格

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import xlwt #导入xlwt 库 book =xlwt.workboo ...

  6. python数据挖掘视频_python+opencv实时视频目标检测

    python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...

  7. python写透视挂_透视变换 任意角度 三维透视 python c++ opencv两种语言

    效果图:键盘控制各个x,y,z,还有fov数值 一开始的w, h = img.shape[0:2]这里宽.高错乱,原因未知,只能这么用 python版本的: # -*- coding:utf-8 -* ...

  8. python写透视挂_如何用Python openCV 用透视变换的方法对图像进行矫正

    .需要矫正的图片1 需要矫正的图 矫正后的结果: 矫正后的图 需要矫正的图片2 矫正前 矫正后 # import the necessary packages from imutils.perspec ...

  9. python写透视挂_OpenCV的Python透视变换

    我有一个粗略的解决办法.您可以稍后修改它.在 我使用OpenCV中可用的鼠标处理操作裁剪给定热图中的感兴趣区域.在 (我刚才是不是说我用鼠标裁剪了这个区域?)是的,是的.在OpenCV SEE THI ...

  10. python写透视挂_opencv+python 透视变换

    # -*- coding:utf-8 -*- import cv2 import numpy as np def rad(x): return x * np.pi / 180 def coordina ...

最新文章

  1. Java调用python脚本
  2. 代码中的各种时间格式
  3. 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
  4. 《看聊天记录都学不会Python到游戏实战?太菜了吧》(8)我们开始做一个数字小游戏吧
  5. Oracle 建立序列以及触发器的建立
  6. docker pull 下载一半_Docker三个重要的基本操作,镜像,容量,仓库
  7. python画图包-Python 绘图包 Matplotlib Pyplot 教程
  8. RHEL 6.5 静默安装 oracle 11.2.4
  9. android游戏源码
  10. 推荐系统项目实战-电影推荐系统
  11. 单片机PWM波(AT89C51、ADC0808)
  12. 一个简单LEGv8处理器的Verilog实现【三】【工具使用和编程规范】
  13. 3S基础知识:MapInfo教程--二次开发入门
  14. 标准数独游戏-深搜解法
  15. 操作系统学习笔记十二(基于分页的虚拟存储系统)
  16. 用代码关闭冰刃(IceSword)
  17. python按某列拆分excel表格_利用Python+Pandas实现从一个excel表中提取列形成新表
  18. 经济基础知识(初级)【8】
  19. 电脑重装系统后经常蓝屏怎么解决
  20. iStat Menus ——mac上显示网速的软件下载地址及注册码

热门文章

  1. 正则表达式及常用大全
  2. Global.asax取绝对路径
  3. 无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本
  4. 吴恩达教授机器学习课程笔记【四】- 生成学习算法(1)高斯判别分析模型
  5. 微信公号“架构师之路”学习笔记(五)-数据库扩展性架构设计(水平切分,秒级扩容,平滑迁移,在线表结构变更,一个大数据量多属性高并发的数据库设计等)
  6. 如何通过a/a中的href刷新当前界面
  7. 数据库增量同步开源软件
  8. marathon 测试
  9. 钉钉自定义机器人 发送文本 换行 \n无效果
  10. luogu P3193 [HNOI2008]GT考试