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 相关文章推荐
centos下更新Python版本的步骤
Feb 12 Python
Python中使用ConfigParser解析ini配置文件实例
Aug 30 Python
浅析Python中的join()方法的使用
May 19 Python
Python的Django框架中settings文件的部署建议
May 30 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
Jan 26 Python
python实现n个数中选出m个数的方法
Nov 13 Python
python二进制文件的转译详解
Jul 03 Python
pandas中的series数据类型详解
Jul 06 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
python是否适合网页编程详解
Oct 04 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 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
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
jquery 使用简明教程
2014/03/05 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
python爬取微信公众号文章的方法
2019/02/26 Python
python3转换code128条形码的方法
2019/04/17 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
python 模块导入问题汇总
2021/02/01 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
前台领班岗位职责
2013/12/04 职场文书
保护环境标语
2014/06/09 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
社区节水倡议书
2015/04/29 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技