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实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python实现对csv文件的列的内容读取
Jul 04 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Django 路由控制的实现
Jul 17 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
python 循环数据赋值实例
Dec 02 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
如何写python的配置文件
Jun 07 Python
Python操作Elasticsearch处理timeout超时
Jul 17 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执行速度全攻略(上)
2006/10/09 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
javascript AutoScroller 函数类
2009/05/29 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
Python版的文曲星猜数字游戏代码
2013/09/02 Python
Django 路由系统URLconf的使用
2018/10/11 Python
python opencv实现图像边缘检测
2019/04/29 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
python入门之井字棋小游戏
2020/03/05 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
个人自荐书
2013/12/20 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
法律意见书范本
2015/06/04 职场文书