Python plt.imshow可用于反向FFT图像,但cv2.imwrite dosen';T你知道为什么吗?
好吧,我已经为这个挠头有一段时间了。我对图像进行了逆FFT,我可以用cv2.imshow显示它Python plt.imshow可用于反向FFT图像,但cv2.imwrite dosen';T你知道为什么吗?,python,python-3.x,opencv3.0,Python,Python 3.x,Opencv3.0,好吧,我已经为这个挠头有一段时间了。我对图像进行了逆FFT,我可以用cv2.imshow显示它 plt.subplot(131), plt.imshow(img_back) plt.title('Subtracted'), plt.xticks([]), plt.yticks([]) 但是,当我尝试使用cv2.imwrite保存相同的图像时,得到的是纯白色图像。我错过了什么 cv2.imwrite("my_car_preprossed.jpg", img_back) 以下是img\u ba
plt.subplot(131), plt.imshow(img_back)
plt.title('Subtracted'), plt.xticks([]), plt.yticks([])
但是,当我尝试使用cv2.imwrite保存相同的图像时,得到的是纯白色图像。我错过了什么
cv2.imwrite("my_car_preprossed.jpg", img_back)
以下是img\u back
img_back.dtype : dtype('float32')
np.finfo(img_back.dtype) : finfo(resolution=1e-06, min=-3.4028235e+38, max=3.4028235e+38, dtype=float32)
img_back.shape = (1944, 2592)
回答我自己的问题。结果表明,imwrite只需要[0-255]范围内的值,因此我需要将图像缩放到该范围。imshow没有这样的问题 为此,以下几点起到了关键作用: 1) 将最终输出图像(本例中为f4)除以该图像中的最大值。 2) 乘以255
img_back = img_back / img_back.max()
img_back = img_back * 255
cv2.imwrite("my_img_preprossed.jpg", img_back)