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 相关文章推荐
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
Python中的__slots__示例详解
Jul 06 Python
python梯度下降法的简单示例
Aug 31 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
Django之模板层的实现代码
Sep 09 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
python-numpy-指数分布实例详解
Dec 07 Python
Python实现查找数据库最接近的数据
Jun 08 Python
python实现取余操作的简单实例
Aug 16 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
python 如何做一个识别率百分百的OCR
May 29 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
轻松修复Discuz!数据库
2008/05/03 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Python自动连接ssh的方法
2015/03/07 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
python getpass实现密文实例详解
2019/09/24 Python
wxPython实现文本框基础组件
2019/11/18 Python
python3实现绘制二维点图
2019/12/04 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
捷科时代的软件测试笔试题
2015/11/09 面试题
DTD的含义以及作用
2014/01/26 面试题
市场营销专业个人求职信范文
2013/12/14 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
承诺函范文
2015/01/21 职场文书
金砖之国观后感
2015/06/11 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
七年级数学教学反思
2016/02/17 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL