ute*_*ngr 3 python opencv matplotlib python-3.x
我有两张图片,我想在一张图片中保存为子图。
我当前的代码可以很好地将它们显示为子图。
import cv2 as cv
from matplotlib import pyplot as plt
image1 = cv.imread('someimage')
image2 = cv.imread('anotherimage')
plt.subplot(1, 2, 1), plt.imshow(image1, 'gray')
plt.subplot(1, 2, 1), plt.imshow(image2, 'gray')
plt.show()
Run Code Online (Sandbox Code Playgroud)
OpenCVimwrite不能以其简单的形式工作,因为它需要一张图像作为输入。我想将这些子图保存在一张图像中以供以后进行视觉分析。我怎样才能做到这一点?
它可以并排或彼此重叠。只是一个例子:)
该示例仅用于演示目的。我应该能够像创建子图(x,y)一样将多个图像保存为一个图像。例如,
仅适用于其他读者:可以简单地使用 matplotlib.pyplot.savefig。它完全按照 plt.show() 显示的方式保存子图。
https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.savefig
对于两个图像,我想也可以使用其他两个答案。
结果代码应如下所示:
import cv2 as cv
from matplotlib import pyplot as plt
image1 = cv.imread('someimage')
image2 = cv.imread('anotherimage')
plt.subplot(1, 2, 1), plt.imshow(image1, 'gray')
plt.subplot(1, 2, 2), plt.imshow(image2, 'gray')
plt.savefig('final_image_name.extension') # To save figure
plt.show() # To show figure
Run Code Online (Sandbox Code Playgroud)