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设计模式之MVC模式简单示例
Jan 10 Python
在python中pandas读文件,有中文字符的方法
Dec 12 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
python单例设计模式实现解析
Jan 07 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
tensorflow 查看梯度方式
Feb 04 Python
python中rc1什么意思
Jun 19 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python利用opencv实现颜色检测
Feb 23 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添加MySQL数据记录代码
2008/06/07 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
如何离线执行php任务
2017/02/21 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
JavaScript实现打字游戏
2021/02/19 Javascript
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python验证码识别的示例代码
2017/09/21 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
蹦床仓库:Trampoline Warehouse
2018/12/06 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
大学生最新职业生涯规划书范文
2014/01/12 职场文书
物流创业计划书
2014/02/01 职场文书
副总经理岗位职责
2014/03/16 职场文书
卖房授权委托书样本
2014/10/05 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS