Python基本运算几何运算处理数字图像示例
目录
- 平移
- 镜像
- 水平镜像
- 垂直镜像
- 旋转
- 以图像左上角为旋转中心
- 以图像中心为旋转中心
- 缩放
- 插值算法
- 最近邻插值算法
- 双线性插值算法
- 三次内插法
平移
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/a641a2f0858347a1b5a368a925490643.jpg)
文章图片
# 定义平移矩阵,需要是numpy的float32类型# x轴平移50,y轴平移80, 2*3矩阵M = np.array([[1, 0, 50],[0, 1, 80]], dtype=np.float32)# 用仿射变换实现平移new_image = cv2.warpAffine(image, M, (w, h), borderValue=https://www.it610.com/article/(0, 0, 0))
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/0d1e0d65cce341dfa096dc8184398d48.jpg)
文章图片
【Python基本运算几何运算处理数字图像示例】
镜像
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/b744bba54282416bbdb8bc49f2a37814.jpg)
文章图片
水平镜像
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/3c044c422ef946a68d107c9d73563029.jpg)
文章图片
# Flipped Horizontally 水平翻转Horizontal = cv2.flip(image, 1)
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/aa68b07a63124cc38d3ae16e3c2126be.jpg)
文章图片
垂直镜像
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/6e09bdaa27fd48c8bf78a0fe4f6d5197.jpg)
文章图片
# Flipped Vertically 垂直翻转Vertical = cv2.flip(image, 0)
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/604f4447af6b43fd84d5e93f69810827.jpg)
文章图片
旋转
以图像左上角为旋转中心
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/caa82ad4155342438c769aeaca4903e2.jpg)
文章图片
# 定义旋转矩阵, 2x3
M = np.array([[ np.cos(Beta), np.sin(Beta), 0],
[-np.sin(Beta), np.cos(Beta), 0]], dtype=np.float32)
# 用仿射变换实现旋转
new_image = cv2.warpAffine(image, M, (w, h))
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/83ac96a65a474a60bebb78b9abe83237.jpg)
文章图片
以图像中心为旋转中心
# 定义旋转矩阵,这次使用cv2.getRotationMatrix2D()这个函数,# 其中第一个参数为旋转的中心点,第二个为旋转角度,第三个为缩放比例M = cv2.getRotationMatrix2D((h/2,w/2), 30, 1)print(M)# 用仿射变换实现旋转new_image = cv2.warpAffine(image, M, (w, h), borderMode=cv2.BORDER_DEFAULT)
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/203edb5226b04ef3accebd254ecbd109.jpg)
文章图片
缩放
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/60449ed6cb354a3aa3c30881e589bb5d.jpg)
文章图片
new_image = cv2.resize(image, (0, 0), fx=3, fy=3, interpolation=cv2.INTER_NEAREST)
![Python基本运算几何运算处理数字图像示例](https://img.it610.com/image/info11/9abf8d414fe64500976b85362cb60914.jpg)
文章图片
插值算法
最近邻插值算法
cv2.INTER_NEAREST
双线性插值算法
cv2.INTER_LINEAR
三次内插法
cv2.INTER_CUBIC
以上就是Python基本运算几何运算处理数字图像示例的详细内容,更多关于Python几何运算处理数字图像的资料请关注脚本之家其它相关文章!
推荐阅读
- Shell-Bash变量与运算符
- 做一件事情的基本原理是什么()
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- dubbo基本认识
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)