Python 使用np.copy后如何还原图像?

Python 使用np.copy后如何还原图像?,python,arrays,image,numpy,Python,Arrays,Image,Numpy,嘿!我将一个np.copy(image)传递到boxing函数中,并返回一个newImage。以上是我的代码的要点和。。。部分只是绘制边界框并覆盖新图像。函数完成后,如何将结果转换回原始形式 def boxing(original_img,predictions) newImage = np.copy(original_img) for result in predictions: . . . return newImage _, ax = plt.su

嘿!我将一个np.copy(image)传递到boxing函数中,并返回一个newImage。以上是我的代码的要点和。。。部分只是绘制边界框并覆盖新图像。函数完成后,如何将结果转换回原始形式

def boxing(original_img,predictions)
  newImage = np.copy(original_img)
  for result in predictions:
    .
    .
    .
    return newImage

_, ax = plt.subplots(figsize=(20, 10))
ax.imshow(boxing(imgcv, result))

据我所知,我应该使用Image.fromarray将其转换回来,但没有成功。我明白这可能是一个愚蠢的问题,但我很感激你的建议

我找到了解决办法。问题是图像在BGR中

_, ax = plt.subplots(figsize=(20, 10))
new_im = Image.fromarray(boxing(imgcv, result))
ax.imshow(new_im)

这实际上是将图像转换回RGB。希望有帮助

您是否要还原函数中对
newImage
执行的所有操作,如果是,那么您为什么要这样做,是不是执行
np.copy()
是不更改
原始图像的全部要点
我要将原始图像还原回其原始颜色。这些操作是在np.copy()上完成的,以绘制用于检测的边界框。对于图像检测,如果更改输出图像,则会出现问题。
new_im = cv2.cvtColor(boxing(imgcv, result), cv2.COLOR_BGR2RGB)