How to add rectangular patch of different strides and sizes to an image

I would like to add a rectangular patch to an image similar to the one shown in the below giff.
occlusion_test
refer to the first image on the left
At the same time,I should be able to control the stride and the size of the rectangular patch.This would allow me to occlude different areas of the image.

I tried using the following script,but it didn’t really produce the results shown in the giff above.Any ideas on what changes can be made in the code to achieve the desired result

Summary :Using opencv python,I would like to add rectangular patches of different sizes at different locations in an image,thereby occluding that particular part of the image.

Code and result obtained after executing the code

def get_occluded_img(img,occ_size,occ_pixel,occ_stride):
    img_size=int(img.shape[-1])
    
    output_height=int(math.ceil((img_size-occ_size)/occ_stride+1))
    output_width=int(math.ceil((img_size-occ_size)/occ_stride+1))
    
    for h in range(output_height):
        for w in range(output_width):
            h_start=h*occ_stride
            w_start=w*occ_stride
            
            h_end=min(img_size,h_start+occ_size)
            w_end=min(img_size,w_start+occ_size)
            
            occ_image=img.copy()
            occ_image[h_start:h_end,w_start:w_end,:]=occ_pixel
    return occ_image

Result