我想使用 OpenCV2.0 和 Python2.6 来显示调整大小的图像。我使用并采用了 这个 示例,但不幸的是,此代码适用于 OpenCV2.1,似乎不适用于 2.0。这是我的代码:
import os, glob
import cv
ulpath = "exampleshq/"
for infile in glob.glob( os.path.join(ulpath, "*.jpg") ):
im = cv.LoadImage(infile)
thumbnail = cv.CreateMat(im.rows/10, im.cols/10, cv.CV_8UC3)
cv.Resize(im, thumbnail)
cv.NamedWindow(infile)
cv.ShowImage(infile, thumbnail)
cv.WaitKey(0)
cv.DestroyWindow(name)
由于我无法使用
cv.LoadImageM
我用了
cv.LoadImage
相反,这在其他应用程序中没有问题。然而,cv.iplimage 没有属性 rows、cols 或 size。谁能给我一个提示,如何解决这个问题?
原文由 Bastian 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想使用 CV2,你需要使用
resize
函数。例如,这会将两个轴的大小调整一半:
这会将图像调整为 100 列(宽度)和 50 行(高度):
另一种选择是使用
scipy
模块,方法是:显然,您可以在这些函数的文档中阅读更多选项( cv2.resize 、 scipy.misc.imresize )。
更新:
根据 SciPy 文档:
请注意,如果您希望 按系数调整大小,您可能实际上需要
skimage.transform.rescale
。