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访问系统环境变量的方法
Apr 29 Python
python简单实现计算过期时间的方法
Jun 09 Python
Python的时间模块datetime详解
Apr 17 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
Atom的python插件和常用插件说明
Jul 08 Python
Python中的list与tuple集合区别解析
Oct 12 Python
pytorch 归一化与反归一化实例
Dec 31 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
学习Python列表的基础知识汇总
Mar 10 Python
python实现数字炸弹游戏程序
Jul 17 Python
Python random模块的使用示例
Oct 10 Python
Python图片处理之图片裁剪教程
May 27 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输出xml格式字符串(用的这个)
2012/07/12 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
php操作access数据库的方法详解
2017/02/22 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
Shell如何接收变量输入
2012/09/24 面试题
入股协议书
2014/04/14 职场文书
买卖车协议书
2014/04/21 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
出纳工作检讨书
2014/10/18 职场文书
个人优缺点总结
2015/02/28 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书