图像翻转
16lz
2021-04-15
图像翻转
我们可以利用仿射变换来翻转图片
仿射变换参考链接:
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
输出:
更多相关文章
- base64和图片互转
- 基于Tesseract实现图片文字识别
- JavaScript:1.图片懒加载演示;2.轮播图为翻页按钮添加功能;
- IE6 png 透明 (三种解决方法)
- crmeb 多商户系统 首页精品推荐 推荐单品 首页新品 热门榜单顶部
- 0409作业-懒加载及轮播图
- web前端入门到实战:css 中的背景图片小技巧和存在的坑
- 上传个图片都能拿下服务器!赶紧自检!
- 【JavaScript案例】视口高度,元素位置、滚动高度等位置属性详解及