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 相关文章推荐
Python基于twisted实现简单的web服务器
Sep 29 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
浅谈python中get pass用法
Mar 19 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
numpy.where() 用法详解
May 27 Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
Python logging模块异步线程写日志实现过程解析
Jun 30 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
我的群发邮件程序
2006/10/09 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
2011/05/24 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
简单的js表格操作
2016/09/24 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
微信小程序云开发之使用云数据库
2019/05/17 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
Django 路由系统URLconf的使用
2018/10/11 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Django中提示消息messages的设置方式
2019/11/15 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
酒吧副总经理岗位职责
2013/12/10 职场文书
大学生党课思想汇报
2013/12/29 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
园艺师求职信
2014/03/10 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python