Cambiar el tamaño del lienzo de la imagen para mantener la relación de aspecto cuadrado en Python, OpenCv

Me gustaría obtener una imagen de 1000 x 1000 en Python desde cualquier imagen de entrada para que la entrada no pierda su relación de aspecto. En otras palabras, quiero cambiar el tamaño de la entrada para que su dimensión más larga sea de 1000 píxeles y "llenar" la otra dimensión con el color de fondo hasta que se convierta en 1000 x 1000 cuadrados. El original debe estar en el centro al final.

Respuestas a la pregunta(2)

Su respuesta a la pregunta