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开启多个子进程并行运行的方法
Apr 18 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
python去除文件中重复的行实例
Jun 29 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
python 实现selenium断言和验证的方法
Feb 13 Python
详解如何设置Python环境变量?
May 13 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
python调试工具Birdseye的使用教程
May 25 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
复制粘贴功能的Python程序
2008/04/04 Python
python生成IP段的方法
2015/07/07 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python实现简单flappy bird
2018/12/24 Python
django url到views参数传递的实例
2019/07/19 Python
django删除表重建的实现方法
2019/08/28 Python
django实现支付宝支付实例讲解
2019/10/17 Python
详解Python设计模式之策略模式
2020/06/15 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
高中美术教师事迹材料
2014/08/22 职场文书
物业接待员岗位职责
2015/04/15 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js