python 图像平移和旋转的实例


Posted in Python onJanuary 10, 2019

如下所示:

import cv2
import math
import numpy as np
def move(img):
 height, width, channels = img.shape
 emptyImage2 = img.copy()
 x=20
 y=20
 for i in range(height):
 for j in range(width):
 if i>=x and j>=y:
  emptyImage2[i,j]=img[i-x][j-y]
 else:
  emptyImage2[i,j]=(0,0,0)
 
 
 return emptyImage2
 
 
img = cv2.imread("e:\\lena.bmp")
 
cv2.namedWindow("Image")
SaltImage=move(img)
cv2.imshow("Image",img)
cv2.imshow("ss",SaltImage)
cv2.waitKey(0)

旋转:

import cv2
import math
import numpy as np
def XRotate(image, angle):
 h, w, channels = image.shape
 anglePi = angle * math.pi / 180.0
 cosA = math.cos(anglePi)
 sinA = math.sin(anglePi)
 X1 = math.ceil(abs(0.5 * h * cosA + 0.5 * w * sinA))
 X2 = math.ceil(abs(0.5 * h * cosA - 0.5 * w * sinA))
 Y1 = math.ceil(abs(-0.5 * h * sinA + 0.5 * w * cosA))
 Y2 = math.ceil(abs(-0.5 * h * sinA - 0.5 * w * cosA))
 hh = int(2 * max(Y1, Y2))
 ww = int(2 * max(X1, X2))
 emptyImage2 = np.zeros((hh, ww, channels), np.uint8)
 for i in range(hh):
 for j in range(ww):
  x = cosA * i + sinA * j - 0.5 * ww * cosA - 0.5 * hh * sinA + 0.5 * w
  y = cosA * j- sinA * i+ 0.5 * ww * sinA - 0.5 * hh * cosA + 0.5 * h
  x = int(x)
  y = int(y)
  if x > -1 and x < h and y > -1 and y < w :
 
  emptyImage2[i, j] = image[x, y]
 
 return emptyImage2
 
 
image = cv2.imread("e:\\lena.bmp")
iXRotate12 = XRotate(image, 30)
cv2.imshow('image', image)
cv2.imshow('iXRotate12', iXRotate12)
cv2.waitKey(0)

以上这篇python 图像平移和旋转的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
在Python中进行自动化单元测试的教程
Apr 15 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python写一个随机点名软件的实例
Nov 28 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
Python可以实现栈的结构吗
May 27 Python
python numpy库np.percentile用法说明
Jun 08 Python
安装Anaconda3及使用Jupyter的方法
Oct 27 Python
用python开发一款操作MySQL的小工具
May 12 Python
LeetCode189轮转数组python示例
Aug 05 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 #Python
详解pandas安装若干异常及解决方案总结
Jan 10 #Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 #Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 #Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 #Python
Python设计模式之桥接模式原理与用法实例分析
Jan 10 #Python
Python基础教程之异常详解
Jan 10 #Python
You might like
php读取javascript设置的cookies的代码
2010/04/12 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
浅谈Javascript事件模拟
2012/06/27 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
python动态网页批量爬取
2016/02/14 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python Socket使用实例
2017/12/18 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
美国网上书店:Barnes & Noble
2018/08/15 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
CAD制图人员的自荐信
2014/02/07 职场文书
公司出差管理制度范本
2015/08/05 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android