python灰度图像变彩色_如何在cv2python中实现灰度图像到彩色图像的转换

我在低通FFt中使用了cv2python,我已经改变了图像的属性,但是这个图像是灰度图像。我想把它改成彩色图像,保留灰度图像的属性----------

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = cv2.imread('rocket.jpg', 0)

height, width = img.shape

plt.figure("Input")

plt.subplot(221),plt.imshow(img, cmap = 'gray')

plt.title('Input Image'), plt.xticks([]), plt.yticks([])

fft = np.log(np.abs(np.fft.fftshift(np.fft.fft2(img))))

plt.subplot(222),plt.imshow(fft, cmap = 'gray')

plt.title('Fourier Transform'), plt.xticks([]), plt.yticks([])

r = 200

h_Filter_Low_Pass = np.zeros(img.size, img.dtype).reshape(img.shape)

for icounter in range(1, height):

for jcounter in range(1, width):

if ((height/2-icounter)**2 + (width/2 - jcounter)**2)**0.5 < r:

h_Filter_Low_Pass[icounter, jcounter] = 1

plt.subplot(223),plt.imshow(h_Filter_Low_Pass, cmap = 'gray')

plt.title('Filter'), plt.xticks([]), plt.yticks([])

h_fft = (np.abs(np.fft.fftshift(np.fft.fft2(h_Filter_Low_Pass)))+1)

plt.subplot(224),plt.imshow(h_fft, cmap = 'gray')

plt.title('Fourier Transform (Filter)'), plt.xticks([]), plt.yticks([])

fshift = np.fft.fftshift(np.fft.fft2(img))

plt.figure("output")

new = fshift * (h_Filter_Low_Pass)

g_ifft1 = (np.abs(np.fft.ifft2(np.fft.ifftshift(new)).real))

plt.subplot(),plt.imshow(g_ifft1, cmap = 'gray')

plt.title('output'), plt.xticks([]), plt.yticks([])

plt.show()