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的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
python中字符串比较使用is、==和cmp()总结
Mar 18 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
numpy数组广播的机制
Jul 12 Python
Pyqt5自适应布局实例
Dec 13 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
python logging模块的使用
Sep 07 Python
解决pytorch-gpu 安装失败的记录
May 24 Python
python数据可视化JupyterLab实用扩展程序Mito
Nov 20 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的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
zookeeper python接口实例详解
2018/01/18 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
python with语句的原理与用法详解
2020/03/30 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
使用python实现学生信息管理系统
2021/02/25 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
美术教师岗位职责
2014/03/18 职场文书
企业年会主持词
2014/03/27 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python