这是原始图片。
例如,原始图像尺寸为1280x720。 红色矩形大小为30x5。 如果你知道矩形顶点坐标。
我希望使用opencv resize函数将矩形区域调整为5x1。 那么,怎么做呢?
答案 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,看起来像:
请注意,从此处的问题下载的原始图像的大小为1024x768。在此图像中,红色矩形的左上角位于65,167,大小为92x238。图像closeup.jpg的尺寸为460x1190。