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之集合(set)
Sep 24 Python
python实现一次创建多级目录的方法
May 15 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
Jan 10 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
python字典排序的方法
Oct 12 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
Dec 27 Python
python boto和boto3操作bucket的示例
Oct 30 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 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生成随机颜色方法汇总
2014/12/03 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
XML的代替者----JSON
2007/07/21 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
python 列表推导式使用详解
2019/08/29 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
Julep官网:美容产品和指甲油
2017/02/25 全球购物
太太口服液广告词
2014/03/20 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
个人售房合同协议书
2016/03/21 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js