2D-преобразование Фурье пошло не так, где я ошибаюсь?Python

Программы на Python
Ответить
Anonymous
 2D-преобразование Фурье пошло не так, где я ошибаюсь?

Сообщение Anonymous »

Раньше я делал выборку звука, но теперь перешел к изображениям. Я пытаюсь реализовать дискретное преобразование Фурье для изображения( бит).
Я создал свой собственный декодер изображений. Каждый файл содержит значения RGB, разделенные запятыми, и каждый пиксель заключен в круглые скобки ().
Так, например, если пиксель чисто красного цвета, он будет переведен в файл как (255,0,0)
Таким образом, мы получаем 16 круглых скобок в каждой строке файла, который содержит информация об изображении до 16 строк
Изображение, которое я пытаюсь закодировать, следующее (в моем формате кодирования):

Код: Выделить всё

(255,0,239)(255,0,223)(255,0,207)(255,0,191)(255,0,175)(255,0,159)(255,0,143)(255,0,127)(255,0,111)(255,0,95)(255,0,79)(255,0,63)(255,0,47)(255,0,31)(255,0,15)(255,0,0)
(255,0,223)(255,0,210)(255,0,197)(255,0,184)(255,0,171)(255,0,158)(255,0,145)(255,0,132)(255,0,119)(255,0,106)(255,0,93)(255,0,80)(255,0,67)(255,0,54)(255,0,41)(255,0,15)
(255,0,207)(255,0,196)(255,0,185)(255,0,174)(255,0,163)(255,0,152)(255,0,141)(255,0,130)(255,0,119)(255,0,108)(255,0,97)(255,0,86)(255,0,75)(255,0,64)(255,0,53)(255,0,31)
(255,0,191)(255,0,182)(255,0,173)(255,0,164)(255,0,155)(255,0,146)(255,0,137)(250,0,121)(250,0,112)(250,0,103)(250,0,94)(250,0,85)(250,0,76)(255,0,67)(255,0,58)(255,0,47)
(255,0,175)(255,0,168)(255,0,161)(255,0,154)(255,0,147)(255,0,140)(255,0,133)(255,0,126)(255,0,119)(255,0,112)(255,0,105)(255,0,98)(255,0,91)(255,0,84)(255,0,77)(255,0,63)
(255,0,159)(255,0,154)(255,0,149)(255,0,144)(255,0,139)(255,0,134)(255,0,129)(255,0,124)(255,0,119)(255,0,114)(255,0,109)(255,0,104)(255,0,99)(255,0,94)(255,0,89)(255,0,79)
(255,0,143)(255,0,140)(255,0,137)(255,0,134)(255,0,131)(255,0,128)(255,0,125)(255,0,122)(255,0,119)(255,0,116)(255,0,113)(255,0,110)(255,0,107)(255,0,104)(255,0,101)(255,0,95)
(255,0,127)(255,0,126)(255,0,125)(255,0,124)(255,0,123)(255,0,122)(255,0,121)(255,0,120)(255,0,119)(255,0,118)(255,0,117)(255,0,116)(255,0,115)(255,0,114)(255,0,113)(255,0,111)
(255,0,111)(255,0,113)(255,0,114)(255,0,115)(255,0,116)(255,0,117)(255,0,118)(255,0,119)(255,0,120)(255,0,121)(255,0,122)(255,0,123)(255,0,124)(255,0,125)(255,0,126)(255,0,127)
(255,0,95)(255,0,101)(255,0,104)(255,0,107)(255,0,110)(255,0,113)(255,0,116)(255,0,119)(255,0,122)(255,0,125)(255,0,128)(255,0,131)(255,0,134)(255,0,137)(255,0,140)(255,0,143)
(255,0,79)(255,0,89)(255,0,94)(255,0,99)(255,0,104)(255,0,109)(255,0,114)(255,0,119)(255,0,124)(255,0,129)(255,0,134)(255,0,139)(255,0,144)(255,0,149)(255,0,154)(255,0,159)
(255,0,63)(255,0,77)(255,0,84)(255,0,91)(255,0,98)(255,0,105)(255,0,112)(255,0,119)(255,0,126)(255,0,133)(255,0,140)(255,0,147)(255,0,154)(255,0,161)(255,0,168)(255,0,175)
(255,0,47)(255,0,58)(255,0,67)(255,0,76)(255,0,85)(255,0,94)(255,0,103)(250,0,112)(250,0,121)(255,0,137)(255,0,146)(255,0,155)(255,0,164)(255,0,173)(255,0,182)(255,0,191)
(255,0,31)(255,0,53)(255,0,64)(255,0,75)(255,0,86)(255,0,97)(255,0,108)(255,0,119)(255,0,130)(255,0,141)(255,0,152)(255,0,163)(255,0,174)(255,0,185)(255,0,196)(255,0,207)
(255,0,15)(255,0,41)(255,0,54)(255,0,67)(255,0,80)(255,0,93)(255,0,106)(255,0,119)(255,0,132)(255,0,145)(255,0,158)(255,0,171)(255,0,184)(255,0,197)(255,0,210)(255,0,223)
(255,0,0)(255,0,15)(255,0,31)(255,0,47)(255,0,63)(255,0,79)(255,0,95)(255,0,111)(255,0,127)(255,0,143)(255,0,159)(255,0,175)(255,0,191)(255,0,207)(255,0,223)(255,0,239)
Это палитра розового и красного, и я сделал переход от чисто красного к розовому постепенным.
Я хочу видеть изображение в дискретной частотной области (ДПФ)
Формула для 1D ДПФ:

