Mail Archives: djgpp/1998/02/13/07:40:47
--RnJpLCAxMyBGZWIgMTk5OCAxNDozMjo1MSArMDIwMA==
Content-Type: text/plain
On Fri, 13 Feb 1998 05:41:17 -0500 James W Sager Iii <sager+@andrew.cmu.edu> wrote:
> Hmmm, is there a way to reduce 3, 24 mil color images into a 256k palette?
> I'm have a solution that involves external paint programs, but I would
> like to optimize the three images upon loading... its no biggie.
Do you know about "octree quantization"? This method was described Gervautz, M.
and W. Purgathofer in "A Simple Method for Color Quantization: Octree
Quantization" in New Trends in Computer Graphics. New York, NY:
Springer-Verlag, 1988.
Attached zip-file contains an article by Dean Clark (71160 DOT 2426 AT compuserve DOT com)
about "Color Quantization using Octrees" and several C functions dealing
with octrees. May be it would be useful.
Regards,
Alexander Bokovoy, <bokovoy AT bspu DOT unibel DOT by>
---== The Soft Age coming soon ==---
--RnJpLCAxMyBGZWIgMTk5OCAxNDozMjo1MSArMDIwMA==
Content-Type: application/x-uuencode; name="Mapcolor.zip"
Content-Disposition: attachment;
filename="Mapcolor.zip"
Content-Transfer-Encoding: 7bit
begin 666 Mapcolor.zip
M4$L#!!0````(`,.*B"-<7$LBFQD```%'```,````34%00T],3U(N5%A4I5QM
M<QNYD?ZN*OT'E*XN)NTA+<E>Q[%6OI-EK]>)7W26LK[4GBL%SH`DSC,`%\"(
MYN;\WP_=#6``DG8VB38E4S-`H[O1KP_`7.I6&_9?/5=._LJ=U(KU5JH%>U<[
M(X0]/'C#5RMX</IP,I..R8XOA&5.L\?X]XJWPCD8^%QPQ2Y;;C[1YXIQMC)Z
M87C7"7.?*]YNK&/KI6:-N!6M7EGF7ZZ6LK:,JP9)PTI^P5;6R(RM6 DOT VIS AT 2K
MM7*\=J)AW+'?GYP\.IZ>/CQ]])^U[E:]%>963/W'J>>WKY=,S_TZ?N!">UZ]
M3%)9V0C/$`YWPC#IUV2-M+413L"21G_V#*`&_&Q83JI>]Y89P=M)*^>">:Z5
MLU-VL_2SU]I\LIZSFOOE*]9I+YN?Z):".=GY)P5-OYKQ0K3:>C)*]XOEE%U&
M7J(6*L\G6W'C9-VWW%0X9]ZW+1`NR4W9AYQK3[HWMZ)AK51>XMF&66>D0G4Z
MO1">*\,ZKC;L5AC_<JF- AT R%<+I:.)GV-HNW-G->>*-G%K%?U$I3J196>WKSE
M+HV9L AT O5L'5)AQ?*Y%+-])I4W&H3R2)O4C7R5C8];X>=H5%3=GAPXV40J!+.
M5-_-O$2PS7R#UEAP/JP7I[]3`K;<#W1+X]>7RDM2?Q(.)9E)9RMFA.U;!]SX
MMT?.]&'U(S;2)MC_N&)KY,.3$8+--DY8_]I3%[Q>LKD?:$13L85_"QZ@&C9K
M/:&5\:R93>!GC&(TH@$S%PVPA=/Q+5O)SZ(%JP5;`C4(=<:L7^T'N>C]O),I
M^["4K7\GNY7_QW/K):[%ROD98->@"B#G/XO/*Z&LO!45FVFWA+%.F,[2!H#]
M@;PKO18&F>V\*)LI>^5)\4\"?*35:->75W]F2\^ZH+&>XT[?"G;Z$)4'(QKN
MN)=+]YX,Z$&@J>T1AM2RY*99<]0D=W?\2C,OBB?;:&:U9U(UN%TS,<@P/3RX
M\,N"(^G.<[KEME[<HQ".)@[(T<:U6G_J5PR?C$G%P87]_UIA,R5%=V;2,2-^
MZ:7!\-%N&&=@IBWM.%L)$V0A^8">*)ZP6P[;+E4C/J,:<7E0DQ'-?3")^V AT B
M;/3^Y;,QC;:D&%`4&0+1X`Y5%"BLM)51VD;:5<LWHOF&L9Q.V;/>45A"`L AT 2
MS$:Y!`8`LG^KZ=GI=X^B<X;@^Y6%@#7P6XAW4W;9"F[:344"+'G;"K6(7F=%
M*VIBP^"2V2)@+/`"4PO07'+53'.')V<+F^Y$O53REU[0S"[D)\\I$5A+MXS9
MBO38B)5_!$%"E5F+S(1"N4,CFK(K;IUGVO84Y)X__Z/GYQ96O_7L-,RM=8CS
M5I"FC]Z(1G(UN>P=V\VGU1&$XPOE/.M_,OU"&#:Z]@P)C&`G?_C#PS'M>[=A
M&/H]0T=@3E=Z!5E`.C^[76C_8=D=L=$?^W8#T[X;3]DS<.E,'VM0V%P:+T%(
ML9YAO_H5[UOVHZ AT _^24=QH`E!"R#E!X?VRE[I4+L(`XJ]NI.V[*5\4(JQXXT
M5@/LEU(N-*JE-$T('=9-C*AA`ND]'SZP";'\>N4?\I8]AYAQ[4Q?N]Y`$7%A
M&803Q3NPAU4KR2M88``XA#U<\PV#!V?D&M(/P@"J="/8DEL&#J^#===+V39&
M*/+20&F$%8>##`$9B*S6,]S`VS&5!TLI##=^>@T9"5BUD55:M[=0"BTQO*M:
MKJ*'U[W!<-((B+'18SU#1D25VJ`!(!NR&WO_\EG0G'];D[2L[F<B2,<_2TNE
MC:3H#GFGR"Q3]FK.-KK'Z(V<#32!$&X4)EF,<;S5:C'0KG#J0KB AT DOT -O/8)(M
M`LJ#*7M.!'!>&`.!8>`15L&_R%$ZB*NZ$W:+KJ>DR>SH.<21$`0](W=N!5MH
MQTY/'Z89%8J,V07(K[2U$CR8))0*`JWIQ23\#?$``XE?PI,`P2WL1`AK:3?(
M2SB:U+#'A=@/R7J,UD.9!Z,3#3($_T'ZT;A_-(/<L05WW!Y,KS+&INP%B&7$
M`B-\B+4YX]IX`BL=DB,GVV8K+;T0AA;,+2@(&D AT T7L[>,]B2]K)R*ZR8\9<2
M'MD5&>A0=J$\EC1."P:_VN+0%;.P5`ABA5H'K1>]W.HL&\$H0;K84TVA5REP
M(_$+L#\$"`S^1(98G+*?7EY`'P+B6R_49Z(/*3RX#BZ]10+&11G!=N9S64M8
M$&S/4R15/PC)Q#EA,!LBR_ AT L DOT KV7FAY"W0!E/$R"S^"8C8!B#$MV4$D9+H*5
M9=M9&.1WT\.#ZWZU AT HX"W';-/7=.0ZL#0;[T_;G179KHAX2=R7>.),(@;N5"
M22\P4,2>C]A#VQ_!@]^G[2$*(%`5;/PX;C"1'1/=7$^>W,GQR?GY=ZAXK/$6
M4 AT 7&L6,!?T7*%9OKMM5K"K(<LMW20/>$SC>9/$7[__F[CU-V03(K\3EL/87T
MK86/3_S"#W#AT"4(UNBU&AQZ[P(//NZ*@3J%::W@>Y2VD AT K=TF::%I]Y[=I-
M'ABL$RLT*LX4AYR1_,A/F!09E,<J@*UUWS;@V%!9 AT 8]GY9-J/$VHD7%_>DRY
M0WP<-@8BGC/\5AA+.@_R<PMI_U;JWK8;[,-Z:P748^_%7*HX]LKH6EC(V"X$
MOB9:+`E&[`!WU8ZM0=)M&ZJK_'K8_/E_C5[;SWY<WRF;1Z=0)X*-N!`B"[F2
M.G8">BOXG(H".6SQE-UHS')E<`JKD#5H+%"A?0`<`5H9'+W0GAUIQ]6 AT KZ[W
MPN+:35_3NE9W8JG7K!,&._#8A%[2"E AT Z0%F+#1)A`JE)'Z6")O$>9M AT E];XK
M_X]RXT'J6G<SJ?S2Z-<I<,/6PA:DCB?B#T'0-+\1K7`09F/WH<2ZG!U\,RZ1
M*9*0$"!DQ$I`283Y)6D'81MDC@*<E5!#;RL]IA=T@-)0*(')#B(XKL\L[`9O
ML?.?LA_`V``XL4YP-,%9+]LF=`0A'2>K0V;P7=L&"R4 DOT L AT U-Q0'MI^PZ*.^=
M:#?0^JMD"WDRY+=0W'RNA6ALZ+4,6!B-`3WUM$1H:(@*MK)N&?RWF!+(1@/(
MK+=BEM^252&H9;"%Z80GMD$G]6P7#KWEYSK&K)#$,;K+#K5C^\Z/F;(+R/_S
MWJ!%!MUW0KF*=5RB#D&YW!B^04:E^H38DR4D`%6'=1DR@"(4N>L1F6-2]P(@
M&06XH%BA=H-*=BL'W9N]E4/.#J8/*W^%5-ZVK-%07U^PUR#MY#7Q2O`F/*;H
M8#.FY9QATE-W7`@AJ!'P"MH-A/*,X`&-Q$!+N AT 036+DM#>/&;^[`UC<-H3V8
M3M."H+C0!?.0O+`ET,$(L[T'NZ7^FGH:*BD&4B AT -Q@GRWV:(+,EU84R(!U@]
MVGZ&6"^!4M+6W#1Y.-BB'FOY++J&VACQ,ZH6(,(AJUG`0</7Z^THC34NA:P6
M7,`$DC^0_57P,N@@[A50H>4K!"!@:V)4PQ7+4B&E=H2TL"$9WB&YACBS3J\8
M..EDPN>`S*+HV.T.5,AWP60I6:PY-,`++M7T\.`OND>+!FJZ=X"LYCEW?SY_
M<GAP,F7X<UUD<]J#4-&E+.CR:C5U*V`QIX'*J_ENA-H*)6%Z'K.&X7.I4MJM
MMHT0%GH0%OJP%'GQ@;6(M#!?VB784/($6CQ4"&4\'HQ,-$50GK+W8JN\`=R1
MKXI1P9^D(3AP92!8QR4H-$\/#UX!5`HQ;#C<*&":PX/7TL)+BU AT QZ/UFK1,"
M AT NA2H,#S\MQ`4>3YIGHMK#I4:O_;(Q9C:R-GH@&<!?;R9K!&3W AT HTX?=MAB"
MHL=&LKN1)4$!4DG`$]I-B$2/AD[E!<6G6`G%$([@@NY5ZF>'_2?U(I!I\ZR)
M?CVPRIGMNS@;I(`LS!4>!&2"$AXB;%EH5Q1"@6P662',0EW)S8:"[D[`E8I=
MXL=WM7OKW_Z&Z)JR4X0:I0E1-N1+@7PV.O1AR>MC7`M_#@F3MWCN`&#$4BZ6
M><X:=@?,-Q%/L2>4Q[@50PL!S&'IWG>Q88 AT M+BB6\&$<0?`R;AP!H%C*`)"5
M8*[#@W<J<UA@&(HB5[$WGHLKPCYO"'"GRB"P1E8&73;44+9,\B!7QDM$;77O
M5GVTBH"KDM["'P%Q#H`XZ,YJ:E&:`@N8#"X;LTIP4$&H:D#;/`FB%6)!`GX3
M<P2-E!BO4,YL0L$Z[Q7M9W+!;0*8^@K51``R8#*`3W9<*3 AT VL9FQ3RDD%IT'
M'B'6*1R6:I&9U<3A\""/94760`:GAP>7[][^].+]S?22C?@MERU)"2B[T0H0
M2X#B$9Z^H->RE6Y3'?GUO:@/QL!4D^(/*6`N`?KM^,H&:'2G(RJ56HNV#8"=
MD%ADA),"DB'PG:(Z=%-&.JP=KB[_&Y?#<./(8*0"2\*G<VTZGI`'5#</=854
M`)4G&#Q"UI.)L!"J*0AZL2ZN+U^]2FMDECL3;@VG%\?(^$G%5FV/@!>>BBX%
M;R*4%HXY AT HDGM/>-</R#5(U>#P?8K9P9@&'1I6%`>C.ZKK5SEOT$)R*;BEU>
MC"LV\_0(61'<2F"XX:MP%(A'R5#6)!*?A%$A6D&)18'@HFD0*.(`[?<&LE=M
M`]@Y)"#_QR^]=(*)!&'!V2<>'$#5CT&'T,KK5&<5+1C5.P"J#_W*VWLG65H/
M&D0,$MBAH#WB#D6IV%N<.69X(--!_VK9G-]J:%TV(+%&V^F$6^K&QJ3F-BLR
MXW AT 4%S!-\`MM AT N0[$&,.#`S%CI$++&D($0[^.K3F95M+IQGA6"E-W1X9W9@\
M`4ONMF4S./X<ZEHD1\=/(T(EX4!26#LFL/L;>1?5``>.L9W=753:O<K(%MVW
M"!5W14R)Y=8KY0GRVLF:TBHSO:+$#Z82$GVXTX$'D+KSQ$(=WTC[B?$:LC>8
M1,=5N,XQT[UC#Q\<'\>*`H]/1:T5GB=R]O#QH_L/'K"KRX`#I*,>RK(9LA(1
ME62D=K<H2ELD3<!*R"#A<L(F-$ANNT;`B75"5*")4.2EE+)!93'3$3[`YW-1
MYRT,QE[4)L0X(WFJSE3=]HUXXL6O/Z%&8ILVD\YP(]O-67J7VIS4)<6G&!9R
M"_DMDQ";W)J%+J\[P9:;F9%-Q2Q<F>&@;W1 AT G`RKW:?9@!^#MZ*_0-MFXD;"
MD2 AT 33:(]/3SX0*?YL'8CYW-AA*K%?["KP&F=06##81@"@($F%I;8O`89NM!8
MHC>'#G%A=+_"=B+,RA"RE#!&M AT 67`]S&:+7(SOX%WB_PG.'6J7!&C7`DQKA=
M['%(L?/@P1/`2U:R#G>$%GC))[A("#-7V?;,Q5I8E]B-UQM0`^86CVB<I[XP
MO`D7AJ*T%5-T5`L+.H"7O9P08[RP/+9G&*H0%VN9,`:0<S#>8.ATP0$]V'8#
M]-4(YZ4"OQBV_E8,)[4!V0.\NUOAX<*,MSPD"0`MUQK2BJCA4M0%6\8L1+N!
M-F/18@"N"Y)W=,0C()O.^Y8%*$G%2QS6C^=&ZN&>#0XU@\KFNNYMO(C0R:9I
M1:GWU,IA)T=^F>,[E)Z.#%>-[MK-T60B'=VEV>POT_,6-0$V6>^5O)-.OS&;
M-WA9`G)-WGB"G0=>^5P;>JZA?TS*L\/-$U1C,$@JB$!#<)Y'U7/$G@)>$@IR
M5/2$.KN!*IWMHHD[S3X!/H$0=>YYID30A_-'.NG4.@>\2GV&RGJ(H+R%.VPX
M`8M,\=D93J<=W&Y'['K)U0)/=TT([=C=)&J\KOMN()?A25\'ID-31330RT%Q
M&@?/!"A_:.P"]`7MG([U.+;7$/KB8?/0!KJ2^(R`#]C%V!2AXUIW'[T-_'Y(
MORE2_@!)!8ITI5VX3Y`U&D,%YTG?<6S1<\.50\@&#Y'8VZTBAY)442$,]YSB
MQ2:>BV%D9S.4/&QT-.R.;]!/LYL4><E'U0EOL#;!>T.@/CX4I02<(@/)Z64'
MU0JG(A1.*EQ/1DW.GCHQF,-7*ZJ'>;BTB)%K^^@`X/`->_0P%E9T3D5IQQX>
MX'W4BL%]U.G7K]5,C_">3WZWYO#@I3"WO'>_5NS-%+/2ARF[ZLV"NZ6>0X=P
M=,&NZ0;>&ZQ<<?=W+P`]V0<W'8$"WHHUNS$8UP#5B-=!7X:R?XH#_J)!@+=_
M><*NX9;)0IC)3\*T?%'!W9W'GM%XL:?">SZ>+^+A%6JRN-H+#/Y@(#<^ZR$W
ML^?4KGGY=U9/VGA\"MJ AT JTL5762:_IT[3U&?6_><X,3:+^X9_9$KV)"+[*8O
M;.E7K AT 4!D,+!SBKVYN()-CY6J\D'8;&A\K2/T9_H=N23K<M?0<0TX/0)NRJ[
M6#IAKY>B$\.P!T_\JO$B3WX'`Q'WT\GST#:E"0^?L!_S"T/4K60S)Q.>;A@-
MT[Y[PIZ':P!%91OFQW`;H!$"K>(QRA-V0<\F`>0*1_F'!T4./#RX?Q]>G4R7
M;#)A/V*'F_KLXL2Y[`LB4(($\OO=]^\?'OR;G*M&S-F[RYN3O_[H_VX0"DU_
MN\U*P/M>P=$X0*1+;AC#RP)G>UY+Y0!2[OV_^U[C527_&O[-WH=9Z6>F=7LV
M,'=C>C&P]@-OK?"#CH=',`#FG?A'0C5RCK*^?_GLQB]`-[#"-=O'F5$Y`Y>]
M!BX(A6=_ DOT SQ AT 04+XUU2+:G96L)=^_"(W<:L/#[[$%<]P^7>U AT R@[L+`02AA9
MIY;<O]Q9_*^:9D4NHF;00+[.!1Z+A<05SD*"%%JW2,=")-]/`*1X_^<7<&3F
M0J;)H*]2&XAW?9T/BB+9'56:W8=]5[%[^0H7V AT TU)N92*G7239*2FA&-[;MP
ML0 AT _P;TB_^$,J5T/L':X.Q?16$MTHGW<Q==?U0W)Q,.][!$H9IQI9GOC[M)E
MD\<?,X(@&VQYN.)EOS(3KKW`IW+F^_*(,=``<Z.4%"QN^(/=+;#U$=@0VL_8
M#[O5LME!D$?Y9"H?HG)P+W_^6*$EWL4]!3*T![AAKP6?PSIV!+33&@-L7CX?
M8-9BU:UE[X:;0Q!("`8!`O!'`2=_ AT W&B`+-B2!C"Z<U:#^&TAG!ZF8-E1L.-
M>CQQVALR"0J`[?G>ND;JZ?+I[N-6SG:>'U'\/AHB%_Q<OGO][OVS5S?7_O/C
M\M7-^Q<OGK^XNOG1?WYT>(!>^.;B^D\_ISD?V3G[V_'GXY.*^=^G^/LA_GX,
MOT^.X?<I_GZ(OQ\??SD;%O$D1K-*C3W]T6 AT T&_\.J:N/XZ=/U7 AT 8]OK%3R]>
MC^JJ&8]&,&54CR=/335JQN/Q]]^?LO]CZ>D"GW[__4G^<$9#"RME=PD3`JO^
M.0F:NPW9/VQ:>2$!B]?#`[SM75-H6K0SL$.*@^>#WL[2,+0D/RS:+%SV.&?'
MPP"TSKL+X=Z(;@0W#_[J\`+">&L(.$_RR<&YJLP=V5U@,9N8OWHIW#`]NH:7
M,SMLFTS"7^EBYM8I(EGBO^9/AP=9CJ'\$OZ>LQ%.9^?GK"`Z?OOGUZ_',3?!
M3QA7GN:-DL/"D"\#52([GCRE=%102N]"DKAW[VS/2XKY[-YY.&YZ:O:-BADA
M&[?8-R[DBVS8K&1:0*F1,9DI^W>#-!3Q AT X^0GI,!3D AT 7'\?50"7[H>%[7^'$
M>R>9&K]063.<1V+@PGMC]BN72@+TD>!N AT Q>`D$Z74)(`L(:;9[`SF7UE<7PP
MF<*-,665J=GVG1'-^3'`DAWN1O@,&C\_/MLJ*BJFD.WT!MD^9X6K1$5`E3.2
MZ+M,LN^'\.G_O'>OL"FP.2`5MTA^+%[C2OBF,#:6!`##*.='"]P=3M\$VC,A
M&N/N%+P&O6=&+&.V.,51P3OV38O553EM#CNWI81LR)?"WFD<>2>$4=.+;$>2
M^YT'_13ODM.=)W44[Z.SG4?1P]NMF#PY9R/:%#9A:/UD]D6$`<N_:%L-W[P+
MWSNEJQ/R5SR8A,L(69D]980E87:@S#\?\'8X`XEWN--)`!Q:"4,5P(59]`#R
MV2>A$&=#87Z36KH,ZT2R>&]M-J!;T^"]KC<**#%V1:4<P".>84`<@TA-Y/HY
MW&90&D!)F`;`UIS+%FX*D8O^EJHO>>UN,H*:<YWY[W8CAL_B+M)(MIT3LHRI
MY]FK\;B<.'G:ANR<)YOT,AE=&'5>Y/0L-6W-&+._L<&<2V-*;OV5<%ZF\I#&
M`_VM])56C0Y(M4,I`EX&V//B&W.21Z4GF1^E9X/O'+_^Q\-@(A,#@)\%F;R4
M,)C88!#D=X6.T.^:QL;,\JU;D'#4*VHYE]#W AT VK)8O^Y4BK9<%!HZ)2\(%D1
MB9,_GD5QMIXSBIA)L#RY@%S!,^G+!\-1T?:U3(<HSAV;0=^%8-\N]?9ET#R!
MTF^"94>9"+DO3$X^@GOLU&+%F,F6^>XH:XOBKM9VEOS&RV%'SDICVK:DXM[2
M9,)>RENQ_?6C*MW:22?Y3RAJ,[0^.GF)5V/A3 AT AN10!U\B_%%#CZ621Q[72(
MTULG\?E='EB99H3KD7@#*$*)Z?+1G/#_(*^MV!VD<H>B?[AUAV20*`(<.]]6
M"$N6J']6 AT OV+[7I1Z,LLDL+4O;4X4:'I'Z<&0C[4:N,P(\2L^_3UFAC=\JJB
M)+#8)I!"W&\F,=LF$2/BMRB0>"$H$Z6B"R#U_+TD\0\$VE*Q7ZTYX6=G3\LY
M%<E?L82XY)._[*O?R,G*VW996-MGZ]`BY%=7RV\9)+,-E=3.MP[(1/\)4&:P
MR&]988 AT AV39^>Z-*)G)]YJW9HPF]H=KH8Y5 AT HD*-);*5ZW'PX_"-D2Q AT L%%9
M?XQ)0WO!LD$)0<YR:HJ:5%X!!V_PZR&Q2,2O>A)0M9M8]\$8:3T:P>#K)D%L
M_PG\BUZ,.UQA%+&/N$\X:$_:@0,M-Q\=O8`;"XD[+_"_P[$J_G]K2!7$^!]U
M5(U0'>.</.[F9^E&D[S=S71#K'X!#&_??_\/4$L!`A0`%`````@`PXJ((UQ<
M2R*;&0```4<```P``````````0`@`````````$U!4$-/3$]2+E185%!+!08`
1`````0`!`#H```#%&0`````
`
end
--RnJpLCAxMyBGZWIgMTk5OCAxNDozMjo1MSArMDIwMA==--
- Raw text -