<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">ENG</journal-id><journal-title-group><journal-title>Engineering</journal-title></journal-title-group><issn pub-type="epub">1947-3931</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/eng.2012.47045</article-id><article-id pub-id-type="publisher-id">ENG-20542</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Engineering</subject></subj-group></article-categories><title-group><article-title>
 
 
  3D Display System Based On Digital Holography Application In Making Cartoon Holography
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>iveen</surname><given-names>Farid</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mohamed</surname><given-names>El Bahrawi</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>National Institute For Standards: Length and Engineering Precision, NIS, Tersa st., Al- Haram, Giza code, Giza, Egypt</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>niveen_farid@hotmail.com(IF)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>03</day><month>07</month><year>2012</year></pub-date><volume>04</volume><issue>07</issue><fpage>349</fpage><lpage>352</lpage><history><date date-type="received"><day>January</day>	<month>20,</month>	<year>2012</year></date><date date-type="rev-recd"><day>February</day>	<month>27,</month>	<year>2012</year>	</date><date date-type="accepted"><day>March</day>	<month>10,</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Holography is an interesting tool in creating real objects and scenes which can be projected anywhere with accurate details and depth impression. It is also found to be more attractive to the artists than other alternatives. For that reason, digital holography is being used as a display technology in cartoon movies. Since this application is dependent on the performance and the simplicity of the available display technology, it becomes very useful to improve the display technique in order to become fast, simple, and attractive by being combined with computer graphical effects. This paper discusses a simulation of a digital holographic model as a three dimensional (3D) display system and its application in making cartoon holography.
 
</p></abstract><kwd-group><kwd>3D display model; Fourier Transformation; Cartoon Holography</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Some previous work discussed the creation of a threedimensional (3D) effect for an image by rotating the twodimensional (2D) one on a computer screen in order to add the required sense of image depth depending on image processing techniques. In the meanwhile, many types of the display technology interact with our activities and enable us to see 3D images in virtual reality [1,2]. Among these types, the digital holography is a simple fast technology which provides the depth impression and the desired size to the reconstructed image without need to complicated optical systems which require expensive receivers, special developing solutions, high quality optcal components in addition to a high stable environment. Moreover, to produce an optical hologram, the object needs to be illuminated with a laser beam and the scattered beams interfere with the reference ones, then the interference patterns are recorded. The 3D object image is then reconstructed from the recorded optical hologram using a special constructing system. In case of existence of air currents, sounds or temperature changes, the recording will blur and become useless.</p><p>Digital models which are simulated by computer are increasingly used to carry out the whole process chain of making the hologram and reconstructing the 3D image. The generated fringe patterns are similar to those resulted optically from the interference of the wavefront from the reference and the object beams at the photographic plate or even captured by the CCD camera. The digital holographic technique needs a set of sufficient data to be added to the computer software in order to generate a synthetic hologram for displaying the 3D scene. The advantage of this method is the absence of any optical requirements for recording and reconstruction. Moreover, it can be used to reconstruct virtual objects according to the proposed algorithm for calculating the hologram and reconstructing the 3D cartoon images.&#160; The reconstructed image can be then combined with graphical effects to make cartoon holography in the desired viewing scene to become attractive to people.</p></sec><sec id="s2"><title>2. Digital Holographic Model</title><p>Several holographic techniques presented in [3-9] introduce different methods to record the hologram and reconstruct the 3D image, such as:</p><p>• Recording multi images for the object at different view angles, and combining the different holograms to display the 3D image from different direction.</p><p>• Arranging the Fourier holograms in a circular synthetic hologram to achieve 360 degrees of the scene.</p><p>To create a 3D image using digital holographic system, the 2D image is handled by the Fourier transformation, optical transfer function, and inverse Fourier transformation in order to create the cartoon hologram and finally reconstruct the 3D cartoon image with the required depth sense. In the proposed model, The object is considered to be represented by one plane xy-plane with a plan intensity distribution described by O(x, y), then the scattered field in the spatial domain for both cos &#160;and&#160; sin&#160; components is described by</p><disp-formula id="scirp.20542-formula65239"><label>(1)</label><graphic position="anchor" xlink:href="2-8101587\b19c4821-2a32-4e5f-93f7-66dc54677dc6.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.20542-formula65240"><label>(2)</label><graphic position="anchor" xlink:href="2-8101587\3a76ff64-31e7-4807-bbb1-535e36bdeabd.jpg"  xlink:type="simple"/></disp-formula><p>where h(x,y) is the point spread function. Taking the Fourier transform for both equations:</p><disp-formula id="scirp.20542-formula65241"><label>(3)</label><graphic position="anchor" xlink:href="2-8101587\0b2dc953-6eff-4ff5-b2eb-48d8ece32680.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.20542-formula65242"><label>(4)</label><graphic position="anchor" xlink:href="2-8101587\aafde569-924c-44c4-8050-cabd67f3ac0c.jpg"  xlink:type="simple"/></disp-formula><p><img src="2-8101587\eac06a90-348f-48f8-acc9-4aec027c8f62.jpg" />relates the output quantity to the input quantity in the frequency domain, and defines the optical transfer function <img src="2-8101587\280da85f-f86f-45d6-9484-1ad11f411552.jpg" /> which describes the spatial variation as a function of the spatial frequency. Then the wavefront (to be reconstructed) is the superposition of the Fourier transform of the object modified by a phase factor. According to [<xref ref-type="bibr" rid="scirp.20542-ref10">10</xref>], the optical transfer function required to record a hologram in the Fourier domain is:</p><disp-formula id="scirp.20542-formula65243"><label>(5)</label><graphic position="anchor" xlink:href="2-8101587\f3088e7d-5b11-4ea1-be14-241590273d81.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="2-8101587\ac7e6f1b-e847-4b4e-9273-9cdcc191c26f.jpg" /> is the wave number, λ is the wavelength, <img src="2-8101587\74d2e944-6679-40af-b110-3e06f64fcdfe.jpg" />is the distance at which Fresnel diffraction is simulated, <img src="2-8101587\7dd5bdf0-9080-47ce-bb9e-7663ea1726cb.jpg" />are the spatial frequencies. Both real and imaginary holograms are obtained by the inverse Fourier transformation of the scattered wave modified by the optical transfer function:</p><disp-formula id="scirp.20542-formula65244"><label>(7)</label><graphic position="anchor" xlink:href="2-8101587\cd66da27-5bee-48a0-8cfb-cbe12411d5db.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.20542-formula65245"><label>(8)</label><graphic position="anchor" xlink:href="2-8101587\62d2d95b-582d-4c2b-95bf-95a4637d5e21.jpg"  xlink:type="simple"/></disp-formula><p>The reconstructed images are:</p><disp-formula id="scirp.20542-formula65246"><label>(9)</label><graphic position="anchor" xlink:href="2-8101587\de09917f-6af8-49c9-adc9-e90acec1c2c5.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.20542-formula65247"><label>(10)</label><graphic position="anchor" xlink:href="2-8101587\e257ef0d-6581-4065-9e09-dec5c67a0e23.jpg"  xlink:type="simple"/></disp-formula><p>The model is simulated on the computer as follows:</p><p>&#160;</p><p>private void ReadImage()</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160;&#160; int i, j;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GreyImage = new int[Width, Height];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;Bitmap image = Obj;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; BitmapData bitmapData1 =</p><p>image.LockBits(new Rectangle(0, 0, image.Width,</p><p>image.Height), ImageLockMode.ReadOnly,</p><p>PixelFormat.Format32bppArgb);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; unsafe</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160; byte* imagePointer1 =</p><p>(byte*)bitmapData1.Scan0;</p><p>&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for (i = 0; i &lt; bitmapData1.Height; i++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { for (j = 0; j &lt; bitmapData1.Width; j++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { GreyImage[j, i] =</p><p>(int)((imagePointer1[<xref ref-type="bibr" rid="scirp.20542-ref0">0</xref>] +&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imagePointer1[<xref ref-type="bibr" rid="scirp.20542-ref1">1</xref>] +</p><p>imagePointer1[<xref ref-type="bibr" rid="scirp.20542-ref2">2</xref>]) / 3.0);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imagePointer1 += 4; }</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imagePointer1 +=</p><p>bitmapData1.Stride - (bitmapData1.Width * 4);} }</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; image.UnlockBits(bitmapData1);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return; }</p><p>/// Calculate Fast Fourier Transform of Input Image</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; public Complex[,] ForwardFFT()</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160;&#160; int i, j;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fourier = new Complex[Width, Height];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Output = new Complex[Width, Height];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (i = 0; i &lt;= Width − 1; i++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (j = 0; j &lt;= Height − 1; j++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160;&#160; Fourier[i, j].real =&#160;&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (double)GreyImage[i, j];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fourier[i, j].imag = 0; }</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Output = FFT2D(Fourier, nx, ny, 1);</p><p>&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;return Output;&#160;&#160; }</p><p>public void GetHologram()</p><p>&#160; { for (int r = 1; r &lt;= Cols; r++)</p><p>&#160;&#160;&#160; { Fx = −12.8;</p><p>&#160;&#160;&#160;&#160;&#160; for (int c = 1; c &lt;= Rows; c++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; {OTF[r, c].real = 0;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; OTF[r, c].imag = Math.Exp(-1* imaginary_J&#160;&#160;&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *(z/(2*sigma))*(Fx*Fx+Fy*Fy));</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fx = Fx + 0.1;}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fy = Fy + 0.1;}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int i = 0;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int j = 0;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ImgFFT = new FFT(InputImage);</p><p>&#160;&#160;&#160; ImgFourier = ImgFFT.ForwardFFT();</p><p>public void FFTShift()</p><p>&#160;&#160;&#160; { int i, j;</p><p>&#160;&#160; FFTShifted = new Complex[nx, ny];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (i = 0; i &lt;= (nx / 2) − 1; i++)</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (j = 0; j &lt;= (ny / 2) − 1; j++)</p><p>&#160;&#160; { FFTShifted[i + (nx / 2), j + (ny / 2)] = Output[i, j];</p><p>&#160;&#160;&#160; FFTShifted[i, j] = Output[i + (nx / 2), j + (ny / 2)];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; FFTShifted[i + (nx / 2), j] = Output[i, j + (ny / 2)];</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; FFTShifted[i, j + (nx / 2)] = Output[i + (nx / 2), j];}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return; }</p><p>//Calculate hologram in Fourier domain&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160; ImgFourier = MatrixMultiply(ImgFourier, OTF);</p><p>&#160;&#160;&#160;&#160; InvImgFourier = ImgFFT.InverseFFT(ImgFourier);</p><p>//Calculate Real and Imaginary holograms&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; HRe = MatrixMultiply(RealFourier, OTF*);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; HIm = MatrixMultiply(ImaginaryFourier, OTF*);</p><p>//Digital image reconstruction</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IRe = ImgFFT.InverseFFT(HRe);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IIm = ImgFFT.InverseFFT(HIm);</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> shows the steps of implementation of the proposed model.</p></sec><sec id="s3"><title>3. Cartoon Images Created by the Model</title><p>The simulated holographic system is applied to object 2D images to create the 3D images with depth impression without need to any additional technical equipment. Some of the 3D reconstructed images are combined with backgrounds to give attractive cartoon scenes. The model is simple and not limited to the kind of object of interest since any image can be read as an input by the software. The created images are seen in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p></sec><sec id="s4"><title>4. Conclusion</title><p>A digital display system is simulated to be capable of displaying 3-D images having all the relevant information and visual properties of the scenes to be viewed. The simulated model is a fast simple display technique without need to install optical system or even real objects. The created 3D cartoon images are viewed with depth impression and are scaled to a desired size. It is also possible to combine the constructed images with some graphical effects to be more enjoyable.</p></sec><sec id="s5"><title>REFERENCES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.20542-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">J. Y. Son, B. Javidi and K. D. Kwack, “Methods for Displaying Three-Dimensional Images,” Proceedings of IEEE, Vol. 94, No. 3, 2006, pp. 502-523.  
doi:10.1109/JPROC.2006.870686</mixed-citation></ref><ref id="scirp.20542-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">C. Slinger, C. Cameron and M. Stanley, “Computer- Generated Holography as a Generic Display Technology,” Computer, Vol. 38, No. 8, 2005, pp. 46-53.  
doi:10.1109/MC.2005.260</mixed-citation></ref><ref id="scirp.20542-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">L. Yaroslavsky and N. Merzlyakov, “Methods of Digital Holography,” Consultance Bureau, New York, 1980.</mixed-citation></ref><ref id="scirp.20542-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">L. B. Lesem, P. M. Hirsch and J. A. Jordan Jr., “Computer Synthesis of Holograms for 3-D Display,” Communications of the ACM, Vol. 11, 1968, pp. 661-674.  
doi:10.1145/364096.364111</mixed-citation></ref><ref id="scirp.20542-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">L. B. Lesem, P. M. Hirsch and J. A. Jordan, “The Kinοform: A New Wavefront Reconstruction Device,” IBM Journal of Research and Development (IBM), Vol. 13, No. 2, 1969, pp. 150-155. doi:10.1147/rd.132.0150</mixed-citation></ref><ref id="scirp.20542-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">W. H. Lee, “Sampled Fourier Transform Hologram Generated by Computer,” Applied Optics, Vol. 9, 1970, pp. 639-643. doi:10.1364/AO.9.000639</mixed-citation></ref><ref id="scirp.20542-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">D. Leseberg and O. Bryngdahl, “Computer-Generated Rainbow Holograms,” Applied Optics, Vol. 23, No. 14, 1984, pp. 2441-2447. doi:10.1364/AO.23.002441</mixed-citation></ref><ref id="scirp.20542-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">F. Wyrowski, R. Hauck and O. Bryngdahl, “Computer- Generated Holography: Hologram Repetition and Phase Manipulation,” Journal of the Optical Society of America A, Vol. 4, No. 4, 1987, pp. 694-698.  
doi:10.1364/JOSAA.4.000694</mixed-citation></ref><ref id="scirp.20542-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">D. Leseberg and C. Frère, “Computer-Generated Holograms of 3-D Objects Composed of Tilted Planar Segments,” Applied Optics, Vol. 27, No. 14, 1988, pp. 3020- 3024. doi:10.1364/AO.27.003020</mixed-citation></ref><ref id="scirp.20542-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">T. C. Poon, “Recent Progress in Optical Scanning Holography,” Journal of Holography and Speckle, Vol. 1, No. 4, 2004, pp. 6-25.</mixed-citation></ref></ref-list></back></article>