Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python plt.imshow可用于反向FFT图像,但cv2.imwrite dosen';T你知道为什么吗?_Python_Python 3.x_Opencv3.0 - Fatal编程技术网

Python plt.imshow可用于反向FFT图像,但cv2.imwrite dosen';T你知道为什么吗?

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

好吧,我已经为这个挠头有一段时间了。我对图像进行了逆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 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)