图像翻转

我们可以利用仿射变换来翻转图片
仿射变换参考链接:

https://blog.csdn.net/qq_43309286/article/details/101595206

输入:

图像翻转90度

可以直接利用矩阵转置

# 图像翻转90度import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imageimg0 = cv.imread('t3.jpg', 0)img0 = cv.resize(img0, (0, 0), fx=0.2, fy=0.2)height, width = img0.shapeimg_arr = np.array(img0)new_img = np.zeros((height, width), dtype='uint8')new_img = img_arr.Tcv.imshow('new_img', new_img)cv.waitKey(0)cv.destroyAllWindows()

输出:

图片翻转180度

# 翻转180度import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imageimg0 = cv.imread('t3.jpg', 0)height, width = img0.shapeimg_arr = np.array(img0)new_img = np.zeros((height, width), dtype='uint8')for i in range(height):for j in range(width):new_img[height-1-i][width-1-j] = img0[i][j]cv.imshow('new_img', new_img)cv.waitKey(0)cv.destroyAllWindows()

输出:

图片倾斜

# 图片倾斜import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imageimg0 = cv.imread('t3.jpg', 0)height, width = img0.shapeimg_arr = np.array(img0)new_img = np.zeros((height+100, width+100), dtype='uint8')for i in range(height):for j in range(width):new_img[int(i*np.cos(np.pi/4)-j*np.sin(np.pi/4))][int(i*np.sin(np.pi/4)+j*np.cos(np.pi/4))] = img0[i][j]# new_img[i][2*i+j] = img0[i][j]while True:cv.imshow('new_img', new_img)if (cv.waitKey(1) == 27):break

输出:

©著作权归作者所有:来自51CTO博客作者谁唱江南断肠句的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. base64和图片互转
  2. 基于Tesseract实现图片文字识别
  3. JavaScript:1.图片懒加载演示;2.轮播图为翻页按钮添加功能;
  4. IE6 png 透明 (三种解决方法)
  5. crmeb 多商户系统 首页精品推荐 推荐单品 首页新品 热门榜单顶部
  6. 0409作业-懒加载及轮播图
  7. web前端入门到实战:css 中的背景图片小技巧和存在的坑
  8. 上传个图片都能拿下服务器!赶紧自检!
  9. 【JavaScript案例】视口高度,元素位置、滚动高度等位置属性详解及

随机推荐

  1. Android启动流程
  2. [android]实现拖动效果
  3. Android screenOrientation 屏幕方向的设
  4. Android(安卓)4.0.3 联系人(通讯录)应用
  5. Android实用小技巧
  6. Android View MarqueeView 跑马灯效果
  7. 关于Android使用新浪API的一些说明
  8. Android高德地图自定义放大缩小控件
  9. 在android中使用OrmLite数据库框架
  10. Android map