使用opencv imread读取图像时,图像的高度和宽度会发生交换

2024-09-28 17:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用opencv imread函数读取一个图像时,我发现它的高度和宽度被调换成了应该的样子。就像我的原始图像的尺寸一样(610x406),但是在使用opencv::imread函数读取时,它的尺寸是406x610。另外,如果在将原始图像传递给函数之前旋转原始图像,那么也没有任何更改。读取的图像仍具有原始尺寸。在

请参见示例代码和图片以了解说明: 因此,下面我提供了输入图像:一个是原始图像,另一个是旋转图像(我使用windows旋转命令,右键单击并选择“rotate right”)来旋转它。我得到的两个图像的输出是相同的。在我看来,旋转的图像实际上并没有改变它的形状。我这么想是因为,当我试着把旋转的图像放在这里时,它只显示了它的未旋转版本(在预览中),所以,我必须对它进行截屏,然后粘贴到这里。在

代码如下:

import cv2
import numpy as np
import sys
import os

image = cv2.imread("C:/img_8075.jpg")
print "image shape: ",image.shape
cv2.imshow("image",image)
cv2.waitKey(0)
image2 = cv2.imread("C:/img_8075_Rotated.jpg")
print "image shape: ",image2.shape
cv2.imshow("image",image2)
cv2.waitKey(0)

我得到的结果是:图像形状:(406610,3) 图像形状:(406610,3) 对于这两张照片。在

我无法在这里粘贴输入/输出图片,因为它说你应该有“10个声誉”,我刚加入。 任何建议都会有帮助。谢谢!在


Tags: 函数代码图像imageimportimg粘贴尺寸