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 20 Python
Python3.2模拟实现webqq登录
Feb 15 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
Python编程深度学习计算库之numpy
Dec 28 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
如何获取Python简单for循环索引
Nov 21 Python
Python @property原理解析和用法实例
Feb 11 Python
浅谈Python 参数与变量
Jun 20 Python
Pygame框架实现飞机大战
Aug 07 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 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入门速成(2)
2006/10/09 PHP
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP内置加密函数详解
2016/11/20 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
javascript中字符串的定义示例代码
2013/12/19 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
跟老齐学Python之折腾一下目录
2014/10/24 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
wxPython实现带颜色的进度条
2019/11/19 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
岗位安全生产责任书
2014/07/28 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技