From 6fa2dda2b44e0e2df1d945dd28a3930b5ee701ed Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 8 Mar 2013 00:56:13 +0700 Subject: [PATCH] update new edge compute update new edge compute --- build/classes/image2d/EdgeOperator.class | Bin 2165 -> 2102 bytes build/classes/image2d/Image2D.class | Bin 2227 -> 2277 bytes images/Thumbs.db | Bin 81408 -> 82432 bytes nbproject/build-impl.xml | 453 ++++++++++++++++++++--- nbproject/genfiles.properties | 4 +- nbproject/private/private.xml | 1 + src/image2d/EdgeOperator.java | 188 +++++----- src/image2d/Image2D.java | 97 ++--- 8 files changed, 544 insertions(+), 199 deletions(-) diff --git a/build/classes/image2d/EdgeOperator.class b/build/classes/image2d/EdgeOperator.class index dc233b6eb38e3e61c29126c5c238eafabfc1eb6c..3e9d5117b207ca39dbc3144786a93b81ae0c3757 100644 GIT binary patch delta 1039 zcmZuwTT4_?6#mwnnRCvZIdd-MMzag#l$APKUXGXYZds;jmX($`B2-9WshCMMLP9~1 zltDdI4<;A{krbmO-JmC5dg|Rj(Tj+-_6SzeKAZ1+Yp=D}jkSL{38!;m<>O}n`RFvT z8I>BUG*lZA4w ztL?ke*Kgvyw7-DX_fLGOzTkDJ*aXm*i4Xpa_zT5Tg&IvDFi8&-Pg6Wy@q&tHC|*eM zOvMW;o+bQ)o-J(Q_s1sjLrRWt)};9?5fFAvsKSZOLGxUp3D41y2tDd9t{y%_qb6P66Tu2jS6$jq3P9{F`H4z72%27 zfo<`yu!JGQJI=5OC5b*fDon{nW88x9y%gwkFy;^v)*s$eYNy#LFrU7J&Oa$x&z?iI zO6_@A?P>PIwLJ^F%#Cud)GclTP6FeZNLx`rJ5ftjsG}}4&BJh<4s+f?+MX?{VID&Uel`-#y$r;s4?9 zonM`v1yF(>13Ph8L$!t)0}75frq(e>4ID#6t>rXl8K^_OV~(q}@x@d~LxTa!Nwm=D zlr(8*)^Orwua`!z(L<^k&2Y6XEj$z30Olhuru{`OKA}UpBMyH_Jmei!>_umX)ZK%L0iIzC2(a^=Htx26Z zeOoS}ORu!HtMVpI8ebbt3bqMpNX<#|`v;|-0{Y;v^g3ubY8(G4G+&CuUzIYsh1(SR zC$Uwi?_WZF(zu-teG0}DeA34_vElTGMW#rHxcdM)e;m)ccOR-17BjHAGsVdIJBhSP zE6B4~cUcqgPau#~X?!)3^sp@szTmT@AcO54WV1bp0P@)nA_pN9@>78#)SwhCC_@j* z6Nqu>7Qz@qC1yA{$K-oXSwaNgQAaM+(+)IJ2u;+CX6onIB}6EWRvJM&Jw*q-LMKh4 zi)Q)w&7qqXaGn+sq9p|BD=r|DrOfk*jqz#CW+@hbuV62ugvo7^*vC+Co8R=$4cf$) z-z-Y#IdVBqLpeReenvVf=m`!m@}i0!^KNtaYSqvf@)-G8+9BS30snacCeI+mjdSTO zPa%izKo)&OQG%hzxeO@g3(SjADfWO;sEm;d0s4$`W_hsm2{u=_`N!aWS*ys>SOl$b xw>9jB$)1LA>gDjp0#;zsGUChdtRRQ8H@#dmDBd+5g}Sv8;9OQw$$ea?`UPV>%yIw# diff --git a/build/classes/image2d/Image2D.class b/build/classes/image2d/Image2D.class index ffab1744f15ebe0339fffaa1fe409035d5f3f349..5460122612107878818213db501cfcfeaf2fd96d 100644 GIT binary patch delta 800 zcmYL{SyK~H5QV=9Np3O@ke~!3Ad3hhNCfw|AmD>?xsaWVJ?@LnjFIoGZ;*e8YTq;Sn zI+UbDj+33Gvl*3D5_@nZK8l)nA*~eAL9sm8Qu^hQ4O323I+~JRW~7t1RPmX0EK(y8 z*`IMmHR~m_u^{uc(sMRxHc%(G;2?#Ejb!2C9rf}THOt8ZY+^GOIlq@JY{iP5ZJlgi wS{F_7MUxz8Pg5p6m$&`bs%Hvy@>}&81+Jw=cHqq@(AX)pX!71AxryC>0RnN0DF6Tf delta 748 zcmYL{*-sNu6vls3+TJo5u&sy=B9vVPL2<7l0xF=OSQo6gfKU)Dh=AZ;+;I1$zWHF{ z6NxVpOiOHHd^7RE|H38y5yo>{6K9g|%y-W@-~GO!m;I zVXucKlV)1njlX}rdHu8Uv&la8n;f9kq)kIR2Tcyqq3HB**d&J|iY^l`M>Pp)IHovm zlBb1FaMDA!j;Bn*oYv4&u8YoObCz=&&THDMp-*waBtV0re_?*w=qRIHF<=p4&|-*- z2D!tdeM6DSx|wKw?a26$V%TDYONyw)C}WDtI*u!@C?@phq+-hAD&z4{M^#lB(+2*u zM*TotyVmOJ8;eMD88a5wxNdQSoAH#Rpy8IqZSEMjTOwmq5fO_qtGH`%kNXx6G(2QZ z@yOyaPb{8lc*dN?b6za^vkb>#h3lJ99FQ~Cj{`$?DHp5&V+1EkR+r*_)f`*G3OZBd zg#EcmmIYlYykXm!#20kiE_VXI?MkpbMP4|`iUj#->R)L~YE`%GvYiQRucueX0&i(= zg4O>PYd%mI^%-9>DPe1(35sl&6c#U}O;rkJg~*HlP}Q+QS}7t#vD{05eoB}S_c3w( zN?b2cNs_fxNlRPCy|8t{JiKQ;)iPTS@2FveOzUNyTI$FmpSNselS~|9P=343xJ18) zEo{Y2Hrv>qIh9VDq|qUQ*(m}tYe~m{lV&re+S=B&~2F4r7tbMKZ8=ib8Zuo|ZFwO(n* zfOZ2=3XotiOUU_y*}LaV0owiztbb%czXZlcMHH`54{B94g?rpmbNI=A`l)Z4`n%9! z>8_B9zBuquli|6E`9U2q!CRxmj^KF@1e{v^qFZwtjwk87`M;Q43RKL9Dh=FKs%G6l@qNUuUx#O3g4sJkag89i-X5+d4>|-S$FYA z^=^1T=kwIha?~6F=SJ^PfW@yzeRijHNR#=aIad1;5qSu@rre`@uYaE%;=By1tVp2ww0N0) z862c!+2*e+Z;syHw#Yh}dhP#oO>^ z_u>n9>iWE63ckLO5x*OW|LN@RcG%jxEEG3Y7`O8{Mn;4J*dqJ1-=&hp0!W<-n$D9c zKW2f@{eY|{6^?jYcb^~IJi(a@O>ej;@HLO@h$F(h) zR;k4kR7)Aob6I`Dw+-6b@H9U6()L-Fn?ib1({bn;lso zHLpLPFc}+r{63o4FnD|7L~wXtE?KMqr8Adt_6vp2JuUE5`72~(-g zf2dG))#XZq{F4U_5(1XmJeS>auh?<_oHZRD07o30JfA;eM9}TA6{RtIywYOaee-~m zj;c#Jx5#sBtm)bBa;c5^M%0+3@qo%-;Em+?t_1E)8l&avGK&O%VSdYA6wa!L9vY+P~ zU827x_w;XKB|b2sAjx>lpYKHAp{OPr4cf|1gwGn_6w5BTigK>bYENv&S~l!4iT-Jb;-nhSG3jqShm$o)L5s#52) zh(8wx!}n-F=cRvP_Nr}*OC~%q%*gAmKvnBVWwV~U)IhoZIGZ#%OZZj@RN|I47@0{w zwVK^gmG00u&O!lvV8fw$0~6KtubagRgN*fulyz_J(507)4qoUeLrtPl(Qxf6%{)ej zzR1Q$=l|g^f1n+%%H879Ks%vHkAbAbr(=F21WCW8NS$6{w6L;68g)Kgv6nYM1^K&y7~pA{@l zGu2O|u0?J6z1OGS)^#nJ{G^DK-DP^(WNVhTNAU@%O>%dac{-=|1WFIr4}xzJWAAgM>5!^Lr8Bg{^2hMD$g(Fj+>C+}cM0Zo70!N`UiDC=Fo!`PLWZQ_We^ z)J~O6SALa4g&E+Xu9P{wVg8fo$&31Wi|oOwyj>``nMxh#m*-i|`djI@m!)O5$C%+l z;?j-92N9Bw{8CaJ1CUN0McU{!m6X*?!8~V{XRJHl~f(ZpR* z5As9Cw2OE5Dq}Cx-uWLE2(#3NAg8Ei8|m^m_&|WyR;?>Ms7zc~N!~E=^8l}S3jfHX z54^nh)ZPbRsMT$JO31^G9LAD-k{XicV`YMpcEkueFp<}~@9}RI$ocXpM<#X_UwAGD z>D)22y8&rPn2pP9Nenx23z{|mx#`?ITCN@lD!1Pdbi?vsl52!ym* z$-=kB>@eWH3hxEpQiBoF*Gc6B7dz_rZ)T65n-+1CLf>qnyJn@}3X1WZ)cHOiE0PR{Xhw zx}r%&^TX&MSAPL9@9n*@rZ3rB%t@ZoixS|2Obgo7CG~n{QIotcg&Ru|0csiT6d+nH z=NY`5$@(iHD$M%@LsS{0At1SVPOc%1G$iULLH~$xCq)$b>0#6!jD_4eTNn5WdA*zn zHzBCA{rTGO_Rpk;Y;CY{QpTs|f{ZO@gs6Z%t8#BWi35EQFHSaEAzSTjlMTx$09gAJ zx=R)!vQq#>Xz5Sy`!y@d5a8SoRq-(l^30DagWo8?L_heG6-EI@mC}x+W(jw_adH%3 zK%D~g&SX=79?s)+f-x4C6hUGlh+~gCFu(U-NSf4DHP_EnF2T4`B@CP1q&-ncNj6lS z%RI6_qQKkRr%Bbr^s+cB(;JxVIJwF%DZ z=^M0h{9paQ%HPwbdg&4$uK0U=(3b*yQzLWt6zV=!7Gl@C!tr(Mp9U@)i|k3KL%#bo z@yNzGzmAX_opya$tmjGY4b_dAy?^#>FWCf&d z7=5q3is|NgCB2jr)rz6NjG^;K3~Q+PJm(0A7}})Fkxy zy`9V^X4u_*rjs23_GrP(&Ys7gG){^{gDwhiQ3$J+8^fBUeC}g)Lt^`V$Mp>QVB1Ge zjQB$zNSRYb`6}FG&U^J-JWkzbL6)!QLS@vpI_y(WVdu=+q2tKC<1G>3PVZk<1w`@X zLh3@!Fp*GSs}{`0`vr3N523Po%*w>fnUb^%M7ZDcLq9k;Bat2~rudIWM;`N1J%8my zRd|StKvnGQ2cin8+Z}ywEd#kH6Kde#)L>_73@_j}*cL&g$ zLij<}Am3k4klN+2itheQkElkitut5HTKPIgyD>K6@1!q)j4HyJ_|O2ZB8LH>mZCn(G1Qq}7xmL;wI+vzeF1FBBM zmM^Q%sEy;N54)UV#sXoC#4LPBa>MCnE9P1ERKPzSDuWBT9d;*S-iRHhPLBSz&$q^9 zVuYz-q}n~&vD~#5@1x_^WrJ~N5_%JwWwW)^>^*m8B-kzmSmo>p)p0=HB2J_48;5}Y zcnZL$?Qs#?fBfsm@HjcsZzv)$@*&2wm2vHc8YYs==r}Vq5FG4>o;1P+PJ#3m>GLGWc)^qcpe1upm35u6 zgqTA4J%!jw4zBr=zt=KUc8&Qtz^T>Gr7evqU-W<2m(a~vAp4u$8I+H8ckpK1k*&(| z!gQY-#i0l1qgstl-)YJOS$~^7M{;!rgI(u0;bzyFt%svgA(0n*7yEcsMXY_r(@kp> ziaR&=50Gc=AtZqUR8~`fk$2w`9XEvtl|6!X_(=?#V^HU$!MNj0pTjVStYoc$^qkj0 zWc6zO;OjHV(wb_rKn&Vf9SCs-F||F{`1L*m%ATroBb28u<;rNeml(Xq@hV3xN+O(H z=Z15b`!1uz%WIYAF3*I8%qKiYn0dSJ`2U(xw3)J_O`PD6@lqdRVcAG1c`c_O=pr$F z%Tbu1`&g4WMuJh)VwgTCWs2rp?8DL_CeEmXjOggb5vX8a}j;>v19DC-*;n0if z7V~)MaWO~1Y~p^J*tt8!IGFiB4A@Y7Heg*Tt_;;II=gW=_V3Gs3rlB;I*Mz05Ejv5Y1#Yxr`(v+}~WcJ0ndFR6*a+N>9iT#?nq%azC zo)zZU1BJP&?&6O&TEyX;Ja^-?K6k*2^ox>#mp1{yC4Ks#rwU!l$2}(+Ld1_`I@aS? zwr7?vynQ5fLTrE@pRk@vh}UFP`c@KMkK|`-1x(AA4kO4axYdKvnb|?KgMl{!!HcrV zSF_MIyF_ghBMi_RUBO5o<cjN)Grb_d;p>dBEO+a#tM3b3%h zVAik5jOK_*P=_oR+`CJv@f;7Rxjm>moG!!~TVT{%VxlKK?mC^DhMSEdxfZYGT=`l< zMS*>MfI71U>LjopJg7y27Z3D#J4(q1hTn*#7S0F~hdQS)ZUuj|2_IkOms1 zh3`NYSATvvliai~w5H8B#3Hea_QHMcd!;9e9hg1wS#ZuFmjVcV`p>Xpa6eUv0({`5 z0COA^KvZaBN|rd* z1^nzKN#}^ExkuvU>(E2G#xuzz4`}|gp8r!`S@Ft5w(2z-sY`oSL~*j-AkC{R#8}d- z&@NOsV-C~7BP}ECLg0=aV~WyG`a2@Ww+0K&g&%RTVoAcL~4(B)9Q^|QY~ zD8ym?IKFfa%5^u%cggj|<;8S|E{1|7v#MtdlHL=ZuXq8mBHriMk+vn#) zvpr3lLTARG80e-I3^?1ppA(d5=*KFx&wny!QoZ&w0s}!+qgp1dtPE~Fo+s3nsQ$XU P1NWaeaIeV=XQlctm%X7o delta 4515 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 T(<_ + @@ -200,6 +201,27 @@ is divided into following sections: + + + + + + + + + + + + + + + + + + + + + @@ -332,11 +354,52 @@ is divided into following sections: - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -345,32 +408,270 @@ is divided into following sections: - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -402,10 +703,13 @@ is divided into following sections: - + Must set JVM to use for profiling in profiler.info.jvm Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + @@ -463,6 +767,7 @@ is divided into following sections: + @@ -479,6 +784,7 @@ is divided into following sections: + @@ -486,6 +792,7 @@ is divided into following sections: + @@ -512,6 +819,9 @@ is divided into following sections: + + + @@ -557,7 +867,7 @@ is divided into following sections: - + - + + + This target only works when run from inside the NetBeans IDE. @@ -781,8 +1095,9 @@ is divided into following sections: - + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. @@ -790,12 +1105,8 @@ is divided into following sections: - - + + This target only works when run from inside the NetBeans IDE. @@ -807,12 +1118,8 @@ is divided into following sections: - - + + This target only works when run from inside the NetBeans IDE. @@ -834,6 +1141,42 @@ is divided into following sections: + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + @@ -920,14 +1263,14 @@ is divided into following sections: - + Some tests failed; see details above. @@ -940,39 +1283,40 @@ is divided into following sections: Must select some files in the IDE or set test.includes - + Some tests failed; see details above. + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + - + Must select one file in the IDE or set test.class - - - - - - - - - - - - - - - + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + @@ -1037,9 +1381,12 @@ is divided into following sections: - - - + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 88d0951..25b228c 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.50.2.46 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=464b3301 -nbproject/build-impl.xml.script.CRC32=3250b5e9 -nbproject/build-impl.xml.stylesheet.CRC32=fcddb364@1.50.2.46 +nbproject/build-impl.xml.script.CRC32=2a31616b +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index c1f155a..8505fc1 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -1,4 +1,5 @@ + diff --git a/src/image2d/EdgeOperator.java b/src/image2d/EdgeOperator.java index cbba78f..1769f27 100644 --- a/src/image2d/EdgeOperator.java +++ b/src/image2d/EdgeOperator.java @@ -1,97 +1,91 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package image2d; - -import java.awt.Color; -import java.awt.image.BufferedImage; - -/** - * - * @author pratchaya - */ -public class EdgeOperator { - - // ---------------------------- sobel -------------------------------------- - // ** this template for sobel ** - public static int[][] edgeHorizontal() { - - int sobel[][] = { - {-1, -2, -1}, - {0, 0, 0}, - {1, 2, 1} - }; - - return sobel; - } - - public static int[][] edgeVertical() { - int sobel[][] = { - {-1, 0, 1}, - {-2, 0, 2}, - {-1, 0, 1} - }; - - return sobel; - } - // ----------------------------- end sobel --------------------------------- - - public static BufferedImage sobelOperation(BufferedImage _image, int horizon[][], int vertical[][]) { - BufferedImage imageOutput = new BufferedImage(_image.getWidth(), _image.getHeight(), BufferedImage.TYPE_3BYTE_BGR); // Set initial BufferedImage - - int kernelXY = horizon.length / 2; - // calculate image - for (int i = 0; i < imageOutput.getWidth(); i++) { - for (int j = 0; j < imageOutput.getHeight(); j++) { - int r = 0, g = 0, b = 0; // store RGB - int horiz = 0, verti = 0; - // int p = RGB.getRGBExtended(_image, i, j); - // horizontal - for (int k = -(kernelXY); k < kernelXY + 1; k++) { - for (int l = -(kernelXY); l < kernelXY + 1; l++) { - int p = RGB.getRGBW(_image, i + k, j + l); - // calculate a RGB by chip bit - - r += ((p >> 16) & 0xff) * vertical[k + kernelXY][l + kernelXY]; - g += ((p >> 8) & 0xff) * vertical[k + kernelXY][l + kernelXY]; - b += (p & 0xff) * vertical[k + kernelXY][l + kernelXY]; - - } //end k - }//end j - horiz += ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); - - - - // vertical - for (int k = -(kernelXY); k < kernelXY + 1; k++) { - for (int l = -(kernelXY); l < kernelXY + 1; l++) { - int p = RGB.getRGBW(_image, i + k, j + l); - // calculate a RGB by chip bit - - r += ((p >> 16) & 0xff) * horizon[k + kernelXY][l + kernelXY]; - g += ((p >> 8) & 0xff) * horizon[k + kernelXY][l + kernelXY]; - b += (p & 0xff) * horizon[k + kernelXY][l + kernelXY]; - - } //end k - }//end j - verti += ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); - - // add x-coordinate,y-coordinate form (diff) wiht sqrt(x.diff^2)+sqrt(y.diff^2)+ - double rgb = Math.sqrt(Math.pow(horiz, 2.0)) + Math.sqrt(Math.pow(verti, 2.0)); - // set color 0-255 - if (rgb > 255) { - rgb = 255; - } - if (rgb < 0) { - rgb = 0; - } - Color c = new Color((int) rgb, (int) rgb, (int) rgb); - //set RGB revert to image - imageOutput.setRGB(i, j, (int) c.getRGB()); - }// end i - } //end j - - return imageOutput; - } -} +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package image2d; + +import java.awt.Color; +import java.awt.image.BufferedImage; + +/** + * + * @author pratchaya + */ +public class EdgeOperator { + + // ---------------------------- sobel -------------------------------------- + // ** this template for sobel ** + public static int[][] edgeHorizontal() { + + int sobel[][] = { + {-1, -2, -1}, + {0, 0, 0}, + {1, 2, 1} + }; + + return sobel; + } + + public static int[][] edgeVertical() { + int sobel[][] = { + {-1, 0, 1}, + {-2, 0, 2}, + {-1, 0, 1} + }; + + return sobel; + } + // ----------------------------- end sobel --------------------------------- + + public static BufferedImage sobelOperation(BufferedImage _image, int horizon[][], int vertical[][]) { + BufferedImage imageOutput = new BufferedImage(_image.getWidth(), _image.getHeight(), BufferedImage.TYPE_3BYTE_BGR); // Set initial BufferedImage + + int kernelXY = horizon.length / 2; + // calculate image + for (int i = 0; i < imageOutput.getWidth(); i++) { + for (int j = 0; j < imageOutput.getHeight(); j++) { + int r = 0, g = 0, b = 0 , _r = 0 , _g = 0 , _b = 0; // store RGB + int horiz = 0, verti = 0; + // int p = RGB.getRGBExtended(_image, i, j); + + for (int k = -(kernelXY); k < kernelXY + 1; k++) { + for (int l = -(kernelXY); l < kernelXY + 1; l++) { + int p = RGB.getRGBW(_image, i + k, j + l); + // calculate a RGB by ship bit + // horizontal + r += ((p >> 16) & 0xff) * vertical[k + kernelXY][l + kernelXY]; + g += ((p >> 8) & 0xff) * vertical[k + kernelXY][l + kernelXY]; + b += (p & 0xff) * vertical[k + kernelXY][l + kernelXY]; + + // verticel + _r += ((p >> 16) & 0xff) * horizon[k + kernelXY][l + kernelXY]; + _g += ((p >> 8) & 0xff) * horizon[k + kernelXY][l + kernelXY]; + _b += (p & 0xff) * horizon[k + kernelXY][l + kernelXY]; + + } //end k + }//end j + horiz += ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); + verti += ((_r & 0xff) << 16) | ((_g & 0xff) << 8) | (_b & 0xff); + + + + + // add x-coordinate,y-coordinate form (diff) wiht sqrt(x.diff^2)+sqrt(y.diff^2)+ + double rgb = Math.sqrt(Math.pow(horiz, 2.0)) + Math.sqrt(Math.pow(verti, 2.0)); + // set color 0-255 + if (rgb > 255) { + rgb = 255; + } + if (rgb < 0) { + rgb = 0; + } + Color c = new Color((int) rgb, (int) rgb, (int) rgb); + + //set RGB revert to image + imageOutput.setRGB(i, j, (int) c.getRGB()); + }// end i + } //end j + + return imageOutput; + } +} diff --git a/src/image2d/Image2D.java b/src/image2d/Image2D.java index 4503264..8f9e698 100644 --- a/src/image2d/Image2D.java +++ b/src/image2d/Image2D.java @@ -1,47 +1,50 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package image2d; - -//import java.awt.Graphics2D; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.Toolkit; -import java.awt.image.BufferedImage; -import javax.swing.JFrame; - -public class Image2D { - - public Image2D() { - Toolkit toolkit = Toolkit.getDefaultToolkit(); - Dimension dim = toolkit.getScreenSize(); - String url = "images/wl2.jpg"; // this program have 4 images : wr.png ,sh.jpg , ca.jpg , icon.jpg ,r1,r2,r3,r4.jpg - BufferedImage image = ImageReader.load_image(url); - image = Gaussian.apply(image, 7, 0.84089642); //.94089642 - image = Grayscale.apply(image); - // image = AutoBalance.apply(image); - image = Threshold.apply(image); - image = Opening.apply(image, 3); - image = Opening.apply(image, 3); - // image = NewClass.h(image, EdgeOperator.edgeVertical()); - image = EdgeDetector.findEdgeSobel(image); - - JFrame frame = new JFrame("Display Image"); - ImagePanel iPanel = new ImagePanel(image); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.getContentPane().setLayout(new BorderLayout()); - frame.getContentPane().add("Center", iPanel); - //frame.setSize(65, 134); - frame.setSize(image.getWidth() + 8, image.getHeight() + 34); - frame.setLocation((int) image.getWidth() / dim.width + 455, (int) image.getHeight() / dim.height); - frame.setVisible(true); - - } - - public static void main(String[] args) { - Image2D i = new Image2D(); - - - } -} +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package image2d; + +//import java.awt.Graphics2D; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Toolkit; +import java.awt.image.BufferedImage; +import javax.swing.JFrame; + +public class Image2D { + + public Image2D() { + Toolkit toolkit = Toolkit.getDefaultToolkit(); + Dimension dim = toolkit.getScreenSize(); + String url = "images/wl2.jpg"; // this program have 4 images : wr.png ,sh.jpg , ca.jpg , icon.jpg ,r1,r2,r3,r4.jpg + BufferedImage image = ImageReader.load_image(url); + image = Gaussian.apply(image, 7, 0.84089642); //.94089642 + image = Grayscale.apply(image); + //image = AutoBalance.apply(image); + image = Threshold.apply(image); + image = Opening.apply(image, 3); + image = Opening.apply(image, 3); + image = Opening.apply(image, 3); + image = Closing.apply(image, 2); + image = EdgeDetector.findEdgeSobel(image); + + // swing for tester { + JFrame frame = new JFrame("Display Image"); + ImagePanel iPanel = new ImagePanel(image); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.getContentPane().setLayout(new BorderLayout()); + frame.getContentPane().add("Center", iPanel); + //frame.setSize(65, 134); + frame.setSize(image.getWidth() + 8, image.getHeight() + 34); + frame.setLocation((int) image.getWidth() / dim.width + 455, (int) image.getHeight() / dim.height); + frame.setVisible(true); + // } + + } + + public static void main(String[] args) { + Image2D i = new Image2D(); + + + } +}