【问题标题】:De-Skewing image去歪斜图像
【发布时间】:2019-07-08 00:15:27
【问题描述】:

我无法弄清楚这种纠偏是如何工作的

def deskew(img):
    m = cv2.moments(img)
    if abs(m['mu02']) < 1e-2:
        return img.copy()
    skew = m['mu11']/m['mu02']
    M = np.float32([[1, skew, -0.5*SZ*skew], [0, 1, 0]])
    img = cv2.warpAffine(img,M,(SZ, SZ),flags=affine_flags)
    return img

我知道时刻是对形状的量化度量。

在图像处理中,矩给出了总的信息 面积或强度,形状的质心和方向 形状。

面积或总质量:-

零矩 M(0,0) 给出总质量或面积。

在图像处理中,M(0,0) 是所有像素的总和,如果是二值图像,则像素总和给出面积。

质心或质心:- 当一阶矩除以 总质量然后它给出了质心。

质心是形状完美平衡的点 销的尖端。

M(0,1)/M(0,0) ,M(1,0)/M(0,0)

【问题讨论】:

    标签: python-3.x opencv image-processing


    【解决方案1】:

    我认为来自tutorial 的图片可以很好地提供直观的想法:

    为了扭曲图像,他们在 x 轴 (mu02) 上使用了skewness,相对于方差 mu11。他们使用shear matrix 与图像偏度相反,这就是为什么skew = m['mu11']/m['mu02'] mu02mu11 中的分数被翻转。为了相对于图像顶部的中心而不是 (0,0) 点进行歪斜,他们还使用了translation,这就是你得到M[0, 2] = -0.5*SZ*skew的地方

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2012-03-30
      • 2020-04-26
      • 1970-01-01
      • 2018-10-19
      • 2012-08-04
      相关资源
      最近更新 更多