我想使用 OpenCV2.0 和 Python2.6 来显示调整大小的图像。我使用并采用了这个示例,但不幸的是,此代码适用于 OpenCV2.1,似乎不适用于 2.0。这是我的代码:imp...
我想使用 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 没有属性行、列或大小。有人能给我提示一下,如何解决这个问题吗?
如果您希望使用 CV2,则需要使用该 resize
功能。
例如,这将使两个轴的大小均调整一半:
small = cv2.resize(image, (0,0), fx=0.5, fy=0.5)
这将调整图像的大小为 100 列(宽度)和 50 行(高度):
resized_image = cv2.resize(image, (100, 50))
另一个选择是使用 scipy
模块,方法是:
small = scipy.misc.imresize(image, 0.5)
显然,您可以在这些函数的文档中阅读更多选项( cv2.resize , scipy.misc.imresize )。
更新:
根据 SciPy 文档 :
imresize
已 弃用 ,并将在 1.2.0 中被删除。
改用skimage.transform.resize
。
请注意,如果您希望 按某个因子调整大小 ,您可能实际上需要 skimage.transform.rescale
.