如何调整图像大小(使用opencv resize函数)

时间:2015-07-17 06:45:30

标签: opencv

enter image description here

这是原始图片。

例如,原始图像尺寸为1280x720。 红色矩形大小为30x5。 如果你知道矩形顶点坐标。

我希望使用opencv resize函数将矩形区域调整为5x1。 那么,怎么做呢?

2 个答案:

答案 0 :(得分:1)

你说你已经知道红色矩形的坐标了。因此,使用 rect() 创建一个(感兴趣的区域)投资回报率。然后,使用openCV的resize()调整其大小。

Mat original_image;
----
----
----
Rect region_of_interest(x, y, w, h);
Mat image_roi = image(region_of_interest);

Size size(5,1);   //the dst image size,e.g.5 x 1
Mat dst;          //dstimage
resize(image_roi ,dst,size);  //resize image

答案 1 :(得分:1)

在python下使用opencv,将图像裁剪为红色矩形并调整大小为5x,将结果保存为closeup.jpg

import cv2
img = cv2.imread('penguins.jpg', -1)
img2 = cv2.resize(img[65:65+92, 167:167+238], dsize=(0,0), fx=5, fy=5)
cv2.imwrite('closeup.jpg', img2)

如果使用python以外的绑定,则需要适当调整函数调用。有关详细信息,请参阅opencv docs

生成的图像,closeup.jpg,看起来像: enter image description here

请注意,从此处的问题下载的原始图像的大小为1024x768。在此图像中,红色矩形的左上角位于65,167,大小为92x238。图像closeup.jpg的尺寸为460x1190。