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中定时任务框架APScheduler的快速入门指南
Jul 06 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
python机器学习理论与实战(五)支持向量机
Jan 19 Python
python实现求最长回文子串长度
Jan 22 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
Python yield的用法实例分析
Mar 06 Python
Python类的继承super相关原理解析
Oct 22 Python
Python os库常用操作代码汇总
Nov 03 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 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
推荐文章系统(一)
2006/10/09 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
document.createElement()用法
2013/03/13 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
Python+Wordpress制作小说站
2017/04/14 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
QML用PathView实现轮播图
2020/06/03 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
土建专业大学生自荐信范文
2014/04/09 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
小学生倡议书范文
2014/05/13 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle