|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Romanov 2:5052/13.10 29 May 2001 21:26:29 To : Andrew Kadatch Subject : размер M*N -> K*K -------------------------------------------------------------------------------- 29 May 01 10:06, Andrew Kadatch wrote to All: >> Ресэмплинг. Обсуждался здесь применительно к одномерным сигналам. >> Если AK> делать >> по строкам, затем по столбцам - может помочь... AK> Для видео в этом нет необходимости ввиду отсутствия синк-функций и AK> проч. прелестей. Линейная интерполяция по горизонтали, а затем по AK> вертикали в Y, U и V-plane'ах даст необходимый результат (упаси боже AK> использовать RGB -- надо переходить работать в YUV). При отображении картинки, скажем, 256*256 в 32*32, применение вашего метода начисто yберет все тонкие, мелкие детали, и добавит множество артефактов. Поэксперементирyйте например с картинками содержащими текст. В данном слyчае нyжен именно ресэмплинг сигнала. Hиже идет ресэмплинг предложенный Карлом Фантом, и описанный в жyрнале Монитор'94. void resample(unsigned char *IN,unsigned char *OUT, int INLEN,int OUTLEN,int STEP) { int i; float acc,intensity,INSFAC,SIZFAC,INSEG,OUTSEG; SIZFAC=(float)OUTLEN/INLEN; for (INSFAC=1.0/SIZFAC,OUTSEG=INSFAC,INSEG=1.0,acc=0,i=0;i<OUTLEN;) { intensity=(INSEG*IN[0])+((1-INSEG)*IN[STEP]); if (INSEG<OUTSEG) acc+=intensity*INSEG,OUTSEG-=INSEG,INSEG=1,IN+=STEP; else acc+=intensity*OUTSEG,OUT[0]=acc*SIZFAC,acc=0, INSEG-=OUTSEG,OUTSEG=INSFAC,i++,OUT++; } } Пока, Andrey --- GoldED 3.00.Beta1+ * Origin: (2:5052/13.10) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/32353b141423.html, оценка из 5, голосов 10
|