使用 cv2 进行灰度图像旋转

grayscale image rotation with cv2

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

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

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

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

cropped - 我想旋转的原始图像中的片段。

代码示例:

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,尽管原始图像没有。

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

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