【发布时间】:2015-07-17 15:12:34
【问题描述】:
这是原图。
例如,原始图像尺寸为 1280x720。 红色矩形大小为 30x5。 如果你知道矩形的顶点坐标。
我想使用 opencv resize 函数将矩形区域的大小调整为 5x1。 那么,该怎么做呢?
【问题讨论】:
标签: opencv
这是原图。
例如,原始图像尺寸为 1280x720。 红色矩形大小为 30x5。 如果你知道矩形的顶点坐标。
我想使用 opencv resize 函数将矩形区域的大小调整为 5x1。 那么,该怎么做呢?
【问题讨论】:
标签: opencv
你说你已经知道红色矩形的坐标了。因此,使用 rect() 创建(感兴趣区域)ROI。然后,使用 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
【讨论】:
在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 如下所示:
请注意,从此处的问题下载的原始图像的大小为 1024x768。在此图像中,红色矩形的左上角位于 65,167,大小为 92x238。图片 closeup.jpg 的大小为 460x1190。
【讨论】: