python - 将openCV python函数转换为C++
问题描述
以下片段是从 openCV python 样本中窃取的:
def motion_kernel(angle, d, sz=65):
kern = np.ones((1, d), np.float32)
c, s = np.cos(angle), np.sin(angle)
A = np.float32([[c, -s, 0], [s, c, 0]])
sz2 = sz // 2
A[:,2] = (sz2, sz2) - np.dot(A[:,:2], ((d-1)*0.5, 0))
kern = cv2.warpAffine(kern, A, (sz, sz), flags=cv2.INTER_CUBIC)
return kern
它是恢复被某种噪声模糊的图像的程序的一部分。我正在尝试将此代码转换为 C++,但我对 python 的了解非常肤浅。所以我特别遇到了以下问题:
A[:,2] = (sz2, sz2) - np.dot(A[:,:2], ((d-1)*0.5, 0))
我了解剩余的代码。
解决方案
不确定,因为我没有看到一些代码,但很可能:
A[:,:2]
是矩阵
[[c, -s]
[s, c]]
然后,与
np.dot(A[:,:2], ((d-1)*0.5, 0))
我们将该矩阵乘以向量
[(d-1)*0.5, 0]
其实是元组,不是向量,但是意思是一样的。
乘法后,我们得到两个元素的向量,然后减去该向量
[sz2, sz2]
A
最后,我们用减法的结果替换 2x3 矩阵中的零
推荐阅读
- amazon-web-services - AWS Lake Formation - 元数据访问控制与数据位置权限
- java - 已关闭 - EntityManager + Spring Batch + 在块处理器期间无法合并
- javascript - 将张量转换为数组 - Tensorflow JS
- kubernetes - 在 Kubernetes 中,我怎样才能有一个硬性的最小数量的 pod 来部署?
- python - DASH 下拉菜单和图表
- html - Angular styles from styles.scss are not always being applied
- mongodb - KMongo 创建多个连接
- sql - R Reticulate 函数返回 SQL 数值为
对象 - html - 如何使内容的列随图像大小缩放?
- javascript - Javascript从字符串更新对象