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 13 Python
python相似模块用例
Mar 04 Python
Python脚本处理空格的方法
Aug 08 Python
python实现BackPropagation算法
Dec 14 Python
Python 中的Selenium异常处理实例代码
May 03 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
简述 Python 的类和对象
Aug 21 Python
python asyncio 协程库的使用
Jan 21 Python
Python爬虫之爬取某文库文档数据
Apr 21 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
php字符串函数学习之substr()
2015/03/27 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
jquery 使用简明教程
2014/03/05 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
Python的requests网络编程包使用教程
2016/07/11 Python
python机器学习实战之K均值聚类
2017/12/20 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
Python识别验证码的实现示例
2020/09/30 Python
python里glob模块知识点总结
2021/01/05 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
初中生期末评语大全
2014/04/24 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
自强之星事迹材料
2014/05/12 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server