图像的镜像变化不改变图像的形状。图像的镜像变换分为三种:水平镜像、垂直镜像、对角镜像

设图像的大小为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

具体程序如下:

  
  
  
   
   
   
   
   
    1 
   
   
   import
   
   
    cv
2
3 image = cv.LoadImage( ' lena.jpg ' , 1 )
4 size = (image.width,image.height)
5 iUD = cv.CreateImage(size,image.depth,image.nChannels)
6 iLR = cv.CreateImage(size,image.depth,image.nChannels)
7 iAcross = cv.CreateImage(size,image.depth,image.nChannels)
8 h = image.height
9 w = image.width
10 for i in range(h):
11 for j in range(w):
12 iUD[h - 1 - i,j] = image[i,j]
13 iLR[i,w - 1 - j] = image[i,j]
14 iAcross[h - 1 - i,w - 1 - j] = image[i,j]
15 cv.ShowImage( ' image ' ,image)
16 cv.ShowImage( ' iUD ' ,iUD)
17 cv.ShowImage( ' iLR ' ,iLR)
18 cv.ShowImage( ' iAcross ' ,iAcross)
19 cv.WaitKey(0)

更多相关文章

  1. caffe python批量抽取图像特征
  2. 在Python中显示来自控制台的图像
  3. Python为8bit深度图像应用color map
  4. Tensorflow:恢复图形和模型,然后在单个图像上运行评估
  5. python的PIL绘制多行文本的图像。
  6. 铯:使用自己的OpenStreetMap服务器。:“未能获得图像块”错误
  7. 如何将图像加载到PictureBox;基于存储在DataBase中的图像位置
  8. 使用进度条延迟加载图像会使图像在显示时发生损坏
  9. Android 修改用户图像笔记

随机推荐

  1. android 获取对话框关闭事件
  2. Android一些经常涉及到的权限【转】
  3. This text field does not specify an in
  4. android wrapper C调用java api
  5. Android跨进程通信IPC之11——Binder驱动
  6. android上传图片至服务器
  7. Android导出Kml
  8. minSdkVersion,targetSdkVersion,maxSdkVer
  9. Android开发学习---使用Intelij idea 13.
  10. android画图——Path()的使用