python图像处理之镜像实现方法


Posted in Python onMay 30, 2015

本文实例讲述了python图像处理之镜像实现方法。分享给大家供大家参考。具体分析如下:

图像的镜像变化不改变图像的形状。图像的镜像变换分为三种:水平镜像、垂直镜像、对角镜像

设图像的大小为M×N,则

水平镜像可按公式

I = i

J = N - j + 1

垂直镜像可按公式

I = M - i + 1

J = j

对角镜像可按公式

I = M - i + 1

J = N - j + 1

值得注意的是在OpenCV中坐标是从[0,0]开始的

所以,式中的 +1 在编程时需要改为 -1

这里运行环境为:

Python为:Python2.7.6
OpenCV2.4.10版(可到http://sourceforge.net/projects/opencvlibrary/files/opencv-win/下载)
numpy为:numpy-1.9.1-win32-superpack-python2.7(可到http://sourceforge.net/projects/numpy/files/NumPy/1.9.1/下载)

下面的代码仍以baby美图为例具体程序如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',1)
size = (image.width,image.height)
iUD = cv.CreateImage(size,image.depth,image.nChannels)
iLR = cv.CreateImage(size,image.depth,image.nChannels)
iAcross = cv.CreateImage(size,image.depth,image.nChannels)
h = image.height
w = image.width
for i in range(h):
  for j in range(w):
    iUD[h-1-i,j] = image[i,j]
    iLR[i,w-1-j] = image[i,j]
    iAcross[h-1-i,w-1-j] = image[i,j]
cv.ShowImage('image',image)
cv.ShowImage('iUD',iUD)
cv.ShowImage('iLR',iLR)
cv.ShowImage('iAcross',iAcross)
cv.WaitKey(0)

运行结果如下图所示:

python图像处理之镜像实现方法

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python实现图片批量剪切示例
Mar 25 Python
python实现在pickling的时候压缩的方法
Sep 25 Python
Python单例模式实例分析
Jan 14 Python
Python EOL while scanning string literal问题解决方法
Sep 18 Python
Python堆排序原理与实现方法详解
May 11 Python
基于Python的PIL库学习详解
May 10 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
python实现各种插值法(数值分析)
Jul 30 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
python爬虫中多线程的使用详解
Sep 23 Python
Python 支持向量机分类器的实现
Jan 15 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
python图像处理之反色实现方法
May 30 #Python
python中字典(Dictionary)用法实例详解
May 30 #Python
python集合用法实例分析
May 30 #Python
基于wxpython实现的windows GUI程序实例
May 30 #Python
python简单实现旋转图片的方法
May 30 #Python
Python实现控制台输入密码的方法
May 29 #Python
python删除过期文件的方法
May 29 #Python
You might like
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
介绍Python的@property装饰器的用法
2015/04/28 Python
Python中的ceil()方法使用教程
2015/05/14 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
HR喜欢的自荐信格式
2013/10/08 职场文书
商务日语毕业生自荐信
2013/11/23 职场文书
外贸业务员岗位职责
2013/11/24 职场文书
党员民主生活会材料
2014/12/15 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL
Python中time标准库的使用教程
2022/04/13 Python