参考博客https://blog.csdn.net/qq_40456669/article/details/93375709与https://blog.csdn.net/weixin_43181409/article/details/104778084
import cv2
import numpy as np
import os
import json
def show(img_name, img): # 显示图像
cv2.namedWindow(str(img_name), cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO)
cv2.resizeWindow(str(img_name), 960, 1440)
cv2.imshow(str(img_name), img)
cv2.waitKey(0)
def boxes_extract(img_1, img_2, name): # 提取ROI
image_ref_rgb = cv2.imread(img_1) # 带红色标注框的参考图像
image_ori_rgb = cv2.imread(img_2) # 原图篡改图像
ROI = np.zeros(image_ref_rgb.shape, np.uint8) # 创建与原图同尺寸的空numpy数组,用来保存ROI信息
image_1_hsv = cv2.cvtColor(image_ref_rgb, cv2.COLOR_BGR2HSV) # HSV空间内分离颜色
low_hsv = np.array([0, 43, 46])
high_hsv = np.array([10, 255, 255])
binary = cv2.inRange(image_1_hsv, lowerb=low_hsv, upperb=high_hsv) # 根据红色hsv上下限转为二值图像
binary