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代理抓取并验证使用多线程实现
May 03 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
pandas 小数位数 精度的处理方法
Jun 09 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 Python
python实现简单的单变量线性回归方法
Nov 08 Python
python实现年会抽奖程序
Jan 22 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
python实现按行分割文件
Jul 22 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 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中http与https跨域共享session的解决方法
2014/12/20 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
PHP7 新增功能
2021/03/09 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
JavaScript使用cookie
2007/02/02 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
jquery密码强度校验
2015/12/02 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
numpy自动生成数组详解
2017/12/15 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
技校教师求职简历的自我评价
2013/10/20 职场文书
保险专业大专生求职信
2013/10/26 职场文书
工程管理造价应届生求职信
2013/11/13 职场文书
公司员工检讨书
2014/02/08 职场文书
社会学专业求职信
2014/02/24 职场文书
家长对孩子的感言
2014/03/10 职场文书
党小组鉴定意见
2015/06/02 职场文书
安全教育片观后感
2015/06/17 职场文书
培训计划通知
2015/07/15 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js