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 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
python使用sorted函数对列表进行排序的方法
Apr 04 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
python socket 聊天室实例代码详解
Nov 14 Python
基于python实现学生信息管理系统
Nov 22 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
Python机器学习之PCA降维算法详解
May 19 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
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
php fckeditor 调用的函数
2009/06/21 PHP
PHP 命名空间实例说明
2011/01/27 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
JSON 编辑器实现代码
2009/12/06 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
js实现漂亮的星空背景
2019/11/01 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
python获取网页状态码示例
2014/03/30 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
新浪网技术部笔试题
2016/08/26 面试题
毕业生自荐书
2014/02/03 职场文书
环保建议书300字
2014/05/14 职场文书
法人授权委托书样本
2014/09/19 职场文书
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis