Привет,
Я пытаюсь умножить два массива типов fftw_complex, как мне это сделать?
Вот код:
fftw_complex *rInF, *gInF, *bInF;
fftw_complex *rOutF, *gOutF, *bOutF;
for(int i=0;i<m_image->width()*m_image->height();i++)
{//realis
rInF[i][0] = rIn[i][0]*rInMask[i][0] - rIn[i][1]*rInMask[i][1];
gInF[i][0] = gIn[i][0]*gInMask[i][0] - gIn[i][1]*gInMask[i][1];
bInF[i][0] = bIn[i][0]*bInMask[i][0] - bIn[i][1]*bInMask[i][1];
//imaginalis
rInF[i][1] = rIn[i][1]*rInMask[i][0] + rIn[i][0]*rInMask[i][1];
gInF[i][1] = gIn[i][1]*gInMask[i][0] + gIn[i][0]*gInMask[i][1];
bInF[i][1] = bIn[i][1]*bInMask[i][0] + bIn[i][0]*bInMask[i][1];
}
У меня есть 2 массива для каждого канала RGB (из двух изображений, которые дают нам — 2R, 2G, 2B).
rIn, gIn, bIn и rInMask, gInMask, bInMask в порядке. Я хочу умножить два комплексных числа и назначить коэффициент умножения для rInF, gInF и bInF.
Позже я сделаю обратный fftw и получу свертку в частотной области. (<- это не важно).
Приложение просто закрывается и не выдает никаких ошибок.
Задача ещё не решена.
Других решений пока нет …