图像反转

思路:
读入图像,获取图像的大小信息
判断像素列数目
偶数列:
直接对调
奇数列:
中间一列不变,其余对调
显示图像并保存

  1. #作业1--图像翻转
  2. import cv2, math
  3. import numpy as np
  4. ## 定义图像目录
  5. image_directory = 'D:\\Data_documents\\ImageProcess\\images\\'
  6. # 图像读取
  7. imgname = image_directory + 'parrots.bmp'
  8. img = cv2.imread(imgname)
  9. # 获取图像的大小
  10. size=img.shape
  11. #获取列数
  12. col=size[1]
  13. #直接对图像进行翻转
  14. img2=img.copy()
  15. col=col-1
  16. for i in range(col):
  17. img2[:,col-i,:]=img[:,i,:]
  18. cv2.imshow('image2',img2)
  19. cv2.waitKey(0)
  20. cv2.destroyAllWindows()

图像渐变

  1. #作业2--图像叠加
  2. import cv2, math
  3. import numpy as np
  4. ## 定义图像目录
  5. image_directory = 'D:\\Data_documents\\ImageProcess\\images\\'
  6. # 读取图像1 和 图像2
  7. imgname1 = image_directory + 'lena.jpg'
  8. img1 = cv2.imread(imgname1)
  9. imgname2 = image_directory + 'Peppers.tiff'
  10. img2 = cv2.imread(imgname2)
  11. # 显示1s图像1
  12. cv2.imshow('image',img1)
  13. cv2.waitKey(1000)
  14. # 显示1s图像2
  15. cv2.imshow('image',img2)
  16. cv2.waitKey(1000)
  17. # 3s完成图像1和图像2的渐变
  18. for m in range(1000):
  19. alaph = m/1000
  20. resimg=cv2.addWeighted(img1,1-alaph,img2,alaph,0)
  21. cv2.imshow('image',resimg)
  22. cv2.waitKey(3)
  23. # 延迟1秒,关闭窗口
  24. cv2.waitKey(1000)
  25. cv2.destroyAllWindows()