Я наверное не понял, как работает частотная область.Для проекта мне нужно изменить яркость изображения с помощью Python и без работы в пространственной области.
В настоящий момент я могу применить некоторые фильтры размытия посредством свертки, как в примере ниже:
def arithmeticMeanFilter(self, img):
img = img.convert('RGB')
open_cv_image = np.array(img)
red = open_cv_image[:, :, 0]
green = open_cv_image[:, :, 1]
blue = open_cv_image[:, :, 2]
mean_arithmetic = np.ones((9, 9))*(1/81)
width, height, _ = open_cv_image.shape
kernel1 = np.zeros((width, height))
kernel1[:mean_arithmetic.shape[0], :mean_arithmetic.shape[1]] = mean_arithmetic
kernel1 = np.fft.fft2(kernel1)
im = np.array(red)
fim = np.fft.fft2(im)
Rx = np.real(np.fft.ifft2(kernel1 * fim)).astype(float)
im = np.array(green)
fim = np.fft.fft2(im)
Gx = np.real(np.fft.ifft2(kernel1 * fim)).astype(float)
im = np.array(blue)
fim = np.fft.fft2(im)
Bx = np.real(np.fft.ifft2(kernel1 * fim)).astype(float)
open_cv_image[:, :, 0] = abs(Rx)
open_cv_image[:, :, 1] = abs(Gx)
open_cv_image[:, :, 2] = abs(Bx)
img = Image.fromarray(open_cv_image)
return img
Но как я могу изменить яркость, используя эту технику?