python opencv实现切变换 不裁减图片


Posted in Python onJuly 26, 2018

本文实例为大家分享了python opencv实现切变换的具体代码,供大家参考,具体内容如下

# -*- coding:gb2312 -*-
import cv2
from math import *
import numpy as np

img = cv2.imread("3-2.jpg")

height,width=img.shape[:2]

degreeAffine=45

#切变换最后结果
heightAffine=height
widthAffine=int(2*height*tan(radians(degreeAffine))+width)

# 随意两点得到仿射变换矩阵
# point1=np.float32([[50,50],[200,50],[50,200]])
# point2=np.float32([[50,50],[100,50],[50,200]])
# matAffine=cv2.getAffineTransform(point1,point2)


#如果结果是正的图片
tempY=(widthAffine+1)/2-width/2
tempX=(heightAffine+1)/2-height/2
temp=np.zeros((heightAffine,widthAffine,3),np.uint8)+255
temp[tempX:(tempX+height),tempY:(tempY+width)]=img
cv2.imshow("temp",temp)


#仿射变换矩阵
matAffine=np.zeros([2,3])
matAffine[0,0]=1
matAffine[0,1]=tan(radians(degreeAffine))
matAffine[0,2]=(widthAffine-width)/2
matAffine[1,0]=0
matAffine[1,1]=1
matAffine[1,2]=(heightAffine-height)/2


imgAfiine=cv2.warpAffine(img,matAffine,(widthAffine,heightAffine),borderValue=(255,255,255))

cv2.imwrite("temp.jpg",temp)
cv2.imwrite("imgAffine.jpg",imgAfiine)
cv2.imshow("imgAffine",imgAfiine)

效果图:

python opencv实现切变换 不裁减图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
详解Python中的元组与逻辑运算符
Oct 13 Python
Python中字符串的格式化方法小结
May 03 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
Python中利用xpath解析HTML的方法
May 14 Python
python实现图片筛选程序
Oct 24 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
Python3多线程基础知识点
Feb 19 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
python 爬取疫情数据的源码
Feb 09 Python
基于Python实现射击小游戏的制作
Apr 06 Python
Flask之flask-script模块使用
Jul 26 #Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 #Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 #Python
Python迭代器与生成器基本用法分析
Jul 26 #Python
Python实现矩阵相乘的三种方法小结
Jul 26 #Python
python实现泊松图像融合
Jul 26 #Python
python中的decorator的作用详解
Jul 26 #Python
You might like
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
PHP使用in_array函数检查数组中是否存在某个值
2015/03/25 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
Three.js基础部分学习
2017/01/08 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
外企办公室竞聘演讲稿
2013/12/29 职场文书
学生实习介绍信
2014/01/15 职场文书
质量保证书范本
2014/04/29 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
网吧员工管理制度
2015/08/05 职场文书