因为旋转时需要以某个点为旋转中心,这边需要特别用由 OpenCV 提供的shape
函式找出图片的长与宽,才能进行後续动作~
旋转时会用到 cv2.getRotationMatrix2D
这个函式! 括号里面
import cv2
img = cv2.imread('img.jpg')
(h, w, d) = img.shape # 读取图片大小
print(img.shape)
center = (w // 2, h // 2) # 找到图片中心
M = cv2.getRotationMatrix2D(center, 20, 1.0) #旋转20度(逆时针)
# 处理旋转过後的图片
rotate_img = cv2.warpAffine(img, M, (w, h))
cv2.imshow("Result", rotate_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
执行结果:
因为图片在旋转过後会有被裁掉的地方 → 用cv2.warpAffine
函式处理:
图像的旋转加上拉升就是图像仿射
变换,仿射变化需要一个 M 矩阵就可以,但是由於仿射变换比较复杂,一般直接找很难找到这个矩阵。
opencv 提供了根据变换前後三个点的对应关系来自动求解 M。
函数输出的就是模拟射位置矩阵 M!
<<: Day 08 : 操作基础篇 5 - 如何调整 Obsidian App 设定档? 让 Obsidian App 拥有自己的外观主题与插件
>>: Day8 - 条件,重复,回圈与互动 - 回圈搭配配条件判断绘图
PM 设计 前後端 ...
今天我们要来创立第一个 Nuxt 的专案啦 首先先在电脑内安装套件,并且建立第一个专案 npm in...
接下来要来做购物网站比较核心的内容了,从购物车到付款结帐内容比较多也比较连贯,这边应该会多分几天出来...
本系列文之後也会置於个人网站 +--------+ +---------------+ | |--...
先从 Firmata 找到类比相关功能。 PWM 在 Supported Modes 中,可以看到所...