Вам не нужна маска для рисования прямоугольника. Вы можете нарисовать его прямо на изображении.
Вы также можете использовать image.copy()
для создания второго изображения с другим столбцом
Кстати: если 795
находится в середине ширины, то вы можете использовать image.shape
, чтобы получить (height,width)
и используйте width//2
вместо 795
, чтобы он работал с изображениями различной ширины. Но если 795
не идеально в середине, тогда используйте half_width = 795
import cv2
image_1 = cv2.imread('image.jpg')
image_2 = image_1.copy()
height, width, depth = image_1.shape # it gives `height,width`, not `width,height`
half_width = width//2
#half_width = 795
cv2.rectangle(img=image_1, pt1=(0, 0), pt2=(half_width, height), color=(255, 255, 255), thickness=-1)
cv2.rectangle(img=image_2, pt1=(half_width, 0), pt2=(width, height), color=(255, 255, 255), thickness=-1)
cv2.imwrite("image_1.jpg", image_1)
cv2.imwrite("image_2.jpg", image_2)
cv2.imshow("image 1", image_1)
cv2.imshow("image 2", image_2)
cv2.waitKey(0)
cv2.destroyAllWindows()