Python opencv numpy旋转图片
python旋转图片
背景:
在图像处理中,有的时候会有对图片进行角度旋转的处理,尤其是在计算机视觉中对于图像扩充,旋转角度扩充图片是一种常见的处理。这种旋转图片的应用场景也比较多,比如用户上传图片是竖着的时候,不好进行处理,也需要对其进行旋转,以便后续算法处理。常见的旋转处理有两种方式,一种是转化为numpy矩阵后,对numpy矩阵进行处理,另外一种是使用opencv自带的函数进行各种变换处理,以实现旋转角度的结果。
原始图像
代码
def totateClockWise90ByNumpy(img_file): # np.rot90(img, 1) 顺时针旋转90度 img = cv2.imread(img_file,cv2.IMREAD_UNCHANGED) # np.rot90(img, 1) 顺时针旋转90度 # np.rot90(img, 2) 顺时针旋转180度 # np.rot90(img, 3) 顺时针旋转270度 img90 = np.rot90(img, 3) cv2.imwrite("/tmp/123_3.png",img90) cv2.imshow("rotate", img90) cv2.waitKey(0) return img90 totateClockWise90ByNumpy('/tmp/lena2.png')
旋转90度
旋转180度
旋转270度
图像反转
cv2.flip
: 对图像矩阵进行翻转处理,参数可以设置为1,0,-1,分别对应着水平翻转、垂直翻转、水平垂直翻转。
img = cv2.imread(origin_img_path) img_flip = cv2.flip(img, 1) cv2.imshow('flip', img_flip) cv2.waitKey(0)
原图
水平翻转
垂直翻转
水平垂直翻转
分类:
Python常用方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
2020-04-26 vue 中区分测试环境和正式环境
2020-04-26 Linux Centos 使用yum安装MongoDB 4.0