Если у вас уже обнаружены прямоугольники, вы можете заполнить прямоугольник белым фоном и для этого вы должны изменить параметр прямоугольника (-1)
cv2.rectangle(img, (x,y), (x+w, y+h), (255, 255, 255), -1, cv2.LINE_AA)
Исходное изображение
![enter image description here](https://i.stack.imgur.com/MEPqD.jpg)
Обнаружено изображение с прямоугольниками
![enter image description here](https://i.stack.imgur.com/Ik7AS.png)
Изображение на белом фоне
![enter image description here](https://i.stack.imgur.com/w568O.png)
Мой код:
import cv2
import numpy as np
img = cv2.imread("numeros_romanos.jpg")
img = cv2.resize(img, (1024, 800), interpolation = cv2.INTER_AREA)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
th, threshed = cv2.threshold(gray, 100, 255, cv2.THRESH_OTSU|cv2.THRESH_BINARY_INV)
im2, cnts, hierarchy = cv2.findContours(threshed, cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
for cnt in cnts:
x,y,w,h = bbox = cv2.boundingRect(cnt)
cv2.rectangle(img, (x,y), (x+w, y+h), (255, 255, 255), -1, cv2.LINE_AA)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()