我正在使用带有 cv2 库的 python。我有一个小图像,我想填充周围的一些空白区域。假设空白图像如下:(每个 x 表示一个像素,[255,255,255])
x x x x
x x x x
x x x x
x x x x
我想将它的某些部分交换为来自另一幅图像的数据(每个 a 表示来自另一幅图像的像素)
x x x x
x a a x
x a a x
x x x x
最快的方法是什么?我尝试遍历每个像素并完成这项工作,但它似乎非常低效。
import cv2
import numpy as np
tmp=np.zeros((1024,768,3),np.uint_8)
image= .. #image captured from camera
for(i in range(480)):
for(j in range(640)):
tmp[i+144][j+197]=image[i][j]
最佳答案
使用 numpy 切片。
tmp = np.zeros((1024,768,3),np.uint_8)
img[y1:y2, x1:x2] = tmp[y3:y4, x3:x4] # given that (y2-y1) = (y4 - y3) and same for x
或者填充一些颜色
img[y1:y2, x1:x2] = (255, 255, 255)
关于python - 使用opencv用另一个填充空白图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26012392/