使用 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]
我正在尝试裁剪和旋转灰度图像。 图像已根据我定义的尺寸成功旋转,但强度通道似乎在整个旋转图像中归零。
图像 - 原始 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]