我有这个测试图像:
我想要实现的是减少内部ROI(文本区域),但保留原始图像的大小。
类似这样的东西:
如果比较两个图像,则它们具有相同的尺寸。 此外,ROI应该居中。
我使用OpenCv和Python。
谢谢
答案 0 :(得分:2)
我将roi大小调整为一半,然后附加到图像上,有关更多信息,请参见代码:
import numpy as np
import cv2
image = cv2.imread("1.png")
print(image.shape)
h = image.shape[0]
w = image.shape[1]
center_x = int(w/2)
center_y = int(h/2)
#get the roi, suppose the roi is in the center of the image
roi = image[center_y-50:center_y+50,center_x-140:center_x+140,:].copy()
roi_h = roi.shape[0]
roi_w = roi.shape[1]
resize_roi = cv2.resize(roi,(int(roi_w/2),int(roi_h/2)))
print(resize_roi.shape)
#delete the old roi
image[center_y-50:center_y+50,center_x-140:center_x+140,:] = 255
#append the resize_roi
image[center_y-int(50/2):center_y+int(50/2),center_x-int(140/2):center_x+int(140/2),:] = resize_roi
cv2.imshow("Image", image)
cv2.imshow("roi", roi)
cv2.imshow("resize_roi", resize_roi)
cv2.waitKey(0)
投资回报率
大小调整后的投资回报率
具有roi大小的图像