Код: Выделить всё

X[k] = Σ_{n=0}^{N-1} x[n] * exp(-j * 2 * π * k * n / N)
Для 2D, таких как обработка изображений, можно выполнить ДПФ для каждой строки и столбца, а затем сложить результаты.
Например, если ДПФ строки 1 дает 1, а ДПФ столбца 1 дает 2, то в 2D ДПФ ячейка в позиции 1,1 будет иметь значение 1+2=3
(все это при условии, что мы начинаем с 0-го столбца и 0-й строки
У меня есть этот код:

Код: Выделить всё

import cmath
filename = input("Enter a filename:\n")
file = open(filename,'r')
redArray = []
greenArray = []
blueArray = []
redArrayFourier = []
greenArrayFourier = []
blueArrayFourier = []
fourierRowsRed = []
fourierColumnsRed = []
fourierRowsBlue = []
fourierColumnsBlue = []
fourierRowsGreen = []
fourierColumnsGreen = []
rows, cols = 16,  16
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
redArray.append(row)
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
blueArray.append(row)
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
greenArray.append(row)
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
redArrayFourier.append(row)
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
blueArrayFourier.append(row)
for _ in range(rows):
row = []
for _ in range(cols):
row.append(0)
greenArrayFourier.append(row)
for i in range(rows):
fourierRowsRed.append(0)
for i in range(rows):
fourierRowsBlue.append(0)
for i in range(rows):
fourierRowsGreen.append(0)
for i in range(cols):
fourierColumnsRed.append(0)
for i in range(cols):
fourierColumnsBlue.append(0)
for i in range(cols):
fourierColumnsGreen.append(0)
for i in range(16):
line = file.readline()
bitswithComma = line.split(')')
for j in range(16):
bits = bitswithComma[j]
bitsJ = bits[1:]
bitsR = bitsJ.split(',')
red = int(bitsR[0])
green = int(bitsR[1])
blue = int(bitsR[2])
redArray[i][j] = red
greenArray[i][j] = green
blueArray[i][j] = blue
x1r=0
x2r=0
x3r=0
y1r=0
y2r=0
y3r=0
for i in range(16):
if i>0:
fourierRowsRed[i-1] = x1r
fourierRowsGreen[i-1] = x2r
fourierRowsBlue[i-1] = x3r
x1r = 0
x2r = 0
x3r = 0
subarrRed = redArray[i]
subarrGreen = greenArray[i]
subarrBlue = blueArray[i]
for j in range(16):
x1r += subarrRed[j]*cmath.exp(-1*cmath.pi*i/8)
x2r += subarrGreen[j]*cmath.exp(-1*cmath.pi*i/8)
x3r += subarrBlue[j]*cmath.exp(-1*cmath.pi*i/8)
for i in range(16):
if i>0:
fourierColumnsRed[i-1] = y1r
fourierColumnsGreen[i-1] = y2r
fourierColumnsBlue[i-1] = y3r
y1r = 0
y2r = 0
y3r = 0
for j in range(16):
y1r+=redArray[i][j]*cmath.exp(-1*cmath.pi*j/8)
y2r+=greenArray[i][j]*cmath.exp(-1*cmath.pi*j/8)
y3r+=blueArray[i][j]*cmath.exp(-1*cmath.pi*j/8)
for i in range(16):
for j in range(16):
redArrayFourier[i][j] = fourierRowsRed[i]+fourierColumnsRed[j]
greenArrayFourier[i][j] = fourierRowsGreen[i]+fourierColumnsGreen[j]
blueArrayFourier[i][j] = fourierRowsBlue[i]+fourierColumnsBlue[j]
print(redArrayFourier)
print('\n')
print(greenArrayFourier)
print('\n')
print(blueArrayFourier)
Когда я запускаю программу, она выводит следующее:

Код: Выделить всё

Enter a filename:
filen1.rgb
[[(4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4862.817472459971+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4863.173320404593+0j), (4863.709383155579+0j), (4863.709383155579+0j), (4080+0j)], [(3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3537.7636516155435+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (3538.119499560166+0j), (3538.6555623111517+0j), (3538.6555623111517+0j), (2754.9461791555723+0j)], [(2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.045033745236+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.936944440844+0j), (2643.400881689858+0j), (2643.936944440844+0j), (2643.936944440844+0j), (1860.2275612852648+0j)], [(2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2029.6665563403926+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (2030.0224042850145+0j), (2030.5584670360006+0j), (2030.5584670360006+0j), (1246.8490838804212+0j)], [(1631.8580546666883+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (1630.9661439710803+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (1631.8580546666883+0j),  (1631.8580546666883+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (1631.3219919157023+0j), (1631.8580546666883+0j), (1631.8580546666883+0j), (848.1486715111089+0j)], [(1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1355.5145170519818+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1356.40642774759+0j), (1355.870364996604+0j), (1356.40642774759+0j), (1356.40642774759+0j), (572.6970445920105+0j)], [(1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1169.5207898159633+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (1169.8766377605853+0j), (1170.4127005115713+0j), (1170.4127005115713+0j), (386.7033173559919+0j)], [(1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1043.9318907483719+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (1044.287738692994+0j), (1044.8238014439798+0j), (1044.8238014439798+0j), (261.1144182884005+0j)], [(960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (959.1302589761623+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (960.0221696717703+0j), (959.4861069207843+0j), (960.0221696717703+0j), (960.0221696717703+0j), (176.3127865161908+0j)], [(902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (901.8694914670921+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.7614021627+0j), (902.225339411714+0j), (902.7614021627+0j), (902.7614021627+0j), (119.05201900712058+0j)], [(864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (863.2051942453693+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (864.0971049409773+0j), (863.5610421899913+0j), (864.0971049409773+0j), (864.0971049409773+0j), (80.38772178539783+0j)], [(837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.0978271128398+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.9897378084478+0j), (837.4536750574619+0j), (837.9897378084478+0j), (837.9897378084478+0j), (54.28035465286836+0j)], [(820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (819.3794669159682+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (820.2713776115762+0j), (819.7353148605903+0j), (820.2713776115762+0j), (820.2713776115762+0j), (36.561994455996775+0j)], [(808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (807.5659557348745+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (808.4578664304825+0j), (807.9218036794965+0j), (808.4578664304825+0j), (808.4578664304825+0j), (24.748483274903055+0j)], [(800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (799.5284380085228+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (800.4203487041308+0j), (799.8842859531449+0j), (800.4203487041308+0j), (800.4203487041308+0j), (16.71096554855142+0j)], [(783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (782.8174724599714+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.7093831555794+0j), (783.1733204045935+0j), (783.7093831555794+0j), (783.7093831555794+0j), 0]]

[[0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j,  0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j], [0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0j, 0]]

[[(2538.7717521195673+0j), (2508.452825181247+0j), (2471.8802436876094+0j), (2433.9878558128257+0j), (2398.735080700335+0j), (2362.1624992066972+0j), (2325.58991771306+0j), (2289.0173362194228+0j), (2254.5153592241577+0j), (2222.0839867272653+0j), (2189.652614230373+0j), (2157.2212417334804+0j), (2110.8649562777464+0j), (2092.3584967396955+0j), (2059.927124242803+0j), (1905+0j)], [(1980.8594058978426+0j), (1950.5404789595227+0j), (1913.967897465885+0j), (1876.075509591101+0j), (1840.8227344786103+0j), (1804.2501529849728+0j), (1767.6775714913354+0j), (1731.1049899976979+0j), (1696.6030130024328+0j), (1664.1716405055404+0j), (1631.740268008648+0j), (1599.3088955117557+0j), (1552.9526100560217+0j), (1534.4461505179709+0j), (1502.0147780210784+0j), (1347.0876537782754+0j)], [(1536.9851832240058+0j), (1506.666256285686+0j), (1470.0936747920482+0j), (1432.2012869172643+0j), (1396.9485118047735+0j), (1360.375930311136+0j), (1323.8033488174985+0j), (1287.230767323861+0j), (1252.728790328596+0j), (1220.2974178317036+0j), (1187.8660453348111+0j), (1155.434672837919+0j), (1109.078387382185+0j), (1090.571927844134+0j), (1058.1405553472416+0j), (903.2134311044385+0j)], [(1222.0998013283288+0j), (1191.7808743900089+0j), (1155.2082928963714+0j), (1117.3159050215872+0j), (1082.0631299090965+0j), (1045.490548415459+0j), (1008.9179669218215+0j), (972.3453854281843+0j), (937.8434084329191+0j), (905.4120359360268+0j), (872.9806634391343+0j), (840.5492909422419+0j), (794.1930054865079+0j), (775.686545948457+0j), (743.2551734515647+0j), (588.3280492087616+0j)], [(1039.7605647326054+0j), (1009.4416377942853+0j), (972.8690563006478+0j), (934.9766684258639+0j), (899.723893313373+0j), (863.1513118197354+0j), (826.578730326098+0j), (790.0061488324607+0j), (755.5041718371956+0j), (723.0727993403032+0j), (690.6414268434107+0j), (658.2100543465184+0j), (611.8537688907844+0j), (593.3473093527335+0j), (560.9159368558412+0j), (405.9888126130381+0j)], [(905.9432152234664+0j), (875.6242882851463+0j), (839.0517067915088+0j), (801.1593189167248+0j), (765.9065438042339+0j), (729.3339623105965+0j), (692.761380816959+0j), (656.1887993233217+0j), (621.6868223280566+0j), (589.2554498311642+0j), (556.8240773342718+0j), (524.3927048373794+0j), (478.0364193816454+0j), (459.52995984359455+0j), (427.0985873467022+0j), (272.1714631038991+0j)], [(816.2236849407154+0j), (785.9047580023954+0j), (749.3321765087578+0j), (711.4397886339739+0j), (676.187013521483+0j), (639.6144320278455+0j), (603.041850534208+0j), (566.4692690405707+0j), (531.9672920453056+0j), (499.5359195484132+0j), (467.10454705152085+0j), (434.6731745546284+0j), (388.3168890988944+0j), (369.81042956084355+0j), (337.3790570639512+0j), (182.45193282114812+0j)], [(756.0731377443549+0j), (725.7542108060348+0j), (689.1816293123973+0j), (651.2892414376133+0j), (616.0364663251224+0j), (579.463884831485+0j), (542.8913033378475+0j), (506.31872184421013+0j), (471.81674484894506+0j), (439.3853723520526+0j), (406.9539998551603+0j), (374.52262735826787+0j), (328.1663419025339+0j), (309.659882364483+0j), (277.2285098675907+0j), (122.30138562478757+0j)], [(716.353549921636+0j), (686.034622983316+0j), (649.4620414896784+0j), (611.5696536148945+0j), (576.3168785024037+0j), (539.7442970087661+0j), (503.17171551512877+0j), (466.5991340214914+0j), (432.0971570262262+0j), (399.6657845293339+0j), (367.23441203244147+0j), (334.8030395355491+0j), (288.4467540798151+0j), (269.9402945417643+0j), (237.50892204487187+0j), (82.58179780206879+0j)], [(689.9421287344464+0j), (659.6232017961264+0j), (623.0506203024888+0j), (585.1582324277049+0j), (549.9054573152141+0j), (513.3328758215765+0j), (476.7602943279391+0j), (440.18771283430175+0j), (405.6857358390366+0j), (373.25436334214425+0j), (340.82299084525187+0j), (308.3916183483595+0j), (262.0353328926255+0j), (243.5288733545746+0j), (211.09750085768223+0j), (56.17037661487917+0j)], [(671.9756228406179+0j), (641.6566959022978+0j), (605.0841144086603+0j), (567.1917265338764+0j), (531.9389514213855+0j), (495.36636992774794+0j), (458.7937884341105+0j), (422.22120694047317+0j), (387.71922994520804+0j), (355.28785744831566+0j), (322.8564849514233+0j), (290.4251124545309+0j), (244.06882699879688+0j), (225.56236746074603+0j), (193.13099496385365+0j), (38.20387072105058+0j)], [(659.75448070708+0j), (629.43555376876+0j), (592.8629722751224+0j), (554.9705844003385+0j), (519.7178092878476+0j), (483.1452277942101+0j), (446.57264630057267+0j), (410.0000648069353+0j), (375.4980878116702+0j), (343.0667153147778+0j),  (310.63534281788543+0j), (278.203970320993+0j), (231.84768486525903+0j), (213.34122532720818+0j), (180.9098528303158+0j), (25.98272858751272+0j)], [(650.9388212609456+0j), (620.6198943226256+0j), (584.047312828988+0j), (546.154924954204+0j), (510.90214984171325+0j), (474.3295683480757+0j), (437.7569868544383+0j), (401.18440536080095+0j), (366.6824283655358+0j), (334.25105586864345+0j), (301.81968337175107+0j), (269.38831087485863+0j), (223.03202541912464+0j), (204.5255658810738+0j), (172.0941933841814+0j), (17.167069141378338+0j)], [(645.7881112782886+0j), (615.4691843399686+0j), (578.896602846331+0j), (541.0042149715471+0j), (505.7514398590562+0j), (469.1788583654187+0j), (432.60627687178123+0j), (396.0336953781439+0j), (361.5317183828788+0j), (329.10034588598637+0j), (296.66897338909405+0j), (264.2376008922016+0j), (217.88131543646762+0j), (199.37485589841677+0j), (166.9434834015244+0j), (12.016359158721315+0j)], [(641.9429227738221+0j), (611.6239958355021+0j), (575.0514143418645+0j), (537.1590264670806+0j), (501.9062513545898+0j), (465.3336698609523+0j), (428.76108836731487+0j), (392.1885068736775+0j), (357.6865298784124+0j), (325.25515738152+0j), (292.8237848846276+0j), (260.3924123877352+0j), (214.03612693200122+0j), (195.52966739395038+0j), (163.098294897058+0j), (8.171170654254919+0j)], [(633.7717521195673+0j), (603.4528251812472+0j), (566.8802436876097+0j), (528.9878558128257+0j), (493.7350807003349+0j), (457.16249920669736+0j), (420.58991771305995+0j), (384.0173362194226+0j), (349.51535922415746+0j), (317.0839867272651+0j), (284.6526142303727+0j), (252.2212417334803+0j), (205.8649562777463+0j), (187.35849673969545+0j), (154.92712424280307+0j), 0]]

Process finished with exit code 0
Теперь я не знаю о зеленой и синей матрицах Фурье, но красная определенно неверна, поскольку значение красного является постоянным во всем файле (палитра имеет постоянное значение красного 255)
Матрица, которая представляет собой ДПФ для красного цвета, должна состоять из всех нулей, кроме ячейки 0,0
Что я сделал не так и как это исправить?>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»