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使用正则表达式提取网页URL的方法
May 26 Python
Python和C/C++交互的几种方法总结
May 11 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
对Python3中dict.keys()转换成list类型的方法详解
Feb 03 Python
浅谈python常用程序算法
Mar 22 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python pytest进阶之fixture详解
Jun 27 Python
Python实现密码薄文件读写操作
Dec 16 Python
Python参数传递实现过程及原理详解
May 14 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
python开发飞机大战游戏
Jul 15 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
PHP5 安装方法
2007/01/15 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php判断访问IP的方法
2015/06/19 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
轮播图组件js代码
2016/08/08 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
在pycharm中显示python画的图方法
2019/08/31 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
采购部部门职责
2013/12/15 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
篝火晚会主持词
2014/03/25 职场文书
2014年防汛工作总结
2014/12/08 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
Nginx服务器如何设置url链接
2021/03/31 Servers
利用javaScript处理常用事件详解
2021/04/14 Javascript
基于python的matplotlib制作双Y轴图
2021/04/20 Python