擅长:python、mysql、java
<p>你现在所需要的就是把图像放到白色背景中。由于图像形状是<code>200X200</code>,白色背景形状是<code>512X512</code>,因此图像的白色边距将是<code>(512-200)/2 = 156</code>。所以:</p>
<pre><code>import cv2
import numpy as np
img=cv2.imread("xx.png", 0)
row, col = img.shape # row = 200, col = 200
img_1 = np.zeros([512,512],dtype=np.uint8)
img_1.fill(255)
margin = (512 - row)//2
img_1[margin: margin+row, margin: margin+column] = img
cv2.imshow('Single Channel Window', img_1)
print("image shape: ", img_1.shape)
cv2.waitKey(0)
cv2.destroyAllWindows()
</code></pre>
<p>也可以使用<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.pad.html" rel="nofollow noreferrer">^{<cd4>}</a>用白色像素填充原始图像并获得相同的结果。所以,在这种情况下:</p>
<pre><code>img = cv2.imread('1.png', 0)
margin = (512 - 200)//2
img_1 = np.pad(img, margin, 'constant', constant_values=255)
</code></pre>