Python+OpenCV 图像透视变换 warpPerspective函数

  • 1、函数介绍
  • 2、代码实例
  • 3、实现效果

1、函数介绍

warpPerspective():对图像进行透视变换。简单来说,就是有这么一副图像,它的拍摄视角不是从正面拍摄的,而是带有一定的角度,我们希望能得到从正面观察的视角。

2、代码实例

这里我们用一张从斜上方拍摄的四张扑克牌的图片,用图像透视法提取出J、Q、K三张扑克牌的主视角图。
代码如下

import cv2
import numpy as npimg = cv2.imread("Photos/cards.jpg")width,height = 250,350  #所需图像大小#找K
pts1 = np.float32([[527,144],[772,192],[404,396],[677,457]])  #所需图像部分四个顶点的像素点坐标
pts2 = np.float32([[0,0],[width,0],[0,height],[width,height]]) #定义对应的像素点坐标
matrix_K = cv2.getPerspectiveTransform(pts1,pts2)  #使用getPerspectiveTransform()得到转换矩阵
img_K = cv2.warpPerspective(img,matrix_K,(width,height))  #使用warpPerspective()进行透视变换#找Q
pts3 = np.float32([[63,325],[340,279],[89,634],[403,573]])
pts4 = np.float32([[0,0],[width,0],[0,height],[width,height]])
matrix_Q = cv2.getPerspectiveTransform(pts3,pts4)
img_Q = cv2.warpPerspective(img,matrix_Q,(width,height))#找J
pts5 = np.float32([[777,107],[1019,84],[842,359],[1117,332]])
pts6 = np.float32([[0,0],[width,0],[0,height],[width,height]])
matrix_J = cv2.getPerspectiveTransform(pts5,pts6)
img_J = cv2.warpPerspective(img,matrix_J,(width,height))cv2.imshow("Original Image",img)
cv2.imshow("img K",img_K)
cv2.imshow("img Q",img_Q)
cv2.imshow("img J",img_J)cv2.waitKey(0)

3、实现效果


【Python+OpenCV 图像透视变换 warpPerspective函数】相关推荐

  1. python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例

    python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...

  2. python opencv 实现透视变换——将侧视图进行正投影

    python opencv 实现透视变换--将侧视图进行正投影 这个方法可以将倾斜拍摄的四边形图片投影成矩形,在图像处理工程里经常要用,之前写过一个C语言版本的,可以搜我博客:透视变换 但是pytho ...

  3. python opencv 图像膨胀

    python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...

  4. python opencv 图像旋转

    python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...

  5. 【Python+OpenCV 图像的缩放和裁剪】

    Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...

  6. Python OpenCV 图像的几何变换,先说不平凡的 resize 函数

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 41 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  7. OPenCV 图像透视变换矫正

    图像透视变换矫正 Fu Xianjun. All Rights Reserved. 文章目录 前言 一.图像透视变换矫正是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 随着人工智能的不断 ...

  8. python opencv 图像偏色值检验

    lab颜色空间实现图像偏色检验算法 将rgb图像转到lab空间,实现偏色检验 利用opencv的内置函数cv2.COLOR_BGR2LAB python代码 测试效果 结论 将rgb图像转到lab空间 ...

  9. OpenCV图像发现轮廓函数findContours()的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:在一个二进制图像里发现轮廓. 函数在二进制图像中使用Suzuki85算法获取轮廓.轮廓对形状分析和目标检测与识别是一个有用的工具,用法见 ...

最新文章

  1. jvm崩溃的原因_JVM崩溃时:如何调查最严重错误的根本原因
  2. Mycat设置开机自启
  3. swift中变量的几种类型
  4. 2021北京网络安全大会议程及直播观看指南
  5. 使用windows Phone 集成横幅广告教程
  6. 简谈百度坐标反转至WGS84的三种思路
  7. 拓端tecdat|R语言对MNIST数据集分析:探索手写数字分类
  8. java 按顺序读取文件夹_java读取某个文件夹下的所有文件实例代码
  9. (计算机组成原理)第三章存储系统-第六节2:页式/段式虚拟存储器
  10. 【Sass/SCSS】预加载器中的“轩辕剑”
  11. 数据科学 | 如何解释线性回归的R方
  12. 收藏:学做美食--欢乐年夜饭之神七年糕火焰虾
  13. pycharm IDEA专业版2016.3.2版本和 python3.5.0 win7 64位安装包 百度云资源共享 及安装和编辑器注册图录
  14. 九月英语总结——不同凡响
  15. c 递归实现谢宾斯基三角形
  16. java关闭scanner_java-如何中断scanner.nextline()调用
  17. ldslite是什么启动项_ldslite是什么开机启动项
  18. Java课程设计|软件工程课程设计【招聘考试成绩处理系统】
  19. 51单片机-独立按键控制LED
  20. Unity_塔防游戏(7)敌人炮塔之间的Collider碰撞优化

热门文章

  1. shell的一些一句话东西
  2. 基于北斗卫星差分定位技术的输电线路弧垂监测
  3. 面向对象:期待让我眼前一亮的你
  4. 登录功能——web网站登录
  5. APT34泄密武器分析报告
  6. [原创]从魔兽世界看网游产业。。。 。。。
  7. vim 代码段整体左右移动
  8. 学习Excel VBA(一)——VBA理论初步
  9. DNS over HTTPs分析和威胁检测
  10. 剑指数据仓库-Hive02