【问题标题】:grayscale image rotation with cv2使用 cv2 进行灰度图像旋转
【发布时间】:2019-05-17 11:58:41
【问题描述】:

我正在尝试裁剪和旋转灰度图像。 图像已根据我定义的尺寸成功旋转,但强度通道似乎在整个旋转图像上归零。

图像 - 原始 32,000X1024X1 灰度图像。

i - 我要从中裁剪图像的索引。

windowWidth - 一个大小常数,它定义了我希望裁剪的像素数(例如,在我们的例子中,windowWidth = 5000)。

裁剪 - 我希望旋转的原始图像中的部分。

代码示例:

cropped = image[i:i+windowWidth, :]
ch, cw = cropped.shape[:2]
rotation_matrix = cv2.getRotationMatrix2D((cw/2,ch/2),90,1)
return cv2.warpAffine(cropped,rotation_matrix, (ch,cw))

返回的 1024X5000X1 矩阵只包含 0,虽然原始图像没有。

【问题讨论】:

  • 您使用的“i”的值是多少?
  • 请包含cropped,以便我们重现问题。见minimal reproducible example
  • warpAffine 对于 90 度旋转似乎有点矫枉过正。我会选择np.rot90cv.rotate
  • 第一次迭代时 i=0

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


【解决方案1】:

您可能使用的是宽度而不是高度,那么也许这会解决您的问题:

cropped = image[:, i:i+windowWidth]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-17
    • 2020-02-14
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 2015-02-04
    相关资源
    最近更新 更多