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实现爬虫下载美女图片
Jul 14 Python
使用python实现ANN
Dec 20 Python
Python入门必须知道的11个知识点
Mar 21 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
python使用suds调用webservice接口的方法
Jan 03 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
在 Pycharm 安装使用black的方法详解
Apr 02 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python实现寻找回文数字过程解析
Jun 09 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备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP制作用户注册系统
2015/10/23 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php实现websocket实时消息推送
2018/03/30 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
再论Javascript的类继承
2011/03/05 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
python实现黑客字幕雨效果
2018/06/21 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
django 取消csrf限制的实例
2020/03/13 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
称象教学反思
2014/02/03 职场文书
企业安全生产责任书
2014/04/14 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
2014最新离职证明范本
2014/09/12 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
Ajax实现异步加载数据
2021/11/17 Javascript
DE1107机评
2022/04/05 无线电