【Python+OpenCV 图像透视变换 warpPerspective函数】
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函数】相关推荐
- python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例
python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...
- python opencv 实现透视变换——将侧视图进行正投影
python opencv 实现透视变换--将侧视图进行正投影 这个方法可以将倾斜拍摄的四边形图片投影成矩形,在图像处理工程里经常要用,之前写过一个C语言版本的,可以搜我博客:透视变换 但是pytho ...
- python opencv 图像膨胀
python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...
- python opencv 图像旋转
python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...
- 【Python+OpenCV 图像的缩放和裁剪】
Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...
- Python OpenCV 图像的几何变换,先说不平凡的 resize 函数
Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 41 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...
- OPenCV 图像透视变换矫正
图像透视变换矫正 Fu Xianjun. All Rights Reserved. 文章目录 前言 一.图像透视变换矫正是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 随着人工智能的不断 ...
- python opencv 图像偏色值检验
lab颜色空间实现图像偏色检验算法 将rgb图像转到lab空间,实现偏色检验 利用opencv的内置函数cv2.COLOR_BGR2LAB python代码 测试效果 结论 将rgb图像转到lab空间 ...
- OpenCV图像发现轮廓函数findContours()的使用
OPenCV版本:4.4 IDE:VS2017 功能描述 简述:在一个二进制图像里发现轮廓. 函数在二进制图像中使用Suzuki85算法获取轮廓.轮廓对形状分析和目标检测与识别是一个有用的工具,用法见 ...
最新文章
- jvm崩溃的原因_JVM崩溃时:如何调查最严重错误的根本原因
- Mycat设置开机自启
- swift中变量的几种类型
- 2021北京网络安全大会议程及直播观看指南
- 使用windows Phone 集成横幅广告教程
- 简谈百度坐标反转至WGS84的三种思路
- 拓端tecdat|R语言对MNIST数据集分析:探索手写数字分类
- java 按顺序读取文件夹_java读取某个文件夹下的所有文件实例代码
- (计算机组成原理)第三章存储系统-第六节2:页式/段式虚拟存储器
- 【Sass/SCSS】预加载器中的“轩辕剑”
- 数据科学 | 如何解释线性回归的R方
- 收藏:学做美食--欢乐年夜饭之神七年糕火焰虾
- pycharm IDEA专业版2016.3.2版本和 python3.5.0 win7 64位安装包 百度云资源共享 及安装和编辑器注册图录
- 九月英语总结——不同凡响
- c 递归实现谢宾斯基三角形
- java关闭scanner_java-如何中断scanner.nextline()调用
- ldslite是什么启动项_ldslite是什么开机启动项
- Java课程设计|软件工程课程设计【招聘考试成绩处理系统】
- 51单片机-独立按键控制LED
- Unity_塔防游戏(7)敌人炮塔之间的Collider碰撞优化