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比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
Python实现测试磁盘性能的方法
Mar 12 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
Django学习之文件上传与下载
Oct 06 Python
Python 实现try重新执行
Dec 21 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python 对图片进行简单的处理
Jun 23 Python
Python3的进程和线程你了解吗
Mar 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
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
PHP制作用户注册系统
2015/10/23 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
Python调用微信公众平台接口操作示例
2017/07/08 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python脚本定时发送邮件
2020/12/22 Python
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
节能环保口号
2014/06/12 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
新手初学Java List 接口
2021/07/07 Java/Android
一文搞懂Python Sklearn库使用
2021/08/23 Python