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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
python之wxPython菜单使用详解
Sep 28 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
python cv2截取不规则区域图片实例
Dec 21 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
Python接口测试结果集实现封装比较
May 01 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
90行Python代码开发个人云盘应用
Apr 20 Python
python析构函数用法及注意事项
Jun 22 Python
关于 Python json中load和loads区别
Nov 07 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 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实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
原生JS实现天气预报
2020/06/16 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
python编写爬虫小程序
2015/05/14 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
艺术用品:Arteza
2018/11/25 全球购物
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
新大陆软件面试题
2016/11/24 面试题
在C#中如何实现多态
2014/07/02 面试题
旷课检讨书2000字
2014/01/14 职场文书
教师研修随笔感言
2014/01/23 职场文书
会计学毕业生求职信
2014/06/25 职场文书
校长创先争优承诺书
2014/08/30 职场文书
2014年科研工作总结
2014/12/03 职场文书
教师聘用意向书
2015/05/11 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书