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之list和str比较
Sep 20 Python
Python标准库之Sys模块使用详解
May 23 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
Python 实现微信防撤回功能
Apr 29 Python
Python实现Linux监控的方法
May 16 Python
详解PyCharm安装MicroPython插件的教程
Jun 24 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
python实现学生信息管理系统源码
Feb 22 Python
python自动化之如何利用allure生成测试报告
May 02 Python
python中取整数的几种方法
Nov 07 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
ftp类(example.php)
2006/10/09 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
基于python实现微信模板消息
2015/12/21 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
体育系毕业生自荐信
2014/06/28 职场文书
2014年图书室工作总结
2014/12/09 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
python缺失值填充方法示例代码
2022/12/24 Python