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如何判断数独是否合法
Sep 08 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
python 平衡二叉树实现代码示例
Jul 07 Python
python中数组和矩阵乘法及使用总结(推荐)
May 18 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
Python csv文件记录流程代码解析
Jul 16 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
scrapy头部修改的方法详解
Dec 06 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 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中定义网站根目录的常用方法
2010/08/08 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
使用cx_freeze把python打包exe示例
2014/01/24 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Python with标签使用方法解析
2020/01/17 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
GWebs公司笔试题
2012/05/04 面试题
小学英语教学反思案例
2014/02/04 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
给老师的一封感谢信
2015/01/20 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书