<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4889154799943476959</id><updated>2011-07-30T08:07:52.505-07:00</updated><category term='introduction'/><category term='welcome'/><title type='text'>Counterspell</title><subtitle type='html'>Let the world be.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-7711729204262165789</id><published>2009-10-10T08:17:00.000-07:00</published><updated>2009-10-11T07:05:43.712-07:00</updated><title type='text'>Act 19: Restoration of blurred image</title><content type='html'>In this activity, we blur and noise an image, and using the knowledge of the process involved in the degradation of the image, we attempt to restore it.&lt;br /&gt;&lt;br /&gt;First, we make use of this image&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCmL8CYThI/AAAAAAAAAq8/uGE10TGTiGU/s1600-h/tapestry1969_2.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCmL8CYThI/AAAAAAAAAq8/uGE10TGTiGU/s200/tapestry1969_2.jpg" alt="" id="BLOGGER_PHOTO_ID_5390991477987364370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(source: http://www.misterguitar.us/news/images/tapestry1969.jpg)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We then degrade the image by blurring, which is governed by&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StHYgCf1rII/AAAAAAAAAs8/EU9lz0Qv9B4/s1600-h/eqn_01.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 58px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StHYgCf1rII/AAAAAAAAAs8/EU9lz0Qv9B4/s320/eqn_01.bmp" alt="" id="BLOGGER_PHOTO_ID_5391328273877019778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;where a and b are the total respective x- and y- displacement.&lt;br /&gt;and adding Gaussian noise, using (&lt;span style="font-style: italic;"&gt;grand&lt;/span&gt;, '&lt;span style="font-style: italic;"&gt;nor&lt;/span&gt;' function in Scilab), whose Fourier transform is represented as N(u,v). The degraded image is obtained from the equation&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StHijPl6XQI/AAAAAAAAAuM/BAJyTG3zi9Q/s1600-h/eqn_02.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 39px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StHijPl6XQI/AAAAAAAAAuM/BAJyTG3zi9Q/s320/eqn_02.bmp" alt="" id="BLOGGER_PHOTO_ID_5391339324048039170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;where F(u,v) is the Fourier transform of the original image.&lt;br /&gt;&lt;br /&gt;We now try to vary the parameters and see the resulting image. First, we hold T=1, and vary a and b, a=1 b=1, a=0.1 b=0.1, a=0.01 b=0.01, a= 0.001 b=0.001. The resulting respective images are shown below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StCpk2NqpWI/AAAAAAAAArc/AzxZcZ2pZ2Q/s1600-h/a1_b1_T1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StCpk2NqpWI/AAAAAAAAArc/AzxZcZ2pZ2Q/s200/a1_b1_T1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390995204455703906" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StCpkfQ17MI/AAAAAAAAArU/ENF49yLPRrA/s1600-h/apt1_bpt1_T1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StCpkfQ17MI/AAAAAAAAArU/ENF49yLPRrA/s200/apt1_bpt1_T1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390995198295010498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCpj6K0xMI/AAAAAAAAArM/_25YPB6rxz4/s1600-h/apt01_bpt01_T1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCpj6K0xMI/AAAAAAAAArM/_25YPB6rxz4/s200/apt01_bpt01_T1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390995188337657026" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StCpjdCQDFI/AAAAAAAAArE/ZG6fEkvbH58/s1600-h/apt001_bpt001_T1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StCpjdCQDFI/AAAAAAAAArE/ZG6fEkvbH58/s200/apt001_bpt001_T1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390995180517067858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that as a and b are increased the image becomes less blurred, and the features become discernible once again.&lt;br /&gt;&lt;br /&gt;This time we hold a=0.01 b=0.01, and vary T, T=0.001, T=0.01, T=0.1, T=1, T=10, T=1000&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StCqdo-IWsI/AAAAAAAAAsE/zBqZXpo7kmM/s1600-h/apt01_bpt01_Tpt001.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StCqdo-IWsI/AAAAAAAAAsE/zBqZXpo7kmM/s200/apt01_bpt01_Tpt001.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996180153424578" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCqdUd-pGI/AAAAAAAAAr8/4ng5Xw124Mk/s1600-h/apt01_bpt01_Tpt01.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCqdUd-pGI/AAAAAAAAAr8/4ng5Xw124Mk/s200/apt01_bpt01_Tpt01.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996174649861218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCqdEI_byI/AAAAAAAAAr0/c_L5LHyzbKE/s1600-h/apt01_bpt01_Tpt1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCqdEI_byI/AAAAAAAAAr0/c_L5LHyzbKE/s200/apt01_bpt01_Tpt1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996170266865442" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StCqcj036MI/AAAAAAAAArs/cIj01inJJeA/s1600-h/apt01_bpt01_T1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StCqcj036MI/AAAAAAAAArs/cIj01inJJeA/s200/apt01_bpt01_T1.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996161592551618" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/StCqcQ9HP3I/AAAAAAAAArk/fplHf5Z0RWU/s1600-h/apt01_bpt01_T10.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/StCqcQ9HP3I/AAAAAAAAArk/fplHf5Z0RWU/s200/apt01_bpt01_T10.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996156526837618" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCqnCmPdSI/AAAAAAAAAsM/b7P2rQZOSUs/s1600-h/apt01_bpt01_T1000.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCqnCmPdSI/AAAAAAAAAsM/b7P2rQZOSUs/s200/apt01_bpt01_T1000.jpg" alt="" id="BLOGGER_PHOTO_ID_5390996341651371298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that the image inverts at small T, while it reverts and approach a certain threshold as T is increased.&lt;br /&gt;&lt;br /&gt;Next, we attempt to reconstruct the image using Weiner filtering.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StHjzW43AtI/AAAAAAAAAuc/H3GkztUvE9c/s1600-h/eqn_03.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 59px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StHjzW43AtI/AAAAAAAAAuc/H3GkztUvE9c/s320/eqn_03.bmp" alt="" id="BLOGGER_PHOTO_ID_5391340700396094162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;where&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StHkEJOF8II/AAAAAAAAAuk/VaCnmfi2tqM/s1600-h/eqn_03a.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 69px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StHkEJOF8II/AAAAAAAAAuk/VaCnmfi2tqM/s320/eqn_03a.bmp" alt="" id="BLOGGER_PHOTO_ID_5391340988784832642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since the power spectrum of the undegraded image is known, we can use this filtering. We make use of the image a=0.01 b=0.01 T=1&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/StCrkYNvRDI/AAAAAAAAAsU/QSrxpCyZ3_k/s1600-h/snsf_reconstruction.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/StCrkYNvRDI/AAAAAAAAAsU/QSrxpCyZ3_k/s200/snsf_reconstruction.jpg" alt="" id="BLOGGER_PHOTO_ID_5390997395426198578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that the above is only applicable when the power spectrum of the undegraded image is known, i.e. we have the original image at hand. Supposing it is unkown, we can guess a good value by letting the ratio of the power spectra become K, an arbitrary constant. In equation form:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StHlVm7yH9I/AAAAAAAAAus/32RhICp4-Cw/s1600-h/eqn_04.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 87px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StHlVm7yH9I/AAAAAAAAAus/32RhICp4-Cw/s320/eqn_04.bmp" alt="" id="BLOGGER_PHOTO_ID_5391342388330504146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Making use of K=0.1, K=0.0001, K=0.000001, we obtain these images&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCslYe-pXI/AAAAAAAAAss/5Zm1xII77CA/s1600-h/kpt1_reconstruction.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCslYe-pXI/AAAAAAAAAss/5Zm1xII77CA/s200/kpt1_reconstruction.jpg" alt="" id="BLOGGER_PHOTO_ID_5390998512190006642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCsk7XMfPI/AAAAAAAAAsk/KyTDbYUINfc/s1600-h/kpt0001_reconstruction.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCsk7XMfPI/AAAAAAAAAsk/KyTDbYUINfc/s200/kpt0001_reconstruction.jpg" alt="" id="BLOGGER_PHOTO_ID_5390998504372731122" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StCskR5mpJI/AAAAAAAAAsc/nMYtq8Rg3hM/s1600-h/kpt000001_reconstruction.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StCskR5mpJI/AAAAAAAAAsc/nMYtq8Rg3hM/s200/kpt000001_reconstruction.jpg" alt="" id="BLOGGER_PHOTO_ID_5390998493242762386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that decreasing K improves the image, thus the ratio of the power spectra must be small.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for completing this activity. Again, I would like to thank Earl for the cooperative effort, and Gilbert for showing me that (1.)/ is correct for matrix inversion instead of just 1./.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-7711729204262165789?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/7711729204262165789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/10/act-19-restoration-of-blurred-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/7711729204262165789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/7711729204262165789'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/10/act-19-restoration-of-blurred-image.html' title='Act 19: Restoration of blurred image'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2albIVhTq6c/StCmL8CYThI/AAAAAAAAAq8/uGE10TGTiGU/s72-c/tapestry1969_2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-800784300317194768</id><published>2009-09-16T19:05:00.000-07:00</published><updated>2009-10-11T06:39:17.303-07:00</updated><title type='text'>Act 18: Noise models and basic image restoration</title><content type='html'>In this activity, we make use of a grayscale image, apply noise to it, and using knowledge of the noise present in the image, try to recover its quality.&lt;br /&gt;&lt;br /&gt;We make use of the image similar to the one provided in the Activity 18 manual and its pdf (above), as well as an image downloaded from the internet and its pdf (below):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrGaT7r6cRI/AAAAAAAAAes/LLMOinuqgms/s1600-h/image.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrGaT7r6cRI/AAAAAAAAAes/LLMOinuqgms/s200/image.bmp" alt="" id="BLOGGER_PHOTO_ID_5382252696914522386" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Srgq3uHiHQI/AAAAAAAAAh8/X4X7i_5HVYQ/s1600-h/image_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Srgq3uHiHQI/AAAAAAAAAh8/X4X7i_5HVYQ/s200/image_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384100491282226434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgtSPwdypI/AAAAAAAAAjE/dw8u-bIOvE0/s1600-h/SLS_Corporate_Logo_th.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgtSPwdypI/AAAAAAAAAjE/dw8u-bIOvE0/s200/SLS_Corporate_Logo_th.jpg" alt="" id="BLOGGER_PHOTO_ID_5384103146012134034" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgtR3MbOVI/AAAAAAAAAi8/wjXo0xDByf0/s1600-h/1.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgtR3MbOVI/AAAAAAAAAi8/wjXo0xDByf0/s200/1.bmp" alt="" id="BLOGGER_PHOTO_ID_5384103139418519890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Source: (http://www.stevennoble.com/closer_look/SLS_Corporate_Logo_th.jpg)&lt;br /&gt;&lt;br /&gt;We apply different kinds of noise to it.&lt;br /&gt;Gaussian:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrGa7ys249I/AAAAAAAAAfU/yuMjEII1-54/s1600-h/gaussian_noise.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrGa7ys249I/AAAAAAAAAfU/yuMjEII1-54/s200/gaussian_noise.jpg" alt="" id="BLOGGER_PHOTO_ID_5382253381697332178" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgr8SJclKI/AAAAAAAAAiE/sF5fRzzR6hs/s1600-h/gaussian_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgr8SJclKI/AAAAAAAAAiE/sF5fRzzR6hs/s200/gaussian_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384101669185033378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgtj9VG0aI/AAAAAAAAAjk/r-gQw6cPXRY/s1600-h/1gaussian.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgtj9VG0aI/AAAAAAAAAjk/r-gQw6cPXRY/s200/1gaussian.jpg" alt="" id="BLOGGER_PHOTO_ID_5384103450303189410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgtjZ_JbeI/AAAAAAAAAjc/r_OOpSWKYhA/s1600-h/1gaussian_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgtjZ_JbeI/AAAAAAAAAjc/r_OOpSWKYhA/s200/1gaussian_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384103440815844834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rayleigh:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgsHji4yBI/AAAAAAAAAiM/EWJES2aoR_I/s1600-h/rayleigh.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgsHji4yBI/AAAAAAAAAiM/EWJES2aoR_I/s200/rayleigh.jpg" alt="" id="BLOGGER_PHOTO_ID_5384101862833702930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgsIOgaUiI/AAAAAAAAAiU/wohB_XyBS8c/s1600-h/rayleigh_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgsIOgaUiI/AAAAAAAAAiU/wohB_XyBS8c/s200/rayleigh_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384101874366042658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgtssP1eTI/AAAAAAAAAj0/uJT-GPoHc_w/s1600-h/1rayleigh.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgtssP1eTI/AAAAAAAAAj0/uJT-GPoHc_w/s200/1rayleigh.jpg" alt="" id="BLOGGER_PHOTO_ID_5384103600336501042" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgtsL-DHCI/AAAAAAAAAjs/M-RScVYzepk/s1600-h/1rayleigh_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgtsL-DHCI/AAAAAAAAAjs/M-RScVYzepk/s200/1rayleigh_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384103591671962658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Erlang or gamma:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrGa7gdZWnI/AAAAAAAAAfM/y5QqsZg30Fw/s1600-h/gamma_noise.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrGa7gdZWnI/AAAAAAAAAfM/y5QqsZg30Fw/s200/gamma_noise.jpg" alt="" id="BLOGGER_PHOTO_ID_5382253376800643698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgsYpmZQ_I/AAAAAAAAAic/ron_7zUfRaU/s1600-h/gamma_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgsYpmZQ_I/AAAAAAAAAic/ron_7zUfRaU/s200/gamma_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384102156516803570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Srgt0Ge_HOI/AAAAAAAAAkE/f0mLxqphdhA/s1600-h/1gamma.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Srgt0Ge_HOI/AAAAAAAAAkE/f0mLxqphdhA/s200/1gamma.jpg" alt="" id="BLOGGER_PHOTO_ID_5384103727638453474" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Srgtz1qTFAI/AAAAAAAAAj8/GFn-CgVScDw/s1600-h/1gammal_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Srgtz1qTFAI/AAAAAAAAAj8/GFn-CgVScDw/s200/1gammal_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384103723122496514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Exponential:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrGa6wnC-gI/AAAAAAAAAfE/UW5aXtj7Mgo/s1600-h/exponential_noise.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrGa6wnC-gI/AAAAAAAAAfE/UW5aXtj7Mgo/s200/exponential_noise.jpg" alt="" id="BLOGGER_PHOTO_ID_5382253363956218370" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgshn5TCDI/AAAAAAAAAik/lXdvBX24WNU/s1600-h/exponential_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgshn5TCDI/AAAAAAAAAik/lXdvBX24WNU/s200/exponential_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384102310678038578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrguDJDlWXI/AAAAAAAAAkU/-FBmlOvu434/s1600-h/1exponential.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrguDJDlWXI/AAAAAAAAAkU/-FBmlOvu434/s200/1exponential.jpg" alt="" id="BLOGGER_PHOTO_ID_5384103986026862962" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrguCvIX4HI/AAAAAAAAAkM/ai0sAfUKs8I/s1600-h/1exponential_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrguCvIX4HI/AAAAAAAAAkM/ai0sAfUKs8I/s200/1exponential_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384103979067629682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Uniform:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrGa6r4a64I/AAAAAAAAAe8/i2JMr8_CVYY/s1600-h/uniform_noise.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrGa6r4a64I/AAAAAAAAAe8/i2JMr8_CVYY/s200/uniform_noise.jpg" alt="" id="BLOGGER_PHOTO_ID_5382253362686913410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgsnmb7PgI/AAAAAAAAAis/IGt3jzCD2jc/s1600-h/uniform_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgsnmb7PgI/AAAAAAAAAis/IGt3jzCD2jc/s200/uniform_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384102413365624322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrguM-GWcZI/AAAAAAAAAkk/hPAsPl4kVuA/s1600-h/1uniform.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrguM-GWcZI/AAAAAAAAAkk/hPAsPl4kVuA/s200/1uniform.jpg" alt="" id="BLOGGER_PHOTO_ID_5384104154884370834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrguMRlTg8I/AAAAAAAAAkc/eaMZaiZV_3A/s1600-h/1uniform_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrguMRlTg8I/AAAAAAAAAkc/eaMZaiZV_3A/s200/1uniform_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384104142934606786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Impulse or "salt and pepper":&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrGa6UJnCAI/AAAAAAAAAe0/760vKnhooww/s1600-h/salt_pepper_noise.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrGa6UJnCAI/AAAAAAAAAe0/760vKnhooww/s200/salt_pepper_noise.jpg" alt="" id="BLOGGER_PHOTO_ID_5382253356316559362" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgs338yb4I/AAAAAAAAAi0/drlbpKnxUD4/s1600-h/uniform_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgs338yb4I/AAAAAAAAAi0/drlbpKnxUD4/s200/uniform_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384102692944768898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrguWZU5R6I/AAAAAAAAAk0/lqEl5vxyL8s/s1600-h/1salt_pepper.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrguWZU5R6I/AAAAAAAAAk0/lqEl5vxyL8s/s200/1salt_pepper.jpg" alt="" id="BLOGGER_PHOTO_ID_5384104316811954082" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrguV15hGMI/AAAAAAAAAks/mlXTE4pnzL8/s1600-h/1saltpepper_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrguV15hGMI/AAAAAAAAAks/mlXTE4pnzL8/s200/1saltpepper_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5384104307301882050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since the noises in the images were applied onto an original image, we try to reconstruct the images using four kinds of filters which are suited for additive noises. These are arithmetic mean filter, geometric mean filter, harmonic mean filter, and contraharmonic mean filter. Applying these filters for each image will yield the following (note that the images are sequenced in the with respect to the sequence of the filters mentioned above):&lt;br /&gt;&lt;br /&gt;For the Gaussian noise:&lt;br /&gt;Arithmetic&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgvLu4KxbI/AAAAAAAAAlU/eXTz82b7Ig8/s1600-h/gaussian_noise_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgvLu4KxbI/AAAAAAAAAlU/eXTz82b7Ig8/s200/gaussian_noise_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105233130112434" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgxWXwmMnI/AAAAAAAAAoU/Rz-Lugcg4W4/s1600-h/1gaussian_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgxWXwmMnI/AAAAAAAAAoU/Rz-Lugcg4W4/s200/1gaussian_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384107614926156402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Geometric&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgvLFl14dI/AAAAAAAAAlM/cw7S5GiS9xE/s1600-h/gaussian_noise_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgvLFl14dI/AAAAAAAAAlM/cw7S5GiS9xE/s200/gaussian_noise_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105222047392210" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgxWLt_AKI/AAAAAAAAAoM/sijaH3AkCsg/s1600-h/1gaussian_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgxWLt_AKI/AAAAAAAAAoM/sijaH3AkCsg/s200/1gaussian_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384107611693973666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Harmonic&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgvK_oCf0I/AAAAAAAAAlE/2SNMlyYpNSc/s1600-h/gaussian_noise_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgvK_oCf0I/AAAAAAAAAlE/2SNMlyYpNSc/s200/gaussian_noise_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105220445994818" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxVlvev5I/AAAAAAAAAoE/ilXTX1Hgy6w/s1600-h/1gaussian_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxVlvev5I/AAAAAAAAAoE/ilXTX1Hgy6w/s200/1gaussian_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384107601499701138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Contraharmonic&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgvKeEiHHI/AAAAAAAAAk8/h55YcuCsHFk/s1600-h/gaussian_noise_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgvKeEiHHI/AAAAAAAAAk8/h55YcuCsHFk/s200/gaussian_noise_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105211438701682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgxVPA63JI/AAAAAAAAAn8/aHauBgwZIPI/s1600-h/1gaussian_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgxVPA63JI/AAAAAAAAAn8/aHauBgwZIPI/s200/1gaussian_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384107595398831250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(For the next sets of images, the order of the filter used follows suit.)&lt;br /&gt;For the Rayleigh noise:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Srgv1mzwhcI/AAAAAAAAAl0/gT1kXy6D00k/s1600-h/rayleigh_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Srgv1mzwhcI/AAAAAAAAAl0/gT1kXy6D00k/s200/rayleigh_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105952518636994" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Srgxx6E9g3I/AAAAAAAAAo0/Ox3SKnBB-ZY/s1600-h/1rayleigh_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Srgxx6E9g3I/AAAAAAAAAo0/Ox3SKnBB-ZY/s200/1rayleigh_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108087994844018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Srgv1FS7KgI/AAAAAAAAAls/qm6b8rkEnSQ/s1600-h/rayleigh_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Srgv1FS7KgI/AAAAAAAAAls/qm6b8rkEnSQ/s200/rayleigh_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105943522552322" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxxZhbNuI/AAAAAAAAAos/TOXifrYCZCA/s1600-h/1rayleigh_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxxZhbNuI/AAAAAAAAAos/TOXifrYCZCA/s200/1rayleigh_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108079255860962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgv0i1__ZI/AAAAAAAAAlk/vW3xsTzXRSw/s1600-h/rayleigh_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgv0i1__ZI/AAAAAAAAAlk/vW3xsTzXRSw/s200/rayleigh_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105934274428306" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgxxFcJqOI/AAAAAAAAAok/k1NmEIl832Q/s1600-h/1rayleigh_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgxxFcJqOI/AAAAAAAAAok/k1NmEIl832Q/s200/1rayleigh_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108073865029858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgv0OKtbAI/AAAAAAAAAlc/R5MwHJdX-hc/s1600-h/rayleigh_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgv0OKtbAI/AAAAAAAAAlc/R5MwHJdX-hc/s200/rayleigh_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384105928724147202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxwQdH2SI/AAAAAAAAAoc/tQMWdJlci-g/s1600-h/1rayleigh_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgxwQdH2SI/AAAAAAAAAoc/tQMWdJlci-g/s200/1rayleigh_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108059642026274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the Erlang noise:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwKbU21UI/AAAAAAAAAmU/-1-5ePjcdJA/s1600-h/gamma_noise_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwKbU21UI/AAAAAAAAAmU/-1-5ePjcdJA/s200/gamma_noise_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106310213489986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyC6yvsFI/AAAAAAAAApU/aQ-qPEtWXTI/s1600-h/1gamma_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyC6yvsFI/AAAAAAAAApU/aQ-qPEtWXTI/s200/1gamma_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108380244652114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwJ3xXcdI/AAAAAAAAAmM/fdzc-3JkC8g/s1600-h/gamma_noise_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwJ3xXcdI/AAAAAAAAAmM/fdzc-3JkC8g/s200/gamma_noise_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106300669391314" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyCsqT4YI/AAAAAAAAApM/BG-VIO9jUeg/s1600-h/1gamma_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyCsqT4YI/AAAAAAAAApM/BG-VIO9jUeg/s200/1gamma_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108376451178882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwIPjXWvI/AAAAAAAAAmE/NyFtscj6kbQ/s1600-h/gamma_noise_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwIPjXWvI/AAAAAAAAAmE/NyFtscj6kbQ/s200/gamma_noise_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106272693377778" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgyCDlc_JI/AAAAAAAAApE/DQ_IbrUhrTo/s1600-h/1gamma_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgyCDlc_JI/AAAAAAAAApE/DQ_IbrUhrTo/s200/1gamma_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108365424950418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgwHxrST3I/AAAAAAAAAl8/xHAE1VsWleM/s1600-h/gamma_noise_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgwHxrST3I/AAAAAAAAAl8/xHAE1VsWleM/s200/gamma_noise_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106264673537906" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyBlGDNuI/AAAAAAAAAo8/Pgrf7yiTVbY/s1600-h/1gamma_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyBlGDNuI/AAAAAAAAAo8/Pgrf7yiTVbY/s200/1gamma_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384108357240174306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the exponential noise:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgwaodj01I/AAAAAAAAAm0/aATrQXxupaw/s1600-h/exponential_noise_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgwaodj01I/AAAAAAAAAm0/aATrQXxupaw/s200/exponential_noise_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106588617560914" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyzbYx8BI/AAAAAAAAAp0/sTaxRMgPzI0/s1600-h/1exponential_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyzbYx8BI/AAAAAAAAAp0/sTaxRMgPzI0/s200/1exponential_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109213627838482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwaP6iwFI/AAAAAAAAAms/JOzvKcUirv4/s1600-h/exponential_noise_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwaP6iwFI/AAAAAAAAAms/JOzvKcUirv4/s200/exponential_noise_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106582028238930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Srgyy25BfEI/AAAAAAAAAps/4iYl_JeQwtU/s1600-h/1exponential_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Srgyy25BfEI/AAAAAAAAAps/4iYl_JeQwtU/s200/1exponential_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109203830963266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgwZrhDF1I/AAAAAAAAAmk/yy55eqDug_Q/s1600-h/exponential_noise_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgwZrhDF1I/AAAAAAAAAmk/yy55eqDug_Q/s200/exponential_noise_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106572257630034" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyyfngLlI/AAAAAAAAApk/Xu7iu9owQqg/s1600-h/1exponential_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SrgyyfngLlI/AAAAAAAAApk/Xu7iu9owQqg/s200/1exponential_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109197583461970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwZWx977I/AAAAAAAAAmc/r0E-wemRD1s/s1600-h/exponential_noise_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwZWx977I/AAAAAAAAAmc/r0E-wemRD1s/s200/exponential_noise_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106566691450802" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyyIeCzDI/AAAAAAAAApc/TaWL_p4J_Uc/s1600-h/1exponential_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgyyIeCzDI/AAAAAAAAApc/TaWL_p4J_Uc/s200/1exponential_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109191369772082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the uniform noise:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Srgwnssa5YI/AAAAAAAAAnU/4eqwtc2-CAI/s1600-h/uniform_noise_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Srgwnssa5YI/AAAAAAAAAnU/4eqwtc2-CAI/s200/uniform_noise_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106813091931522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgzF_lH8qI/AAAAAAAAAqU/08wWuQY8veA/s1600-h/1uniform_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgzF_lH8qI/AAAAAAAAAqU/08wWuQY8veA/s200/1uniform_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109532580934306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwnUzZhRI/AAAAAAAAAnM/PVAHXtgouLU/s1600-h/uniform_noise_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwnUzZhRI/AAAAAAAAAnM/PVAHXtgouLU/s200/uniform_noise_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106806678750482" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzFXoKybI/AAAAAAAAAqM/jnQidMphzmE/s1600-h/1uniform_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzFXoKybI/AAAAAAAAAqM/jnQidMphzmE/s200/1uniform_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109521856285106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgwm9q2oSI/AAAAAAAAAnE/qidp-xlU9-Q/s1600-h/uniform_noise_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgwm9q2oSI/AAAAAAAAAnE/qidp-xlU9-Q/s200/uniform_noise_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106800468893986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgzE3PV1JI/AAAAAAAAAqE/md-T_gugQf4/s1600-h/1uniform_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgzE3PV1JI/AAAAAAAAAqE/md-T_gugQf4/s200/1uniform_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109513162216594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwmRBNXAI/AAAAAAAAAm8/aYR0vqG8ocI/s1600-h/uniform_noise_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwmRBNXAI/AAAAAAAAAm8/aYR0vqG8ocI/s200/uniform_noise_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106788483062786" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzEiV1KfI/AAAAAAAAAp8/QYg13iRx1is/s1600-h/1uniform_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzEiV1KfI/AAAAAAAAAp8/QYg13iRx1is/s200/1uniform_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109507552291314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the impulse noise:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwytjorkI/AAAAAAAAAn0/S9bV_n9WUp8/s1600-h/salt_pepper_noise_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SrgwytjorkI/AAAAAAAAAn0/S9bV_n9WUp8/s200/salt_pepper_noise_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384107002302082626" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Srgzf2SO13I/AAAAAAAAAq0/8mm6bZDmSuk/s1600-h/1salt_pepper_am.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Srgzf2SO13I/AAAAAAAAAq0/8mm6bZDmSuk/s200/1salt_pepper_am.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109976762374002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwyLjfZmI/AAAAAAAAAns/TIoTbIXfjJQ/s1600-h/salt_pepper_noise_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwyLjfZmI/AAAAAAAAAns/TIoTbIXfjJQ/s200/salt_pepper_noise_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106993174668898" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Srgzebzt5fI/AAAAAAAAAqs/zIZpWfDJAFc/s1600-h/1salt_pepper_gm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Srgzebzt5fI/AAAAAAAAAqs/zIZpWfDJAFc/s200/1salt_pepper_gm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109952475194866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Srgwxt4djSI/AAAAAAAAAnk/m7iNSmKqm-g/s1600-h/salt_pepper_noise_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Srgwxt4djSI/AAAAAAAAAnk/m7iNSmKqm-g/s200/salt_pepper_noise_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106985209564450" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SrgzdVErIqI/AAAAAAAAAqk/481GWC4RJ6I/s1600-h/1salt_pepper_hm.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SrgzdVErIqI/AAAAAAAAAqk/481GWC4RJ6I/s200/1salt_pepper_hm.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109933487399586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwxWCC6ZI/AAAAAAAAAnc/SeUKp2ZmkMw/s1600-h/salt_pepper_noise_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgwxWCC6ZI/AAAAAAAAAnc/SeUKp2ZmkMw/s200/salt_pepper_noise_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384106978807310738" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzaWSGJfI/AAAAAAAAAqc/Hwfd1LSd12c/s1600-h/1salt_pepper_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SrgzaWSGJfI/AAAAAAAAAqc/Hwfd1LSd12c/s200/1salt_pepper_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5384109882272523762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It can be seen from the resulting images that the filters yielded somewhat similar reconstructions, save for the contraharmonic filter (where Q=2) which yielded images that had inverted colors. The harmonic and geometric filters had similar reconstructions. It is interesting to note that both images reconstructed using these two filters had black dots scattered at some parts of the image. Also, a subtle difference between the two is that the harmonic image is a bit darker. The arithmetic filter seems suitable for most applications in general; the images yielded by this filter looks fine in most cases.&lt;br /&gt;&lt;br /&gt;We now investigate the effects of varying the order of the filter Q in the salt-and-pepper noise.&lt;br /&gt;For Q=2 and Q=-2:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StHez9zvNaI/AAAAAAAAAtM/WS5rke8SCy4/s1600-h/1salt_pepper_cm-2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StHez9zvNaI/AAAAAAAAAtM/WS5rke8SCy4/s200/1salt_pepper_cm-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335213285455266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StHezaRMKyI/AAAAAAAAAtE/Y3gOkd6k9XU/s1600-h/1salt_pepper_cm--2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StHezaRMKyI/AAAAAAAAAtE/Y3gOkd6k9XU/s200/1salt_pepper_cm--2.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335203745311522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For Q=1 and Q=-1:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/StHfBZ3IfKI/AAAAAAAAAtc/mLdm_nJqtUo/s1600-h/1salt_pepper_cm-1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/StHfBZ3IfKI/AAAAAAAAAtc/mLdm_nJqtUo/s200/1salt_pepper_cm-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335444154186914" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/StHfBJ7e5yI/AAAAAAAAAtU/mzYVE_kAa8Q/s1600-h/1salt_pepper_cm--1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/StHfBJ7e5yI/AAAAAAAAAtU/mzYVE_kAa8Q/s200/1salt_pepper_cm--1.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335439877465890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For Q=0.1 and Q=-0.1:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/StHfZiyZSAI/AAAAAAAAAts/h_Z5iNzN0RA/s1600-h/1salt_pepper_cm-0.1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/StHfZiyZSAI/AAAAAAAAAts/h_Z5iNzN0RA/s200/1salt_pepper_cm-0.1.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335858867095554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StHfZbeLQCI/AAAAAAAAAtk/WcmMEQ7pAhQ/s1600-h/1salt_pepper_cm--0.1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StHfZbeLQCI/AAAAAAAAAtk/WcmMEQ7pAhQ/s200/1salt_pepper_cm--0.1.jpg" alt="" id="BLOGGER_PHOTO_ID_5391335856903241762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For Q=0.01 and Q=-0.01:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/StHfifUzBVI/AAAAAAAAAt8/VDqUuPGvwZo/s1600-h/1salt_pepper_cm-0.1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/StHfifUzBVI/AAAAAAAAAt8/VDqUuPGvwZo/s200/1salt_pepper_cm-0.1.jpg" alt="" id="BLOGGER_PHOTO_ID_5391336012556469586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/StHfiME7jwI/AAAAAAAAAt0/EvyjHjufqBs/s1600-h/1salt_pepper_cm--0.01.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/StHfiME7jwI/AAAAAAAAAt0/EvyjHjufqBs/s200/1salt_pepper_cm--0.01.jpg" alt="" id="BLOGGER_PHOTO_ID_5391336007389646594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that the contraharmonic filter attempts to mask the "pepper" noise by applying white patches on it when Q is positive, while the reverse happens for when Q is positive. Long blog is long. These patches become larger when the absolute value of Q is increased, but is barely noticeable when set too low. Based on my observation, it is better to eliminate "pepper" noise, since black on a grayscale image is more discernible.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for this activity since I have completely done all the steps. I would like to thank Earl for his help with the filters and Gilbert for providing me with the &lt;span style="font-style: italic;"&gt;modnum&lt;/span&gt; toolbox necessary to generate Rayleigh noise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-800784300317194768?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/800784300317194768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-18-noise-models-and-basic-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/800784300317194768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/800784300317194768'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-18-noise-models-and-basic-image.html' title='Act 18: Noise models and basic image restoration'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2albIVhTq6c/SrGaT7r6cRI/AAAAAAAAAes/LLMOinuqgms/s72-c/image.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-937697645971957530</id><published>2009-09-08T02:04:00.000-07:00</published><updated>2009-09-08T20:45:06.347-07:00</updated><title type='text'>Act 17: Photometric Stereo</title><content type='html'>In this activity, we attempt to construct a 3-D image using four pictures of the same synthetic spherical image. These four images are for the four different locations of the point source namely:&lt;br /&gt;&lt;br /&gt;V1 = {0.085832, 0.17365, 0.98106}&lt;br /&gt;V2 = {0.085832, -0.17365, 0.98106}&lt;br /&gt;V3 = {0.17365, 0, 0.98481}&lt;br /&gt;V4 = {0.16318, -0.34202, 0.92542}&lt;br /&gt;&lt;br /&gt;The image as displayed in Matlab is displayed below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsPAaNpvI/AAAAAAAAAcM/Rf2QGiwB20A/s1600-h/matI1.jpg"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsPAaNpvI/AAAAAAAAAcM/Rf2QGiwB20A/s200/matI1.jpg" alt="" id="BLOGGER_PHOTO_ID_5379105810004420338" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsOzA-o_I/AAAAAAAAAcE/GO3KmtIElM8/s1600-h/matI2.jpg"&gt;  &lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsOzA-o_I/AAAAAAAAAcE/GO3KmtIElM8/s200/matI2.jpg" alt="" id="BLOGGER_PHOTO_ID_5379105806408918002" border="0" /&gt;  &lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SqZsOdn3gII/AAAAAAAAAb8/Wbwygia8DgM/s1600-h/matI3.jpg"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SqZsOdn3gII/AAAAAAAAAb8/Wbwygia8DgM/s200/matI3.jpg" alt="" id="BLOGGER_PHOTO_ID_5379105800666448002" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsONPNIoI/AAAAAAAAAb0/DpniW5xkmJ0/s1600-h/matI4.jpg"&gt;  &lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqZsONPNIoI/AAAAAAAAAb0/DpniW5xkmJ0/s200/matI4.jpg" alt="" id="BLOGGER_PHOTO_ID_5379105796268040834" border="0" /&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First, we compute the surface normal of the image, which is given in the following equation&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SqZtktIdApI/AAAAAAAAAc0/BvuTS6ncmgo/s1600-h/eqn_n.bmp"&gt;&lt;img style="cursor: pointer; width: 91px; height: 71px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SqZtktIdApI/AAAAAAAAAc0/BvuTS6ncmgo/s200/eqn_n.bmp" alt="" id="BLOGGER_PHOTO_ID_5379107282298405522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;where g is computed from&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SqZtkeHCU-I/AAAAAAAAAcs/0WqklVrZI2s/s1600-h/eqn_g.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 50px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SqZtkeHCU-I/AAAAAAAAAcs/0WqklVrZI2s/s200/eqn_g.bmp" alt="" id="BLOGGER_PHOTO_ID_5379107278265930722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From the obtained surface normals, nx, ny and nz were used to obtain the partial derivatives of f(u,v) with respect to both x and y using the following equations:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqZtkGex4PI/AAAAAAAAAck/PrAIYtwtl6c/s1600-h/eqn_df.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 55px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqZtkGex4PI/AAAAAAAAAck/PrAIYtwtl6c/s200/eqn_df.bmp" alt="" id="BLOGGER_PHOTO_ID_5379107271923065074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To get f, the equation below was used&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqZtjgebpYI/AAAAAAAAAcc/J9yBjaXh1tY/s1600-h/eqn_f.bmp"&gt;&lt;img style="cursor: pointer; width: 232px; height: 51px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqZtjgebpYI/AAAAAAAAAcc/J9yBjaXh1tY/s200/eqn_f.bmp" alt="" id="BLOGGER_PHOTO_ID_5379107261721060738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The Scilab function &lt;span style="font-style: italic;"&gt;cumsum&lt;/span&gt; can be done in lieu of integration. The obtained surface normal was then plotted using &lt;span style="font-style: italic;"&gt;plot3d&lt;/span&gt;, and the reconstruction is shown below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SqZtjGro9oI/AAAAAAAAAcU/QQJcamc8Zps/s1600-h/plot.bmp"&gt;&lt;img style="cursor: pointer; width: 222px; height: 168px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SqZtjGro9oI/AAAAAAAAAcU/QQJcamc8Zps/s200/plot.bmp" alt="" id="BLOGGER_PHOTO_ID_5379107254797137538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I will give myself a grade of 10/10 since this activity was accomplished within the period. I would like to thank Earl for the cooperation and Martin for helping us with the final parts of the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-937697645971957530?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/937697645971957530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-17-photometric-stereo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/937697645971957530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/937697645971957530'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-17-photometric-stereo.html' title='Act 17: Photometric Stereo'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2albIVhTq6c/SqZsPAaNpvI/AAAAAAAAAcM/Rf2QGiwB20A/s72-c/matI1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-6428711415972542299</id><published>2009-09-02T18:09:00.000-07:00</published><updated>2009-09-10T00:49:06.240-07:00</updated><title type='text'>Act 16: Neural Networks</title><content type='html'>In this activity, we also classify objects, except this time we make use of neural networks. A neural network is a computational model of how neurons in brains work. In comparison to linear discriminant analysis, there is no need to set rules to classify. Rather, neural networks learn the rules by examples which it then applies to the objects to be classified.&lt;br /&gt;&lt;br /&gt;For this activity, we make use of the two classes in Activity 15. Cole's neural network code was used for this activity. After setting a seed so that each run will be consistent, we first make a training set:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;x = [0.38    0.39;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.35    0.38;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.33    0.38;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.31    0.36;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.13    0.27;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.12    0.27;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.09    0.2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.09    0.2]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that the first column is the pixel area/1000 of the object and the second column is the red color channel value of the object. We set the values for classifying the objects as&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[0 0 0 0 1 1 1 1]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This means that the first four items correspond to the class 0, which is the white squash seed while the other items correspond to the small round seed. We can now run the test set since the neural network has learned how to classify the objects. Our inputs for the test set are&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;x1 = [0.35    0.38;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.31    0.36;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.12    0.27;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.11    0.25;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.11    0.24;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.1    0.23;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.1    0.22;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.09    0.22;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.09    0.2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.09    0.2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.33    0.38;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.1    0.24;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.3    0.36;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.28    0.35;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.26    0.31;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.24    0.3;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.13    0.27;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.38    0.39;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.27    0.35;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.27    0.34]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We set the learning rate to 1.0 and the training cycle to 1000. By manual classification, the output should be&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The output of the neural network is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[0.0081117 0.0258541 0.9832197 0.9897846 0.9904403 0.9936995 0.9940926 0.9957981 0.9962910 0.9962910 0.0134392 0.9932781 0.0346688 0.0675553 0.1581799&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0.2973589 0.9757485 0.0039843 0.0923583 0.0977971 ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rounded off, this becomes:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We can see that the neural network has correctly classified the objects.&lt;br /&gt;&lt;br /&gt;The value of the learning rate was then adjusted. I found out that decreasing the learning rate decreases the accuracy of the network. When set too low, the output values all become zero. Setting the training cycle too low will also have the same effect.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10 for this activity. Again, I would like to thank Earl for helping me collect the data in Activity 15, since it was used for this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-6428711415972542299?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/6428711415972542299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-16-neural-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6428711415972542299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6428711415972542299'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-16-neural-networks.html' title='Act 16: Neural Networks'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-3520234740581100672</id><published>2009-09-02T18:08:00.000-07:00</published><updated>2009-09-10T01:12:24.593-07:00</updated><title type='text'>Act 15: Probabilistic Classification</title><content type='html'>In this activity, we make of use the results of Activity 14 and segregate two classes of objects in the image. In linear discriminant analysis (LDA) , this is done in two ways. First, a set of features that best distinguish an object is chosen, and then a classification rule or model is used to separate the objects. Much information for this activity was taken from http://people.revoledu.com/kardi/tutorial/LDA/.&lt;br /&gt;&lt;br /&gt;We make use of the test image similar to Activity 14, except we eliminate all the largest seeds so that we will be left with only two groups.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqhlklvZa_I/AAAAAAAAAec/fp6RAN6q6Bo/s1600-h/nutless.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqhlklvZa_I/AAAAAAAAAec/fp6RAN6q6Bo/s200/nutless.jpg" alt="" id="BLOGGER_PHOTO_ID_5379661434174663666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The method for distinguishing the features of the objects used was also similar to that of Activity 14. From these data, we make use of LDA to classify the two objects into two separate classes. If LDA works, the separator between the two groups should be a line. Classifying the two groups with two discriminant functions will yield the plot below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Sqhmri47hlI/AAAAAAAAAek/96ZKoXtVUy4/s1600-h/ldaplot.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 152px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Sqhmri47hlI/AAAAAAAAAek/96ZKoXtVUy4/s200/ldaplot.jpg" alt="" id="BLOGGER_PHOTO_ID_5379662653180053074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that the graph can easily be separated by a line. In fact, the two objects seem too distinct with each other.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for finishing this activity. I would like to thank Earl for this help in both data collection and programming.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-3520234740581100672?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/3520234740581100672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-15-probabilistic-classification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/3520234740581100672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/3520234740581100672'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/09/act-15-probabilistic-classification.html' title='Act 15: Probabilistic Classification'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2albIVhTq6c/SqhlklvZa_I/AAAAAAAAAec/fp6RAN6q6Bo/s72-c/nutless.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-1288164230098867349</id><published>2009-08-26T17:45:00.000-07:00</published><updated>2009-09-10T01:05:41.069-07:00</updated><title type='text'>Act 14: Pattern Recognition</title><content type='html'>In this activity, we extract patterns from a given image using image processing in order to define a set of features that will allow us to separate the the set into classes, and to find the most suitable classifier for the task, since some objects can have similar parameters. This prompts us to search for other parameters that may be unique. We take the mean of the numerical values of each of these parameters, and we then compare each object's parameter to the respective mean parameter. For an object to belong to a certain class, their parameter should be close to the mean.&lt;br /&gt;&lt;br /&gt;We make use of an assembly of three different kinds of bird seeds: small round seeds, white squash seeds and large reddish-brown seed.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqhbaG-bKPI/AAAAAAAAAeE/SbWokkRf35w/s1600-h/IMG_2920.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqhbaG-bKPI/AAAAAAAAAeE/SbWokkRf35w/s200/IMG_2920.jpg" alt="" id="BLOGGER_PHOTO_ID_5379650259001223410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The parameters that were took into account were the size of the seeds and their red color channel values. The graph below summarizes the objects parameter's qualities:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SqhijvboTkI/AAAAAAAAAeU/JmKZ92WV2AM/s1600-h/testmode.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 152px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SqhijvboTkI/AAAAAAAAAeU/JmKZ92WV2AM/s200/testmode.bmp" alt="" id="BLOGGER_PHOTO_ID_5379658121061355074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The red colored dot stands for the mean value of the small round seed, the blue for the white squash seed and the blue for the large reddish-brown seed. It can be seen that similar objects are clustered together, save for a few deviations in color, which is between the class of the small round seeds and the white squash seeds. The color discrepancy may be attributed to the uneven illumination of the objects when the image was taken. However, the sizes of the two smaller seeds are somehow distinct from each other, so we can still infer the class the correctly belong to. The largest seeds are very far apart from the other two classes in terms of size, so the somehow large deviations from the mean does not matter.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for this activity since the code has successfully classified the objects. I would like to thank Earl for his assistance in data collection and help in the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-1288164230098867349?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/1288164230098867349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-14-pattern-recognition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/1288164230098867349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/1288164230098867349'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-14-pattern-recognition.html' title='Act 14: Pattern Recognition'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2albIVhTq6c/SqhbaG-bKPI/AAAAAAAAAeE/SbWokkRf35w/s72-c/IMG_2920.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-5547324676376316057</id><published>2009-08-17T17:58:00.000-07:00</published><updated>2009-09-10T01:13:05.000-07:00</updated><title type='text'>Act 13: Correcting Geometric Distortion</title><content type='html'>In this activity, we correct a barrel distortion in a given image, in this case a grid, using two methods: bilinear interpolation and nearest neighbor method. The image to be reconstructed is shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SqeUhwq3DRI/AAAAAAAAAc8/z2URp0LOoVM/s1600-h/barrel_distortion.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SqeUhwq3DRI/AAAAAAAAAc8/z2URp0LOoVM/s200/barrel_distortion.jpg" alt="" id="BLOGGER_PHOTO_ID_5379431587638611218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We compare the image with an ideal grid constructed computationally in Scilab, which shall serve as the reference image.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqeVMMQcNfI/AAAAAAAAAdE/WhoJFj8EfxI/s1600-h/dot.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 151px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqeVMMQcNfI/AAAAAAAAAdE/WhoJFj8EfxI/s200/dot.bmp" alt="" id="BLOGGER_PHOTO_ID_5379432316598498802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The vertices of the grid will serve as reference points for the reconstruction.  Firstly, the most undistorted image was located from the image, and the number of pixels down and across one box was counted. For each box, c1 to c8 was computed from the four corner points of the box, which is given by the equation below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SqeVvJyXSmI/AAAAAAAAAdM/39WTj2V0f0Y/s1600-h/matrix.jpg"&gt;&lt;img style="cursor: pointer; width: 173px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SqeVvJyXSmI/AAAAAAAAAdM/39WTj2V0f0Y/s200/matrix.jpg" alt="" id="BLOGGER_PHOTO_ID_5379432917230897762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;which is in matrix-vector notation&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SqeWzTZPzxI/AAAAAAAAAdU/FlFBznIPbNQ/s1600-h/matrix-vector.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 22px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SqeWzTZPzxI/AAAAAAAAAdU/FlFBznIPbNQ/s200/matrix-vector.jpg" alt="" id="BLOGGER_PHOTO_ID_5379434088041008914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since we are looking for the coefficients, we manipulate the above equation to&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SqeXDvYNhgI/AAAAAAAAAdc/8vsYx_OuX-Y/s1600-h/coeff.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 21px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SqeXDvYNhgI/AAAAAAAAAdc/8vsYx_OuX-Y/s200/coeff.jpg" alt="" id="BLOGGER_PHOTO_ID_5379434370430764546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We then determine the location of those points in the ideal rectangle using&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SqeXgpW8ouI/AAAAAAAAAds/2WrBIanW71Y/s1600-h/xhat.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 24px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SqeXgpW8ouI/AAAAAAAAAds/2WrBIanW71Y/s200/xhat.jpg" alt="" id="BLOGGER_PHOTO_ID_5379434867031057122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SqeXgXMJ_vI/AAAAAAAAAdk/y9lQ_5J4Xf0/s1600-h/yhat.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 24px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SqeXgXMJ_vI/AAAAAAAAAdk/y9lQ_5J4Xf0/s200/yhat.jpg" alt="" id="BLOGGER_PHOTO_ID_5379434862153957106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The locations of the distorted image were found using Scilab's &lt;span style="font-style: italic;"&gt;locate&lt;/span&gt; function. The results were also rounded off so that they become integer-valued.&lt;br /&gt;&lt;br /&gt;Using nearest neighbor method, the reconstructed image looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SqeYDe8QeVI/AAAAAAAAAd8/jdIDchFz7QU/s1600-h/nearest_neighbor.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SqeYDe8QeVI/AAAAAAAAAd8/jdIDchFz7QU/s200/nearest_neighbor.bmp" alt="" id="BLOGGER_PHOTO_ID_5379435465530177874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;while using bilinear interpolation yields the image below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SqeX9Yzkk4I/AAAAAAAAAd0/-vzIxv3p_0w/s1600-h/bilinear.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SqeX9Yzkk4I/AAAAAAAAAd0/-vzIxv3p_0w/s200/bilinear.bmp" alt="" id="BLOGGER_PHOTO_ID_5379435360803918722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As expected, the bilinear interpolation has better quality as compared to the grid reconstructed using nearest neighbor method.&lt;br /&gt;&lt;br /&gt;For this activity, I will give myself a grade of 10/10 for accomplishing this activity. I would like to thank Gilbert for his tremendous help in this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-5547324676376316057?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/5547324676376316057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-13-correcting-geometric-distortion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5547324676376316057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5547324676376316057'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-13-correcting-geometric-distortion.html' title='Act 13: Correcting Geometric Distortion'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2albIVhTq6c/SqeUhwq3DRI/AAAAAAAAAc8/z2URp0LOoVM/s72-c/barrel_distortion.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-3793910132356702817</id><published>2009-08-07T05:45:00.000-07:00</published><updated>2009-08-07T08:38:46.363-07:00</updated><title type='text'>Act 12: Color Image Segmentation</title><content type='html'>In this activity, we try to single out a particular region in a given image by taking a cropped image of the region's surface, and implement it using both parametric segmentation and non-parametric segmentation methods and compare their outcomes. We make use of the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Snw1DSC7tpI/AAAAAAAAAak/9CCZqjAAR5A/s1600-h/Image0043a.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Snw1DSC7tpI/AAAAAAAAAak/9CCZqjAAR5A/s200/Image0043a.jpg" alt="" id="BLOGGER_PHOTO_ID_5367223186418808466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Our region of interest is from that of the silver mouse:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Snw1C89FXmI/AAAAAAAAAac/ZHTTSsPxxQA/s1600-h/002.bmp"&gt;&lt;img style="cursor: pointer; width: 50px; height: 50px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Snw1C89FXmI/AAAAAAAAAac/ZHTTSsPxxQA/s200/002.bmp" alt="" id="BLOGGER_PHOTO_ID_5367223180757130850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Applying parametric segmentation on the original image using the above region of interest, we get the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Snw1CncwyjI/AAAAAAAAAaU/IljNcwAGafE/s1600-h/parametric+segment_002.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Snw1CncwyjI/AAAAAAAAAaU/IljNcwAGafE/s200/parametric+segment_002.bmp" alt="" id="BLOGGER_PHOTO_ID_5367223174984419890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As said in the the activity manual, histogram backprojection is similar to what was done in Activity 4, except that the lookup histogram is now two-dimenstional. Thus for the nonparametric part, the following histograms were obtained from the p(r) and p(g) values of the ROI:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Snw_vV-LkqI/AAAAAAAAAbM/1otx2TsxjvA/s1600-h/histogram_002.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Snw_vV-LkqI/AAAAAAAAAbM/1otx2TsxjvA/s200/histogram_002.jpg" alt="" id="BLOGGER_PHOTO_ID_5367234938503140002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Applying histogram backprojection yields the result below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Snw1CCfnC5I/AAAAAAAAAaM/vJxoOX_kowc/s1600-h/nonparametric+segment_002.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Snw1CCfnC5I/AAAAAAAAAaM/vJxoOX_kowc/s200/nonparametric+segment_002.bmp" alt="" id="BLOGGER_PHOTO_ID_5367223165064252306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This time, we make use of a portion of the wooden table as a region of interest:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Snw1B80SgyI/AAAAAAAAAaE/BWGvAgvEJPQ/s1600-h/003.bmp"&gt;&lt;img style="cursor: pointer; width: 50px; height: 50px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Snw1B80SgyI/AAAAAAAAAaE/BWGvAgvEJPQ/s200/003.bmp" alt="" id="BLOGGER_PHOTO_ID_5367223163540374306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Using parametric segmentation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Snw4i-4OvXI/AAAAAAAAAa0/sqslhclXzaY/s1600-h/parametric+segment_003.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Snw4i-4OvXI/AAAAAAAAAa0/sqslhclXzaY/s200/parametric+segment_003.bmp" alt="" id="BLOGGER_PHOTO_ID_5367227029564341618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The histogram for the nonparametric segmentation is shown below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Snw4jKJkkiI/AAAAAAAAAa8/Z9jSiBdiiGM/s1600-h/histogram_003.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Snw4jKJkkiI/AAAAAAAAAa8/Z9jSiBdiiGM/s200/histogram_003.jpg" alt="" id="BLOGGER_PHOTO_ID_5367227032589865506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the resulting image from histogram backprojection is:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Snw4hyxS2vI/AAAAAAAAAas/PayU59vuxQw/s1600-h/nonparametric+segment_003.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Snw4hyxS2vI/AAAAAAAAAas/PayU59vuxQw/s200/nonparametric+segment_003.bmp" alt="" id="BLOGGER_PHOTO_ID_5367227009134156530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Note that the histograms above correspond properly to the normalized color chromaticity space shown below. The silver mouse appears much more bluish looking and shinier, hence it being closer to both the white and blue regions of the color chromaticity space. On the other hand, the wood ROI, while not exactly white, appears in a region where the colors mix.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnxD-9PdFJI/AAAAAAAAAbk/aLd7brsJ6fk/s1600-h/colors.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 177px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnxD-9PdFJI/AAAAAAAAAbk/aLd7brsJ6fk/s200/colors.bmp" alt="" id="BLOGGER_PHOTO_ID_5367239604789122194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen from the images that the parametric segmentation makes the region of interest much more visible. However, the nonparametric segmentation somewhat recovers specular reflection, as can be seen in both images. Parametric segmentation is more useful when you need to clearly outline the parts of the image that correspond to your region of interest. Nonparametric segmentation may be more useful for manipulating your image, such as changing the regions of interest's colors, hue, brightness, etc.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 8/10 for this activity, due to having finished the exercise. The reduced grade is for not completely understanding the exercise. Hopefully, it will all be explained in the next meeting. I would like to thank Gilbert for helping me with the code in this exercise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-3793910132356702817?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/3793910132356702817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-12-color-image-segmentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/3793910132356702817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/3793910132356702817'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-12-color-image-segmentation.html' title='Act 12: Color Image Segmentation'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2albIVhTq6c/Snw1DSC7tpI/AAAAAAAAAak/9CCZqjAAR5A/s72-c/Image0043a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-5346118688435448146</id><published>2009-08-06T05:51:00.000-07:00</published><updated>2009-08-07T09:02:42.507-07:00</updated><title type='text'>Act 11: Color Image Processing</title><content type='html'>In this activity, we intentionally take two wrongly balanced images and apply two types of algorithms to properly balance them: the white patch and gray world algorithm.&lt;br /&gt;&lt;br /&gt;The first image is an ensemble of colorful objects:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrYDjlaw9I/AAAAAAAAAXE/o0xmjnHm7lI/s1600-h/Image0032-1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrYDjlaw9I/AAAAAAAAAXE/o0xmjnHm7lI/s200/Image0032-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5366839461568758738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Applying the white patch algorithm:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrYUFfVXPI/AAAAAAAAAXU/nE4rphhd2hQ/s1600-h/tungsteng.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrYUFfVXPI/AAAAAAAAAXU/nE4rphhd2hQ/s200/tungsteng.bmp" alt="" id="BLOGGER_PHOTO_ID_5366839745547951346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Applying the gray world algorithm:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrYTFh7HII/AAAAAAAAAXM/QsPozdPXDYI/s1600-h/tungstenw.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrYTFh7HII/AAAAAAAAAXM/QsPozdPXDYI/s200/tungstenw.bmp" alt="" id="BLOGGER_PHOTO_ID_5366839728378944642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For this image it seems better to use the gray world algorithm; the white patch-rendered image seems too bright and oversaturated. The gray world-rendered image seems more natural compared to the former. This is due to the fact that the gray world takes the average of all the colors in the image, and there seems to be a good balance of colors in the assembled ensemble of objects.&lt;br /&gt;&lt;br /&gt;For the next image, we make use of an image with different hues of green&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrZYNAdT5I/AAAAAAAAAXs/-BfHpD3YDuE/s1600-h/tungsten2.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrZYNAdT5I/AAAAAAAAAXs/-BfHpD3YDuE/s200/tungsten2.bmp" alt="" id="BLOGGER_PHOTO_ID_5366840915797036946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The image below is rendered using the white patch algorithm:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrZX6ceObI/AAAAAAAAAXk/y1NOjgaxM7c/s1600-h/tungstenw2.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrZX6ceObI/AAAAAAAAAXk/y1NOjgaxM7c/s200/tungstenw2.bmp" alt="" id="BLOGGER_PHOTO_ID_5366840910814263730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The image below is rendered using the gray world algorithm:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrZXpIgHWI/AAAAAAAAAXc/PQwD0qoXFs8/s1600-h/tungsteng2.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrZXpIgHWI/AAAAAAAAAXc/PQwD0qoXFs8/s200/tungsteng2.bmp" alt="" id="BLOGGER_PHOTO_ID_5366840906167098722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For this case it seems better to use the white patch algorithm since the color saturation of the color green actually messes up the overall average color of the image. The color balance of the gray world image as a result is worse than the original.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 8/10 for this activity for somehow being able to accomplish a good part of this activity, but I am hard pressed for time to take images that are set-up in other lighting conditions. I would like to thank Earl for his cooperative work on this activity as well as Rommel for helping me with setting up the objects for the image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-5346118688435448146?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/5346118688435448146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-11-color-image-processing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5346118688435448146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5346118688435448146'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-11-color-image-processing.html' title='Act 11: Color Image Processing'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2albIVhTq6c/SnrYDjlaw9I/AAAAAAAAAXE/o0xmjnHm7lI/s72-c/Image0032-1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-4263036058593929230</id><published>2009-08-06T05:22:00.000-07:00</published><updated>2009-08-07T09:00:15.562-07:00</updated><title type='text'>Act 10: Preprocessing Text</title><content type='html'>In this activity, we use the given Untitled_0001.jpg and crop a portion from it. I chose this particular segment&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrMrjghjiI/AAAAAAAAAWk/55eab62TYiQ/s1600-h/Untitled_0001_cropped.jpg"&gt;&lt;img style="cursor: pointer; width: 128px; height: 91px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrMrjghjiI/AAAAAAAAAWk/55eab62TYiQ/s200/Untitled_0001_cropped.jpg" alt="" id="BLOGGER_PHOTO_ID_5366826954603466274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The image was binarized so that it can be processed, and titled by using &lt;span style="font-style: italic;"&gt;mogrify&lt;/span&gt; so that the lines become horizontal. Performing FFT on the tilted image yields the image for the frequency domain&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrMrW6wjHI/AAAAAAAAAWc/EaJ7c7734pE/s1600-h/10m.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 93px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrMrW6wjHI/AAAAAAAAAWc/EaJ7c7734pE/s200/10m.bmp" alt="" id="BLOGGER_PHOTO_ID_5366826951223839858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We can make an appropriate mask to for the above image. I made use of&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrMrI55tnI/AAAAAAAAAWU/NqR7k4uXMzY/s1600-h/mask.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 93px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrMrI55tnI/AAAAAAAAAWU/NqR7k4uXMzY/s200/mask.bmp" alt="" id="BLOGGER_PHOTO_ID_5366826947462149746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The masked frequency domain image was returned to the spacial domain using &lt;span style="font-style: italic;"&gt;ifft&lt;/span&gt;, yielding the image&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrMq3IrWeI/AAAAAAAAAWM/0EQqSM-R1PI/s1600-h/cleaned.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 93px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrMq3IrWeI/AAAAAAAAAWM/0EQqSM-R1PI/s200/cleaned.bmp" alt="" id="BLOGGER_PHOTO_ID_5366826942692284898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;By applying the appropriate threshold, the image is binarized&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrMqlBkzhI/AAAAAAAAAWE/d3CBkT8WPLA/s1600-h/before_close.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 93px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrMqlBkzhI/AAAAAAAAAWE/d3CBkT8WPLA/s200/before_close.bmp" alt="" id="BLOGGER_PHOTO_ID_5366826937830657554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Using the closing operator with structural element of a 4x1 matrix consisting of ones, i.e. [1; 1; 1; ], the image below was obtained&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrOpenH8yI/AAAAAAAAAWs/Vn2mE0zEl8U/s1600-h/after_close.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 93px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrOpenH8yI/AAAAAAAAAWs/Vn2mE0zEl8U/s200/after_close.bmp" alt="" id="BLOGGER_PHOTO_ID_5366829117952488226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Using &lt;span style="font-style: italic;"&gt;bwlabel&lt;/span&gt;, we can mark the blobs&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrOqPoorII/AAAAAAAAAW8/rK11lhxNHX4/s1600-h/labeled_final.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 143px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrOqPoorII/AAAAAAAAAW8/rK11lhxNHX4/s200/labeled_final.bmp" alt="" id="BLOGGER_PHOTO_ID_5366829131112164482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the last part of the activity, we are to find all the instances of the word 'DESCRIPTION' in the Untitled_0001.jpg. We apply the same routine used in Template Matching using Correlation section of Activity 5. We start by rotating the image using &lt;span style="font-style: italic;"&gt;mogrify&lt;/span&gt; so that the image is in its proper orientation. We also crop a part of the image containing the word description and place it in a black background with the same size as the original image, like so&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnwbT3o66MI/AAAAAAAAAZ0/53Pos3A_2J4/s1600-h/description.jpg"&gt;&lt;img style="cursor: pointer; width: 161px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnwbT3o66MI/AAAAAAAAAZ0/53Pos3A_2J4/s200/description.jpg" alt="" id="BLOGGER_PHOTO_ID_5367194884085835970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Again, we use the same routine as Activity 5, where we apply &lt;span style="font-style: italic;"&gt;fft2&lt;/span&gt; on both images. We the correlate the above image with the binarized and rotated Untitled_0001.jpg. The algorithm yields the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnweIPARsAI/AAAAAAAAAZ8/W8WBIxzf_3A/s1600-h/thresh.bmp"&gt;&lt;img style="cursor: pointer; width: 160px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnweIPARsAI/AAAAAAAAAZ8/W8WBIxzf_3A/s200/thresh.bmp" alt="" id="BLOGGER_PHOTO_ID_5367197982734266370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen from the image that there are three white spots. Looking back at Untitled_0001.jpg, the spots appear at the locations of the word 'DESCRIPTION'. Thus, we can say that there are three instances where the word appears.&lt;br /&gt;&lt;br /&gt;I've tried to implement an algorithm for automatically checking for the number of instances the word appears in the image. I made use of a &lt;span style="font-style: italic;"&gt;for&lt;/span&gt; loop to check the the whole normalized image element per element for values sufficiently close to 1, and count them. Fortunately, a value of 3 instances was returned. Unfortunately, I have yet to check if those 3 actually correspond to the correlations. I'll try to get back at this problem sometime later.&lt;br /&gt;&lt;br /&gt;For this activity I will give myself a grade of 8/10 since the final processed image seems rougher than I'd want (i.e. the handwriting isn't exactly 1-pixel thick), but I have properly done the last part. I would like to thank Earl for the helpful discussions, and Mimie for teaching me how to properly use &lt;span style="font-style: italic;"&gt;bwlabel&lt;/span&gt; in tandem with &lt;span style="font-style: italic;"&gt;jetcolormap&lt;/span&gt; in &lt;span style="font-style: italic;"&gt;imshow&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-4263036058593929230?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/4263036058593929230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-10-preprocessing-text.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4263036058593929230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4263036058593929230'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-10-preprocessing-text.html' title='Act 10: Preprocessing Text'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2albIVhTq6c/SnrMrjghjiI/AAAAAAAAAWk/55eab62TYiQ/s72-c/Untitled_0001_cropped.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-6149402404160245887</id><published>2009-08-06T04:48:00.000-07:00</published><updated>2009-08-07T08:40:31.360-07:00</updated><title type='text'>Act 9: Binary Operations</title><content type='html'>In this activity, we make use of the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrEYrwq9SI/AAAAAAAAAUU/nGP8PbDJp54/s1600-h/Circles001.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 165px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrEYrwq9SI/AAAAAAAAAUU/nGP8PbDJp54/s200/Circles001.jpg" alt="" id="BLOGGER_PHOTO_ID_5366817834308138274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And determine the average size of the punched holes. First, we segment the image into a number of parts, which in my case was 9, and we set aside one of those images. I used the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrE2iS8CqI/AAAAAAAAAUk/0obs-osHiJo/s1600-h/C1_09.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrE2iS8CqI/AAAAAAAAAUk/0obs-osHiJo/s200/C1_09.jpg" alt="" id="BLOGGER_PHOTO_ID_5366818347163585186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrE2GvwR_I/AAAAAAAAAUc/oNLZvgVVZcE/s1600-h/C1_09_222.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrE2GvwR_I/AAAAAAAAAUc/oNLZvgVVZcE/s200/C1_09_222.jpg" alt="" id="BLOGGER_PHOTO_ID_5366818339768256498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The image is used to determine the saturation level appropriate for the whole image in order to binarize the image and to be able to apply the closing operator. The closing operator works by first eroding the image, then dilating it with a structural element. The structural element I used was&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrFBmwVOkI/AAAAAAAAAUs/U2jPW8uK-Ak/s1600-h/circ.bmp"&gt;&lt;img style="cursor: pointer; width: 30px; height: 30px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrFBmwVOkI/AAAAAAAAAUs/U2jPW8uK-Ak/s200/circ.bmp" alt="" id="BLOGGER_PHOTO_ID_5366818537339173442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;which was a binarized cropped image of a punched hole from the image. This allowed the punched holes to somehow “normalize” to their proper size especially if the image does not seem to form a circle, and if possible, allow sufficiently close holes to separate themselves from each other. It was found that the image had an an average hole size of 512, and thus the code is now useable for the other cropped images. By using &lt;span style="font-style: italic;"&gt;bwlabel&lt;/span&gt; to label the circles, the area of each circle in an image can be computed. The obtained values are tabulated below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrGfA7DZpI/AAAAAAAAAU8/TiK6Lw9hBuw/s1600-h/blabels.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 82px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrGfA7DZpI/AAAAAAAAAU8/TiK6Lw9hBuw/s320/blabels.bmp" alt="" id="BLOGGER_PHOTO_ID_5366820142091298450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The histogram is plotted below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrGy2ciVeI/AAAAAAAAAVE/DN9FawShqWo/s1600-h/histogram.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 242px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrGy2ciVeI/AAAAAAAAAVE/DN9FawShqWo/s320/histogram.bmp" alt="" id="BLOGGER_PHOTO_ID_5366820482876331490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The extremely large values can be attributed to the large accumulation of holes which unfortunately was not resolved by the closing operator. It is difficult to resolve overlapping holes since they sometimes do not exhibit a clear border. By limiting the allowable areas to 400 &lt; x &lt; 600 which is the realistic range of areas for a hole, the average was found to be 504 (503.904762).&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 9/10 for being able to completely accomplish all the tasks in this exercise. The reduced grade is for the somewhat large area values resulting from my processing, which I feel could be much better.  Again, I would like to thank Earl for the discussions and Gilbert for his help in making a histogram for the areas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-6149402404160245887?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/6149402404160245887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-9-binary-operations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6149402404160245887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6149402404160245887'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-9-binary-operations.html' title='Act 9: Binary Operations'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2albIVhTq6c/SnrEYrwq9SI/AAAAAAAAAUU/nGP8PbDJp54/s72-c/Circles001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-6491887826318916782</id><published>2009-08-05T19:53:00.000-07:00</published><updated>2009-08-05T20:31:26.811-07:00</updated><title type='text'>Act 8: Morphological Operations</title><content type='html'>In this activity, we investigate the effects of the morphological operations erode and dilate when used on an image. We use the following images in particular:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpGsKikx8I/AAAAAAAAAOc/U4q1X_coD18/s1600-h/square.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpGsKikx8I/AAAAAAAAAOc/U4q1X_coD18/s200/square.bmp" alt="" id="BLOGGER_PHOTO_ID_5366679630522927042" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpGr5324RI/AAAAAAAAAOU/fxVCSTaF9rk/s1600-h/triangle.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpGr5324RI/AAAAAAAAAOU/fxVCSTaF9rk/s200/triangle.bmp" alt="" id="BLOGGER_PHOTO_ID_5366679626048790802" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpGrnTtyZI/AAAAAAAAAOM/sk2VlCk4Nyg/s1600-h/circle.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpGrnTtyZI/AAAAAAAAAOM/sk2VlCk4Nyg/s200/circle.bmp" alt="" id="BLOGGER_PHOTO_ID_5366679621065361810" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpGrfXdA7I/AAAAAAAAAOE/7wagMG7TC6o/s1600-h/hollow.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpGrfXdA7I/AAAAAAAAAOE/7wagMG7TC6o/s200/hollow.bmp" alt="" id="BLOGGER_PHOTO_ID_5366679618933556146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpGrGNvm8I/AAAAAAAAAN8/9ucB9LD81ao/s1600-h/cross.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpGrGNvm8I/AAAAAAAAAN8/9ucB9LD81ao/s200/cross.bmp" alt="" id="BLOGGER_PHOTO_ID_5366679612181945282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We make use of the following structuring elements on all images for both dilation and erosion operation:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a)&lt;/span&gt; 4x4 matrix&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;b)&lt;/span&gt; 2x4 matrix&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;c)&lt;/span&gt; 4x2 matrix&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;d)&lt;/span&gt; a cross 5 pixel long and 1 pixel thick&lt;br /&gt;&lt;br /&gt;The images from left to right displayed below will correspond to a to d.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Square&lt;/span&gt;&lt;br /&gt;Dilation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK_LKMYwI/AAAAAAAAAQc/THm5SX8QTH0/s1600-h/square_4x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK_LKMYwI/AAAAAAAAAQc/THm5SX8QTH0/s200/square_4x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684355153126146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK-6j5FwI/AAAAAAAAAQU/KTi60Kt16Mk/s1600-h/square_2x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK-6j5FwI/AAAAAAAAAQU/KTi60Kt16Mk/s200/square_2x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684350697510658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK-i9OXLI/AAAAAAAAAQM/VpcJg9_qegs/s1600-h/square_4x2_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpK-i9OXLI/AAAAAAAAAQM/VpcJg9_qegs/s200/square_4x2_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684344361311410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpK-YKSRaI/AAAAAAAAAQE/npXJQdBPEIQ/s1600-h/square_cross_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpK-YKSRaI/AAAAAAAAAQE/npXJQdBPEIQ/s200/square_cross_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684341463303586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Erosion:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLH2_7FDI/AAAAAAAAAQ8/6T6vAvCAXZg/s1600-h/square_4x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLH2_7FDI/AAAAAAAAAQ8/6T6vAvCAXZg/s200/square_4x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684504360162354" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpLHoLCPiI/AAAAAAAAAQ0/dJ3_pozgKaA/s1600-h/square_2x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpLHoLCPiI/AAAAAAAAAQ0/dJ3_pozgKaA/s200/square_2x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684500380237346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLHMMa95I/AAAAAAAAAQs/5Z5jK7DzWAI/s1600-h/square_4x2_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLHMMa95I/AAAAAAAAAQs/5Z5jK7DzWAI/s200/square_4x2_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684492869859218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpLG46MB6I/AAAAAAAAAQk/B06g7IjMOeM/s1600-h/square_cross_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpLG46MB6I/AAAAAAAAAQk/B06g7IjMOeM/s200/square_cross_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684487693109154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Triangle:&lt;/span&gt;&lt;br /&gt;Dilation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpIr0LIV7I/AAAAAAAAAO8/nTSwwRrb52U/s1600-h/triangle_4x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpIr0LIV7I/AAAAAAAAAO8/nTSwwRrb52U/s200/triangle_4x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366681823542269874" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpIrja6MMI/AAAAAAAAAO0/b06Bocyp3ks/s1600-h/triangle_2x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpIrja6MMI/AAAAAAAAAO0/b06Bocyp3ks/s200/triangle_2x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366681819045048514" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpIrZ5XmuI/AAAAAAAAAOs/dYx2O1_17bU/s1600-h/triangle_4x2_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpIrZ5XmuI/AAAAAAAAAOs/dYx2O1_17bU/s200/triangle_4x2_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366681816488450786" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpIrFRP5kI/AAAAAAAAAOk/ac303L80AmE/s1600-h/triangle_cross_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpIrFRP5kI/AAAAAAAAAOk/ac303L80AmE/s200/triangle_cross_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366681810951464514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Erosion:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpI6CRF-eI/AAAAAAAAAPc/ygnQGkbwN3E/s1600-h/triangle_4x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpI6CRF-eI/AAAAAAAAAPc/ygnQGkbwN3E/s200/triangle_4x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366682067843545570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpI52lBT-I/AAAAAAAAAPU/WghjD1HpF_Y/s1600-h/triangle_2x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpI52lBT-I/AAAAAAAAAPU/WghjD1HpF_Y/s200/triangle_2x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366682064705900514" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpI5u5uITI/AAAAAAAAAPM/x6ZhaA_mttU/s1600-h/triangle_4x2_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpI5u5uITI/AAAAAAAAAPM/x6ZhaA_mttU/s200/triangle_4x2_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366682062645240114" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpI5fR95BI/AAAAAAAAAPE/yoSkHTy3A_g/s1600-h/triangle_cross_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpI5fR95BI/AAAAAAAAAPE/yoSkHTy3A_g/s200/triangle_cross_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366682058451969042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Circle:&lt;/span&gt;&lt;br /&gt;Dilation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpLU1ptvkI/AAAAAAAAARc/rvo5MQZUDDI/s1600-h/circle_4x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpLU1ptvkI/AAAAAAAAARc/rvo5MQZUDDI/s200/circle_4x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684727336877634" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpLUrLnu6I/AAAAAAAAARU/FPrl4XfQirA/s1600-h/circle_2x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpLUrLnu6I/AAAAAAAAARU/FPrl4XfQirA/s200/circle_2x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684724526300066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLUe0VtII/AAAAAAAAARM/wdGJvob1pbw/s1600-h/circle_4x2_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpLUe0VtII/AAAAAAAAARM/wdGJvob1pbw/s200/circle_4x2_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684721207424130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpLUE6vf7I/AAAAAAAAARE/Py8oQFj8VR0/s1600-h/circle_cross_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpLUE6vf7I/AAAAAAAAARE/Py8oQFj8VR0/s200/circle_cross_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366684714254958514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Erosion:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMFG-prmI/AAAAAAAAASc/n4Eiy8kyhBY/s1600-h/circle_4x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMFG-prmI/AAAAAAAAASc/n4Eiy8kyhBY/s200/circle_4x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685556621815394" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpME2maLsI/AAAAAAAAASU/FzmhmEk54UM/s1600-h/circle_2x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpME2maLsI/AAAAAAAAASU/FzmhmEk54UM/s200/circle_2x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685552225169090" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMEfA7OnI/AAAAAAAAASM/vWeRN4XR3Co/s1600-h/circle_4x2_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMEfA7OnI/AAAAAAAAASM/vWeRN4XR3Co/s200/circle_4x2_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685545893935730" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMEI3MByI/AAAAAAAAASE/LQCpE0pasyM/s1600-h/circle_cross_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMEI3MByI/AAAAAAAAASE/LQCpE0pasyM/s200/circle_cross_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685539947513634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hollow Square:&lt;/span&gt;&lt;br /&gt;Dilation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpL40xccuI/AAAAAAAAAR8/Ou5s3wo8CxM/s1600-h/hollow_4x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpL40xccuI/AAAAAAAAAR8/Ou5s3wo8CxM/s200/hollow_4x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685345576153826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpL4hpZO9I/AAAAAAAAAR0/P-7mB2TrlH4/s1600-h/hollow_2x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpL4hpZO9I/AAAAAAAAAR0/P-7mB2TrlH4/s200/hollow_2x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685340442115026" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpL4U1ooZI/AAAAAAAAARs/_jzdNGLS8lE/s1600-h/hollow_4x2_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpL4U1ooZI/AAAAAAAAARs/_jzdNGLS8lE/s200/hollow_4x2_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685337003794834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpL4FHV-3I/AAAAAAAAARk/O0GWdMSBvaA/s1600-h/hollow_cross_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpL4FHV-3I/AAAAAAAAARk/O0GWdMSBvaA/s200/hollow_cross_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685332783102834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Erosion:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpMS963tAI/AAAAAAAAAS8/9pOPWPTll1g/s1600-h/hollow_4x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpMS963tAI/AAAAAAAAAS8/9pOPWPTll1g/s200/hollow_4x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685794708206594" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMStlNKGI/AAAAAAAAAS0/zFepYyy2GDI/s1600-h/hollow_2x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMStlNKGI/AAAAAAAAAS0/zFepYyy2GDI/s200/hollow_2x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685790322370658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMSQzSuGI/AAAAAAAAASs/sz1emUFN8kY/s1600-h/hollow_4x2_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMSQzSuGI/AAAAAAAAASs/sz1emUFN8kY/s200/hollow_4x2_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685782596827234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMSOVF0_I/AAAAAAAAASk/OfgdhX4W2uU/s1600-h/hollow_cross_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMSOVF0_I/AAAAAAAAASk/OfgdhX4W2uU/s200/hollow_cross_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366685781933282290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cross:&lt;/span&gt;&lt;br /&gt;Dilation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMgkKB1bI/AAAAAAAAATc/bhF_c65rsDY/s1600-h/cross_4x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMgkKB1bI/AAAAAAAAATc/bhF_c65rsDY/s200/cross_4x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686028310631858" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgggnYkI/AAAAAAAAATU/jLtITtk3EGc/s1600-h/cross_2x4_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgggnYkI/AAAAAAAAATU/jLtITtk3EGc/s200/cross_2x4_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686027331625538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgHFBM8I/AAAAAAAAATM/ZR6hiOF_1Sk/s1600-h/cross_4x2_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgHFBM8I/AAAAAAAAATM/ZR6hiOF_1Sk/s200/cross_4x2_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686020504990658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgNeRmkI/AAAAAAAAATE/-wgkrZKEDJI/s1600-h/cross_cross_dil.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMgNeRmkI/AAAAAAAAATE/-wgkrZKEDJI/s200/cross_cross_dil.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686022221535810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Erosion:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnpMsrB82uI/AAAAAAAAAT8/gNo_wQ3fO_4/s1600-h/cross_4x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnpMsrB82uI/AAAAAAAAAT8/gNo_wQ3fO_4/s200/cross_4x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686236314229474" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMsczgjEI/AAAAAAAAAT0/i8BM9JimyjU/s1600-h/cross_2x4_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnpMsczgjEI/AAAAAAAAAT0/i8BM9JimyjU/s200/cross_2x4_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686232495557698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMsC0ThxI/AAAAAAAAATs/K1foBCDBFmc/s1600-h/cross_4x2_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnpMsC0ThxI/AAAAAAAAATs/K1foBCDBFmc/s200/cross_4x2_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686225519576850" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMrhiKgfI/AAAAAAAAATk/w7gJpQAEJNw/s1600-h/cross_cross_erd.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnpMrhiKgfI/AAAAAAAAATk/w7gJpQAEJNw/s200/cross_cross_erd.bmp" alt="" id="BLOGGER_PHOTO_ID_5366686216585118194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What happens during dilation is that the image expands in the form of the structural element. An example is when the square is dilated using the cross structural element, the square not only expands but its shape also becomes crosslike. Erosion works similarly to dilation, except that it shrinks the image in its form. For example, the hollow square simply becomes four small squares that are positioned in each of the original hollow square's corners.&lt;br /&gt;&lt;br /&gt;My submitted predictions were generally correct for the dilation part. Erosion was much harder to predict for me for the triangle, hollow square and cross due to their somewhat irregular shape.&lt;br /&gt;&lt;br /&gt;I would grade myself a 9/10 for this activity for being able to perform the operations correctly and a few correct predictions. I would like to thank Earl for his help in this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-6491887826318916782?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/6491887826318916782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-8-morphological-operations.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6491887826318916782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6491887826318916782'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/08/act-8-morphological-operations.html' title='Act 8: Morphological Operations'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2albIVhTq6c/SnpGsKikx8I/AAAAAAAAAOc/U4q1X_coD18/s72-c/square.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-5928220346360007460</id><published>2009-07-13T19:44:00.000-07:00</published><updated>2009-08-07T08:53:57.481-07:00</updated><title type='text'>Act 7: Enhancement in the Frequency Domain</title><content type='html'>In this activity, manipulating the frequency domain is used to enhance the image or mask unwanted or unneeded frequencies.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A. Convolution Theorem&lt;/span&gt;&lt;br /&gt;We start with an image of two 1-pixel dots:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Slvyfd4S1VI/AAAAAAAAALc/Qh1jSy4zdWI/s1600-h/2dots.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Slvyfd4S1VI/AAAAAAAAALc/Qh1jSy4zdWI/s200/2dots.bmp" alt="" id="BLOGGER_PHOTO_ID_5358142804097946962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using Fourier transform, we obtain this modulus:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Slvy4lTIkcI/AAAAAAAAALk/_bLUEOBA1xM/s1600-h/fig1.bmp"&gt;&lt;img style="cursor: pointer; width: 86px; height: 86px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Slvy4lTIkcI/AAAAAAAAALk/_bLUEOBA1xM/s200/fig1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143235586298306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next, we use circles of various radius instead of dots.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzE00z_9I/AAAAAAAAAL8/BNMhNmxapBI/s1600-h/2circles1.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzE00z_9I/AAAAAAAAAL8/BNMhNmxapBI/s200/2circles1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143445912518610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzEhXGlCI/AAAAAAAAAL0/Jsh9CdzMmyg/s1600-h/2circles2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzEhXGlCI/AAAAAAAAAL0/Jsh9CdzMmyg/s200/2circles2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143440687633442" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzEeH9PbI/AAAAAAAAALs/MECSY7KkGoY/s1600-h/2circles3.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzEeH9PbI/AAAAAAAAALs/MECSY7KkGoY/s200/2circles3.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143439818800562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Their corresponding FTs are shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzWmVYJLI/AAAAAAAAAMU/gT8ibfULgFg/s1600-h/fig2_1.bmp"&gt;&lt;img style="cursor: pointer; width: 88px; height: 86px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzWmVYJLI/AAAAAAAAAMU/gT8ibfULgFg/s200/fig2_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143751260218546" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzWRUPDsI/AAAAAAAAAMM/3C0RIae-kWA/s1600-h/fig2_2.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 88px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzWRUPDsI/AAAAAAAAAMM/3C0RIae-kWA/s200/fig2_2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143745618284226" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzWID0vrI/AAAAAAAAAME/wyQYO4190AI/s1600-h/fig2_3.bmp"&gt;&lt;img style="cursor: pointer; width: 90px; height: 87px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlvzWID0vrI/AAAAAAAAAME/wyQYO4190AI/s200/fig2_3.bmp" alt="" id="BLOGGER_PHOTO_ID_5358143743133531826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We then use two squares instead of circles:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlvzpiBd-CI/AAAAAAAAAMs/YtsBIhfNYDM/s1600-h/2squares1.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlvzpiBd-CI/AAAAAAAAAMs/YtsBIhfNYDM/s200/2squares1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144076520486946" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzpV-tY0I/AAAAAAAAAMk/vaAEvoWi8Jc/s1600-h/2squares2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzpV-tY0I/AAAAAAAAAMk/vaAEvoWi8Jc/s200/2squares2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144073287689026" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzpIBShaI/AAAAAAAAAMc/nTy0JdrAd-0/s1600-h/2squares3.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlvzpIBShaI/AAAAAAAAAMc/nTy0JdrAd-0/s200/2squares3.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144069540414882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Their corresponding FTs are shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Slv0RzBAOEI/AAAAAAAAANc/T5lOIMHOJjo/s1600-h/fig3_1.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 87px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Slv0RzBAOEI/AAAAAAAAANc/T5lOIMHOJjo/s200/fig3_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144768276707394" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Slv0Rmp413I/AAAAAAAAANU/Yei5rFUdG2Y/s1600-h/fig3_2.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 87px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Slv0Rmp413I/AAAAAAAAANU/Yei5rFUdG2Y/s200/fig3_2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144764958529394" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Slv0RTGU-GI/AAAAAAAAANM/xQpsXt8mKnk/s1600-h/fig3_3.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Slv0RTGU-GI/AAAAAAAAANM/xQpsXt8mKnk/s200/fig3_3.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144759709104226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lastly, we use pairs of Gaussians of variance 0.1, 0.2 and 0.4:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Slvz-avRsYI/AAAAAAAAANE/9u5UyNP8Gtw/s1600-h/2gaussianspt1.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 87px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Slvz-avRsYI/AAAAAAAAANE/9u5UyNP8Gtw/s200/2gaussianspt1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144435342389634" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Slvz-D_3HBI/AAAAAAAAAM8/sOR0syIguF8/s1600-h/2gaussianspt2.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 88px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Slvz-D_3HBI/AAAAAAAAAM8/sOR0syIguF8/s200/2gaussianspt2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144429237935122" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Slvz92myniI/AAAAAAAAAM0/Rn4p0MfRR70/s1600-h/2gaussianspt4.bmp"&gt;&lt;img style="cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Slvz92myniI/AAAAAAAAAM0/Rn4p0MfRR70/s200/2gaussianspt4.bmp" alt="" id="BLOGGER_PHOTO_ID_5358144425643122210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Their corresponding FTs are as follows:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Slv0o2RZihI/AAAAAAAAAN0/OpQoa9Fgm8U/s1600-h/fig4_pt1.bmp"&gt;&lt;img style="cursor: pointer; width: 65px; height: 63px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Slv0o2RZihI/AAAAAAAAAN0/OpQoa9Fgm8U/s200/fig4_pt1.bmp" alt="" id="BLOGGER_PHOTO_ID_5358145164287773202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Slv0ohXu4hI/AAAAAAAAANs/HL0Lgg2kJiE/s1600-h/fig4_pt2.bmp"&gt;&lt;img style="cursor: pointer; width: 67px; height: 65px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Slv0ohXu4hI/AAAAAAAAANs/HL0Lgg2kJiE/s200/fig4_pt2.bmp" alt="" id="BLOGGER_PHOTO_ID_5358145158677193234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Slv0ocD1DLI/AAAAAAAAANk/qFuK3JgZrog/s1600-h/fig4_pt4.bmp"&gt;&lt;img style="cursor: pointer; width: 66px; height: 65px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Slv0ocD1DLI/AAAAAAAAANk/qFuK3JgZrog/s200/fig4_pt4.bmp" alt="" id="BLOGGER_PHOTO_ID_5358145157251534002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;B. Fingerprints: Ridge Enhancement&lt;/span&gt;&lt;br /&gt;This time we are to enhance the quality of a fingerprint image. I make use of the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Snrdlb5VdPI/AAAAAAAAAYE/g9sGYBuUPHc/s1600-h/fingerprint.png"&gt;&lt;img style="cursor: pointer; width: 200px; height: 186px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Snrdlb5VdPI/AAAAAAAAAYE/g9sGYBuUPHc/s200/fingerprint.png" alt="" id="BLOGGER_PHOTO_ID_5366845541178504434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I crop a portion of the image in order to better process it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrdlEpzItI/AAAAAAAAAX8/aYocMaGGHf4/s1600-h/finger.PNG"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrdlEpzItI/AAAAAAAAAX8/aYocMaGGHf4/s200/finger.PNG" alt="" id="BLOGGER_PHOTO_ID_5366845534939325138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The corresponding image in Fourier space of the above image is shown below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/Snrdk_koI2I/AAAAAAAAAX0/UJ5fOqFq0fM/s1600-h/gimp.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/Snrdk_koI2I/AAAAAAAAAX0/UJ5fOqFq0fM/s200/gimp.bmp" alt="" id="BLOGGER_PHOTO_ID_5366845533575455586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The cover up the unwanted frequencies, we use the following mask:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnxNp9d7DVI/AAAAAAAAAbs/oSLDQH_s_6A/s1600-h/gimpmasker.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnxNp9d7DVI/AAAAAAAAAbs/oSLDQH_s_6A/s200/gimpmasker.bmp" alt="" id="BLOGGER_PHOTO_ID_5367250239188831570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After applying the mask, the image&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnretGGxHDI/AAAAAAAAAYM/Kt13k5DGKL8/s1600-h/finger_filter.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnretGGxHDI/AAAAAAAAAYM/Kt13k5DGKL8/s200/finger_filter.bmp" alt="" id="BLOGGER_PHOTO_ID_5366846772279843890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;While its contrast isn't as good as the original image, the fingermarks became much more evened out, and the blotches become less apparent and the ridges are better defined.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C. Lunar Landing Scanned Pictures: Line Removal&lt;/span&gt;&lt;br /&gt;This time we are to remove the vertical lines in an image of a lunar landing. The image was reduced in size for faster processing.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnriMZC_uJI/AAAAAAAAAZE/hdVTPU87DXI/s1600-h/hi_res_vertical_lg_small.gif"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnriMZC_uJI/AAAAAAAAAZE/hdVTPU87DXI/s200/hi_res_vertical_lg_small.gif" alt="" id="BLOGGER_PHOTO_ID_5366850608475125906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Its FT is shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnriMCer4QI/AAAAAAAAAY8/AN8UHoAzT_k/s1600-h/hi_res_fft.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnriMCer4QI/AAAAAAAAAY8/AN8UHoAzT_k/s200/hi_res_fft.bmp" alt="" id="BLOGGER_PHOTO_ID_5366850602417250562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We make use of this mask to hide the lines:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnriLx-SjaI/AAAAAAAAAY0/htyxp2AGCdA/s1600-h/filter.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnriLx-SjaI/AAAAAAAAAY0/htyxp2AGCdA/s200/filter.bmp" alt="" id="BLOGGER_PHOTO_ID_5366850597986405794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Using the mask, we render the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnriLnCE5rI/AAAAAAAAAYs/yM2QPuHVha8/s1600-h/fig5.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnriLnCE5rI/AAAAAAAAAYs/yM2QPuHVha8/s200/fig5.bmp" alt="" id="BLOGGER_PHOTO_ID_5366850595049498290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be easily observed that the horizontal lines have been removed due to the mask removing the unwanted frequencies. Thus, we can say that the mask used was appropriate for this image.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;D. Canvas Weaved Modeling and Removal&lt;/span&gt;&lt;br /&gt;This time we make use of an image of a painting and apply the appropriate mask in order to eliminate the weaves and enhance the brushstrokes.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrkNoOqO3I/AAAAAAAAAZs/fTlT5r77fzw/s1600-h/canvasweave-small.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrkNoOqO3I/AAAAAAAAAZs/fTlT5r77fzw/s200/canvasweave-small.JPG" alt="" id="BLOGGER_PHOTO_ID_5366852828753705842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Its corresponding FT:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrkNc78ydI/AAAAAAAAAZk/ryKefqMjuMg/s1600-h/fft_canvasweave.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrkNc78ydI/AAAAAAAAAZk/ryKefqMjuMg/s200/fft_canvasweave.bmp" alt="" id="BLOGGER_PHOTO_ID_5366852825722440146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We make use of this mask to remove the weaves:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnrkNDdR9AI/AAAAAAAAAZc/zEbSE90nCQQ/s1600-h/filter3.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnrkNDdR9AI/AAAAAAAAAZc/zEbSE90nCQQ/s200/filter3.bmp" alt="" id="BLOGGER_PHOTO_ID_5366852818882917378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After applying the mask and ifft, the newly rendered image is shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrkM6nMS6I/AAAAAAAAAZU/1-eUp3lLOX0/s1600-h/fig6.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrkM6nMS6I/AAAAAAAAAZU/1-eUp3lLOX0/s200/fig6.bmp" alt="" id="BLOGGER_PHOTO_ID_5366852816508570530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that the weaves seem minimized and the brushstrokes are much more prominent as a result. The &lt;span style="font-style: italic;"&gt;ifft&lt;/span&gt; of the mask is shown below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrkMrh804I/AAAAAAAAAZM/t5uQ5HO3rGU/s1600-h/fig6a.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 99px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrkMrh804I/AAAAAAAAAZM/t5uQ5HO3rGU/s200/fig6a.bmp" alt="" id="BLOGGER_PHOTO_ID_5366852812460053378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be seen that the pattern is similar to the canvas weaves, and thus, the mask is fitting for this image.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for accomplishing all the steps in this activity completely. I would like to thank Raffy and Earl for their help as well as their ideas regarding this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-5928220346360007460?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/5928220346360007460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-7-enhancement-in-frequency-domain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5928220346360007460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/5928220346360007460'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-7-enhancement-in-frequency-domain.html' title='Act 7: Enhancement in the Frequency Domain'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2albIVhTq6c/Slvyfd4S1VI/AAAAAAAAALc/Qh1jSy4zdWI/s72-c/2dots.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-4011080765725639917</id><published>2009-07-08T19:30:00.000-07:00</published><updated>2009-07-09T00:18:51.112-07:00</updated><title type='text'>Act 6: Properties of the 2D Fourier Transform</title><content type='html'>This activity was divided into two parts. First we were to apply FFT to different 2D patterns and then we were to apply it to various sinusoid forms.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A. Familiarizat&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ion w&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ith FT of different 2&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;D Patt&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;erns&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this part, we were to apply the 2D FT to the following patterns (square, annulus, square annulus, slit, dots, respectively):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVa4zpViCI/AAAAAAAAAHM/cWKmMthNXNA/s1600-h/sq.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVa4zpViCI/AAAAAAAAAHM/cWKmMthNXNA/s200/sq.bmp" alt="" id="BLOGGER_PHOTO_ID_5356287263809832994" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVa5HFUozI/AAAAAAAAAHU/d2od16aO8Ck/s1600-h/cr_ann.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVa5HFUozI/AAAAAAAAAHU/d2od16aO8Ck/s200/cr_ann.bmp" alt="" id="BLOGGER_PHOTO_ID_5356287269027488562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVa5YLgImI/AAAAAAAAAHc/zCGukCb_RQc/s1600-h/sq_ann.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVa5YLgImI/AAAAAAAAAHc/zCGukCb_RQc/s200/sq_ann.bmp" alt="" id="BLOGGER_PHOTO_ID_5356287273616810594" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVa5j3jjyI/AAAAAAAAAHk/iA8zxSFJPic/s1600-h/slit.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVa5j3jjyI/AAAAAAAAAHk/iA8zxSFJPic/s200/slit.bmp" alt="" id="BLOGGER_PHOTO_ID_5356287276754374434" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVa5tMl69I/AAAAAAAAAHs/P51vevqGPY4/s1600-h/dots.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVa5tMl69I/AAAAAAAAAHs/P51vevqGPY4/s200/dots.bmp" alt="" id="BLOGGER_PHOTO_ID_5356287279258528722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Applying the FT to these images yields the corresponding outputs:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVbrif_PcI/AAAAAAAAAH0/7I6nXLT9laQ/s1600-h/fft_sq.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVbrif_PcI/AAAAAAAAAH0/7I6nXLT9laQ/s200/fft_sq.bmp" alt="" id="BLOGGER_PHOTO_ID_5356288135380549058" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVbrwMH7fI/AAAAAAAAAH8/chDi2lb2LC0/s1600-h/fft_cr_ann.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVbrwMH7fI/AAAAAAAAAH8/chDi2lb2LC0/s200/fft_cr_ann.bmp" alt="" id="BLOGGER_PHOTO_ID_5356288139055328754" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVbsAsveNI/AAAAAAAAAIE/bwJ6UHENKcw/s1600-h/fft_sq_ann.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 127px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVbsAsveNI/AAAAAAAAAIE/bwJ6UHENKcw/s200/fft_sq_ann.bmp" alt="" id="BLOGGER_PHOTO_ID_5356288143487105234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVbsH8bmVI/AAAAAAAAAIM/uqUko2ganPc/s1600-h/fft_slit.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVbsH8bmVI/AAAAAAAAAIM/uqUko2ganPc/s200/fft_slit.bmp" alt="" id="BLOGGER_PHOTO_ID_5356288145431959890" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVbsii7aAI/AAAAAAAAAIU/89aspRU-lBM/s1600-h/fft_dots.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVbsii7aAI/AAAAAAAAAIU/89aspRU-lBM/s200/fft_dots.bmp" alt="" id="BLOGGER_PHOTO_ID_5356288152572749826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;What happens is that the initial images act as apertures. The second set of images are the output of the apertures.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;B. Anamorphic property of the Fourier Transform&lt;/span&gt;&lt;br /&gt;This time, we are to apply FT to this image of frequency 4:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVdlNU6n8I/AAAAAAAAAIk/3qFBqUamyXk/s1600-h/fig1.jpg"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVdlNU6n8I/AAAAAAAAAIk/3qFBqUamyXk/s200/fig1.jpg" alt="" id="BLOGGER_PHOTO_ID_5356290225641004994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;which was produced by&lt;br /&gt;&lt;blockquote&gt;z = sin(2*%pi*f*X);&lt;/blockquote&gt;&lt;br /&gt;and its various distortions.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;For the initial FT, the result was:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVd1groE7I/AAAAAAAAAIs/IEQg0SxdZnA/s1600-h/fig2_4sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVd1groE7I/AAAAAAAAAIs/IEQg0SxdZnA/s200/fig2_4sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290505714439090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Varying the frequency (f = 1, 2, 3, 5, 6) results to&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVeLaVDaLI/AAAAAAAAAI0/X7fz4z-GQHA/s1600-h/fig2_1sc.bmp"&gt;&lt;img style="cursor: pointer; width: 101px; height: 99px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVeLaVDaLI/AAAAAAAAAI0/X7fz4z-GQHA/s200/fig2_1sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290881966270642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVeLhIgjOI/AAAAAAAAAI8/JlpooGzASuo/s1600-h/fig2_2sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 99px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVeLhIgjOI/AAAAAAAAAI8/JlpooGzASuo/s200/fig2_2sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290883792702690" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVeL4_dPqI/AAAAAAAAAJE/jUQdrbpF_60/s1600-h/fig2_3sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVeL4_dPqI/AAAAAAAAAJE/jUQdrbpF_60/s200/fig2_3sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290890197188258" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVeL_yubVI/AAAAAAAAAJM/toCwxbEZoZs/s1600-h/fig2_5sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVeL_yubVI/AAAAAAAAAJM/toCwxbEZoZs/s200/fig2_5sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290892022836562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVeMK4V1RI/AAAAAAAAAJU/7j67NGsmZcc/s1600-h/fig2_6sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVeMK4V1RI/AAAAAAAAAJU/7j67NGsmZcc/s200/fig2_6sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356290894999180562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This time, we apply a constant bias of 1, 3, 6, and 9 to the original sinusoid by and apply FT. This results to&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVfRjaVXUI/AAAAAAAAAJc/jJhL6P1Zv3s/s1600-h/fig3_1sc.bmp"&gt;&lt;img style="cursor: pointer; width: 101px; height: 101px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVfRjaVXUI/AAAAAAAAAJc/jJhL6P1Zv3s/s200/fig3_1sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356292086995180866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVfR2DeARI/AAAAAAAAAJk/0PCpzbPzybI/s1600-h/fig3_3sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVfR2DeARI/AAAAAAAAAJk/0PCpzbPzybI/s200/fig3_3sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356292091999551762" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVfSMcJ-wI/AAAAAAAAAJs/BE3qUGtwdB0/s1600-h/fig3_6sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVfSMcJ-wI/AAAAAAAAAJs/BE3qUGtwdB0/s200/fig3_6sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356292098008677122" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVfSbSlGXI/AAAAAAAAAJ0/zCYDCyE-zXo/s1600-h/fig3_9sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVfSbSlGXI/AAAAAAAAAJ0/zCYDCyE-zXo/s200/fig3_9sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356292101995043186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next, we rotate the sinusoid by an angle of 30, 45, 60 and 90. This results to&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVgczGgfdI/AAAAAAAAAJ8/FnUC8k-P_O8/s1600-h/fig4_30sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVgczGgfdI/AAAAAAAAAJ8/FnUC8k-P_O8/s200/fig4_30sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356293379697180114" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVgdEO_jDI/AAAAAAAAAKE/nFM8-krfMHE/s1600-h/fig4_45sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 99px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVgdEO_jDI/AAAAAAAAAKE/nFM8-krfMHE/s200/fig4_45sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356293384296172594" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVgdViAkrI/AAAAAAAAAKM/sbFnvNw6g-M/s1600-h/fig4_60sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVgdViAkrI/AAAAAAAAAKM/sbFnvNw6g-M/s200/fig4_60sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356293388939334322" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVgdtXwTPI/AAAAAAAAAKU/3IGUkCI6ec0/s1600-h/fig4_90sc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVgdtXwTPI/AAAAAAAAAKU/3IGUkCI6ec0/s200/fig4_90sc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356293395338775794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This time we make use of combination of sinusoids in X and Y. The used combinations are as follows:&lt;br /&gt;&lt;blockquote&gt;1st: z = sin(2*%pi*f*X).*sin(0.5*%pi*f*Y);&lt;br /&gt;2nd: z = sin(2*%pi*f*X).*sin(2*%pi*f*Y);&lt;br /&gt;3rd: z = sin(0.5*%pi*f*X).*sin(0.5*%pi*f*Y);&lt;/blockquote&gt;&lt;br /&gt;The output is as follows:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlVhCXjx9yI/AAAAAAAAAKc/vwUpQ7ubAsA/s1600-h/fig5_asc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlVhCXjx9yI/AAAAAAAAAKc/vwUpQ7ubAsA/s200/fig5_asc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294025138796322" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlVhCodZSJI/AAAAAAAAAKk/GNc1l78XY5U/s1600-h/fig5_bsc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlVhCodZSJI/AAAAAAAAAKk/GNc1l78XY5U/s200/fig5_bsc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294029675415698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVhC-CiAfI/AAAAAAAAAKs/rBP5bX8Ql6w/s1600-h/fig5_csc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVhC-CiAfI/AAAAAAAAAKs/rBP5bX8Ql6w/s200/fig5_csc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294035468321266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, we add several combinations of sinusoids. The following combinations of varying frequencies were used:&lt;br /&gt;&lt;blockquote&gt;1st:&lt;br /&gt;z = sin(2*%pi*f*X).*sin(2*%pi*f*Y);&lt;br /&gt;a = sin(2*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;z = z+a;&lt;br /&gt;2nd:&lt;br /&gt;z = sin(2*%pi*f*X).*sin(2*%pi*f*Y);&lt;br /&gt;a = sin(2*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;b = sin(4*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;z = z+a+b;&lt;br /&gt;3rd:&lt;br /&gt;z = sin(2*%pi*f*X).*sin(2*%pi*f*Y);&lt;br /&gt;a = sin(2*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;b = sin(4*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;c = sin(0.5*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;z = z+a+b+c;&lt;br /&gt;4th:&lt;br /&gt;z = sin(0.5*%pi*f*X).*sin(0.5*%pi*f*Y);&lt;br /&gt;a = sin(2*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;b = sin(4*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;c = sin(0.25*%pi*f*(X*sin(theta)+Y*cos(theta)));&lt;br /&gt;z = z+a+b+c;&lt;/blockquote&gt;&lt;br /&gt;The output should be the similar to the previous, except that there should be a corresponding rotation. The output is as follows&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVh4GTh7DI/AAAAAAAAAK0/L75RPCJP55c/s1600-h/fig6_asc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVh4GTh7DI/AAAAAAAAAK0/L75RPCJP55c/s200/fig6_asc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294948220169266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVh4XPnyAI/AAAAAAAAAK8/-6xR6qAS6cU/s1600-h/fig6_bsc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVh4XPnyAI/AAAAAAAAAK8/-6xR6qAS6cU/s200/fig6_bsc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294952767178754" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlVh4uv2CtI/AAAAAAAAALE/B_DlLRiZ4zU/s1600-h/fig6_csc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlVh4uv2CtI/AAAAAAAAALE/B_DlLRiZ4zU/s200/fig6_csc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294959076346578" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlVh4zv2nGI/AAAAAAAAALM/VdFtPQ-xs98/s1600-h/fig6_dsc.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlVh4zv2nGI/AAAAAAAAALM/VdFtPQ-xs98/s200/fig6_dsc.bmp" alt="" id="BLOGGER_PHOTO_ID_5356294960418561122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As shown from the above, the results are in agreement with my prediction.&lt;br /&gt;&lt;br /&gt;I will grade myself 10/10 in this activity for completing all the steps in this activity.&lt;br /&gt;&lt;br /&gt;I would like to thank my adjacent seatmates Earl and Rommel for their advice and assistance in this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-4011080765725639917?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/4011080765725639917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-6-properties-of-2d-fourier.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4011080765725639917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4011080765725639917'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-6-properties-of-2d-fourier.html' title='Act 6: Properties of the 2D Fourier Transform'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2albIVhTq6c/SlVa4zpViCI/AAAAAAAAAHM/cWKmMthNXNA/s72-c/sq.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-6409512030553231218</id><published>2009-07-06T19:42:00.000-07:00</published><updated>2009-07-09T00:20:16.617-07:00</updated><title type='text'>Act 5: Fourier Transform Model of Image Formation</title><content type='html'>In this activity, the various applications of the fast Fourier transform (FFT) were applied. The FFT was implemented using Scilab 4's various FFT functions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A. Familiarization with discrete FFT&lt;/span&gt;&lt;br /&gt;First we were required to perform 2-D FFT, inverse FFT, as well as performing 2-D FFT twice on the same image.&lt;div style="text-align: left;"&gt;The first image used was this circle:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK8Q5Cq38I/AAAAAAAAAEM/B3sOziZbO-c/s1600-h/circle.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK8Q5Cq38I/AAAAAAAAAEM/B3sOziZbO-c/s200/circle.bmp" alt="" id="BLOGGER_PHOTO_ID_5355549905272889282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And the outputs produced were:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlK8kIWGjrI/AAAAAAAAAEk/GDkXTpkmFLc/s1600-h/circle_fft2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlK8kIWGjrI/AAAAAAAAAEk/GDkXTpkmFLc/s200/circle_fft2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550235798441650" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlK8j9kcPEI/AAAAAAAAAEc/1vpK-oubcFM/s1600-h/circle_fftshift.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlK8j9kcPEI/AAAAAAAAAEc/1vpK-oubcFM/s200/circle_fftshift.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550232905792578" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlK8kZDy8nI/AAAAAAAAAEs/8ZKq4L2HDIg/s1600-h/circle_fftshift_twice.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlK8kZDy8nI/AAAAAAAAAEs/8ZKq4L2HDIg/s200/circle_fftshift_twice.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550240285061746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The next image used was the letter "A":&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK80LiVisI/AAAAAAAAAE0/FtF8isxHIoA/s1600-h/A.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK80LiVisI/AAAAAAAAAE0/FtF8isxHIoA/s200/A.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550511532968642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the outputs produced were:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK875FddHI/AAAAAAAAAE8/3EauF_3T1rQ/s1600-h/a_fftshift.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK875FddHI/AAAAAAAAAE8/3EauF_3T1rQ/s200/a_fftshift.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550644018967666" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK88FVZYcI/AAAAAAAAAFE/Ax-0SDSArho/s1600-h/a_fft2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK88FVZYcI/AAAAAAAAAFE/Ax-0SDSArho/s200/a_fft2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550647307035074" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK88eAHLiI/AAAAAAAAAFM/5tkCm2sjZUg/s1600-h/a_fftshift_twice.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK88eAHLiI/AAAAAAAAAFM/5tkCm2sjZUg/s200/a_fftshift_twice.bmp" alt="" id="BLOGGER_PHOTO_ID_5355550653928648226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;B. Simulation of an Imaging Device&lt;/span&gt;&lt;br /&gt;The second part of the activity requires the convolution of this image&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9eY9AqsI/AAAAAAAAAFU/WY4dsGZhdbA/s1600-h/vip.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9eY9AqsI/AAAAAAAAAFU/WY4dsGZhdbA/s200/vip.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551236689013442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;to circles of various sizes&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlK9tJpumEI/AAAAAAAAAFc/vjZt0zfJcVk/s1600-h/circle.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlK9tJpumEI/AAAAAAAAAFc/vjZt0zfJcVk/s200/circle.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551490279643202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9tcNUAwI/AAAAAAAAAFk/GYFtZX4eOK4/s1600-h/circler.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9tcNUAwI/AAAAAAAAAFk/GYFtZX4eOK4/s200/circler.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551495260734210" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9torbvlI/AAAAAAAAAFs/n5wRTcq7Y70/s1600-h/circler2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK9torbvlI/AAAAAAAAAFs/n5wRTcq7Y70/s200/circler2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551498608295506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The circle is to act as the aperture for the "VIP" image, since a lens basically acts as an FFT to an image. The output is as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK-CJnpNZI/AAAAAAAAAF0/JV8gRdYMzH8/s1600-h/vipr.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK-CJnpNZI/AAAAAAAAAF0/JV8gRdYMzH8/s200/vipr.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551851048154514" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK-CWyHhvI/AAAAAAAAAF8/LJ2eqAmbbe8/s1600-h/vipr1.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK-CWyHhvI/AAAAAAAAAF8/LJ2eqAmbbe8/s200/vipr1.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551854581745394" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlK-CQZJBdI/AAAAAAAAAGE/rikrjHY4lZs/s1600-h/vipr2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlK-CQZJBdI/AAAAAAAAAGE/rikrjHY4lZs/s200/vipr2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355551852866373074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C. Template Matching using correlation&lt;/span&gt;&lt;br /&gt;The third part of the activity makes use of correlation in order to find patterns in an image. This was shown by correlating these two images:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK-eBIUvcI/AAAAAAAAAGM/p2Ikf_sU-GQ/s1600-h/A2.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK-eBIUvcI/AAAAAAAAAGM/p2Ikf_sU-GQ/s200/A2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552329805643202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK-eBMBVzI/AAAAAAAAAGU/U9yqW0yYE64/s1600-h/rain.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK-eBMBVzI/AAAAAAAAAGU/U9yqW0yYE64/s200/rain.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552329821148978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;so that the A's in the image can be seen. The output of the correlation is this image:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SlK-20Kj3BI/AAAAAAAAAGc/3vydRQf_g6k/s1600-h/correlation.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SlK-20Kj3BI/AAAAAAAAAGc/3vydRQf_g6k/s200/correlation.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552755822091282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;D. Edge detection using the convolution integral&lt;/span&gt;&lt;br /&gt;The final part of the activity requires the convolution of various 3x3 matrices with this image:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK_a4_ZH6I/AAAAAAAAAGk/iH6KO3-7JOI/s1600-h/vip.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK_a4_ZH6I/AAAAAAAAAGk/iH6KO3-7JOI/s200/vip.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553375592718242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The matrices used were as follows:&lt;br /&gt;vertical:      horizontal:    diagonal:    spot:&lt;br /&gt;[-1 -1 -1]    [-1  2 -1]       [-1  -1  2]    [-1 -1 -1]&lt;br /&gt;[ 2   2   2]    [-1  2 -1]       [-1  2 -1]    [-1   8 -1]&lt;br /&gt;[-1 -1 -1]    [-1  2 -1]       [ 2  -1  2]    [-1 -1 -1]&lt;br /&gt;&lt;br /&gt;The output images are as follows:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SlK_rSdkyeI/AAAAAAAAAGs/i5JZWDAqJLA/s1600-h/horizontal.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SlK_rSdkyeI/AAAAAAAAAGs/i5JZWDAqJLA/s200/horizontal.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553657308105186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlK_rrxlMCI/AAAAAAAAAG0/0OanibTsmI0/s1600-h/vertical.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlK_rrxlMCI/AAAAAAAAAG0/0OanibTsmI0/s200/vertical.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553664102903842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SlK_rgyZXDI/AAAAAAAAAG8/vquQyGU8seQ/s1600-h/diagonal.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SlK_rgyZXDI/AAAAAAAAAG8/vquQyGU8seQ/s200/diagonal.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553661153532978" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SlK_r91ZE6I/AAAAAAAAAHE/SyD736VJMec/s1600-h/spot.bmp"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SlK_r91ZE6I/AAAAAAAAAHE/SyD736VJMec/s200/spot.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553668950725538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What happens is that the matrix pattern highlights the edge that is related to it. For example, in the first image, the original image was convolved with a horizontal matrix, thus resulting to the horizontal parts of the edge of the image being highlighted.&lt;br /&gt;&lt;br /&gt;I would like to grade myself 10/10 for fully accomplishing this activity in the given time. Also, I would like to thank Earl and Raffy for helping me improve my code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-6409512030553231218?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/6409512030553231218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-5-fourier-transform-model-of-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6409512030553231218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6409512030553231218'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-5-fourier-transform-model-of-image.html' title='Act 5: Fourier Transform Model of Image Formation'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2albIVhTq6c/SlK8Q5Cq38I/AAAAAAAAAEM/B3sOziZbO-c/s72-c/circle.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-7410345085503587912</id><published>2009-07-06T18:13:00.000-07:00</published><updated>2009-08-06T05:21:32.507-07:00</updated><title type='text'>Act 4: Enhancement by Histogram Manipulation</title><content type='html'>In this activity, we make use of a small (256x256 pixel) image:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrHouvt4dI/AAAAAAAAAVM/f4_8hBqY7Zk/s1600-h/sem_edit.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrHouvt4dI/AAAAAAAAAVM/f4_8hBqY7Zk/s200/sem_edit.jpg" alt="" id="BLOGGER_PHOTO_ID_5366821408522232274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Its graylevel probability distribution function (PDF), and cumulative distribution function (CDF) are shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrKEfg_8YI/AAAAAAAAAV0/ZWa7AXLGQcY/s1600-h/fig1.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrKEfg_8YI/AAAAAAAAAV0/ZWa7AXLGQcY/s200/fig1.bmp" alt="" id="BLOGGER_PHOTO_ID_5366824084493562242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;above: PDF, below: cdf&lt;br /&gt;Since the CD of a uniform distribution is a straight increasing line. A straight line was then plotted to serve as an idealized CDF. The image was then backprojected onto this new CDF and a new CDF was obtained. Their respective plots are shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnrKDvvKZII/AAAAAAAAAVk/S4ddL_9jaA8/s1600-h/fig2.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnrKDvvKZII/AAAAAAAAAVk/S4ddL_9jaA8/s200/fig2.bmp" alt="" id="BLOGGER_PHOTO_ID_5366824071668065410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;above: ideal CDF, mid: new PDF, below: new CDF&lt;br /&gt;And the resulting image is shown below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrKDWQFMNI/AAAAAAAAAVc/b7OzgYxK9Rc/s1600-h/fig2a.bmp"&gt;&lt;img style="cursor: pointer; width: 165px; height: 163px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrKDWQFMNI/AAAAAAAAAVc/b7OzgYxK9Rc/s200/fig2a.bmp" alt="" id="BLOGGER_PHOTO_ID_5366824064826814674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For the nonlinear response, instead of a straight line, we make use of cubic function (x^3). The idealized CDF, the backprojected histogram and the new CD resulting from the backprojection is shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SnrKDEBjUPI/AAAAAAAAAVU/SJVuW2TjAyA/s1600-h/fig3.bmp"&gt;&lt;img style="cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SnrKDEBjUPI/AAAAAAAAAVU/SJVuW2TjAyA/s200/fig3.bmp" alt="" id="BLOGGER_PHOTO_ID_5366824059934036210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the resulting image is shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SnrKb0tLMRI/AAAAAAAAAV8/UUjK8uks4vk/s1600-h/fig3a.bmp"&gt;&lt;img style="cursor: pointer; width: 165px; height: 164px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SnrKb0tLMRI/AAAAAAAAAV8/UUjK8uks4vk/s200/fig3a.bmp" alt="" id="BLOGGER_PHOTO_ID_5366824485318766866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can be observed that the linear response has higher contrast compared to the nonlinear distribution, but the image quality of the nonlinear image is much better compared to the linear one.&lt;br /&gt;&lt;br /&gt;I will grade myself 10/10 for being able to successfully backproject and render the image for both linear and nonlinear functions. I would like to thank Earl for the discussions and Gilbert for the snippet which enabled me to continue with the code properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-7410345085503587912?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/7410345085503587912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-4-enhancement-by-histogram.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/7410345085503587912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/7410345085503587912'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/07/act-4-enhancement-by-histogram.html' title='Act 4: Enhancement by Histogram Manipulation'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2albIVhTq6c/SnrHouvt4dI/AAAAAAAAAVM/f4_8hBqY7Zk/s72-c/sem_edit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-9098995279792836488</id><published>2009-06-22T19:35:00.000-07:00</published><updated>2009-08-06T02:52:58.068-07:00</updated><title type='text'>Act 3: Image types and basic image enhancement</title><content type='html'>For this activity, we were required to collect images of various formats. For this, I have chosen the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Binary:&lt;/span&gt; the "John Hancock" signature&lt;br /&gt;(image courtesy of http://upload.wikimedia.org/wikipedia/commons/thumb/9/90/JohnHancockSignature.svg/384px-JohnHancockSignature.svg.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SkBDZrGuuGI/AAAAAAAAACE/K08bNmsiOyM/s1600-h/384px-JohnHancockSignature.svg.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 58px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SkBDZrGuuGI/AAAAAAAAACE/K08bNmsiOyM/s200/384px-JohnHancockSignature.svg.png" alt="" id="BLOGGER_PHOTO_ID_5350350465662892130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Greyscale:&lt;/span&gt;  Charlie Chaplin&lt;br /&gt;(image courtesy of http://www.europeancourier.org/118.htm)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SkBDg-cjWWI/AAAAAAAAACM/mEkjNJj_5ys/s1600-h/CharlieChaplin_000.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 142px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SkBDg-cjWWI/AAAAAAAAACM/mEkjNJj_5ys/s200/CharlieChaplin_000.jpg" alt="" id="BLOGGER_PHOTO_ID_5350350591113779554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Indexed:&lt;/span&gt; Van Gogh's "Starry Night"&lt;br /&gt;(image courtesy of http://www.wpclipart.com/art/Paintings/Van_Gogh/VanGogh_starry_night.png.html)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SkBDteHzivI/AAAAAAAAACU/dJWo3u404E4/s1600-h/VanGogh_starry_night.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 160px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SkBDteHzivI/AAAAAAAAACU/dJWo3u404E4/s200/VanGogh_starry_night.png" alt="" id="BLOGGER_PHOTO_ID_5350350805775125234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;True Color:&lt;/span&gt; the Great Barrier Reef&lt;br /&gt;(image courtesy of http://www.gmcc-09.com/welcome-to-melbourne/the-country/)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SkBEXGFJ73I/AAAAAAAAACc/J3sR47uEXV8/s1600-h/great-barrier-reef.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 128px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SkBEXGFJ73I/AAAAAAAAACc/J3sR47uEXV8/s200/great-barrier-reef.bmp" alt="" id="BLOGGER_PHOTO_ID_5350351520876064626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aside from finding various images on the internet, we are also required to scan an object, preferably with a distinct border. Along with Earl, I used a map of Japan:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/SnqlOxJV4xI/AAAAAAAAAUE/86fViDkdWpk/s1600-h/scan0001.jpg"&gt;&lt;img style="cursor: pointer; width: 146px; height: 200px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/SnqlOxJV4xI/AAAAAAAAAUE/86fViDkdWpk/s200/scan0001.jpg" alt="" id="BLOGGER_PHOTO_ID_5366783579094639378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;except in my activity, I chose Kyushu to be my region of interest. The image was binarized, and the following image was obtained:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SnqltmnvbmI/AAAAAAAAAUM/o59M6i3xkvs/s1600-h/kyushu.jpg"&gt;&lt;img style="cursor: pointer; width: 151px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SnqltmnvbmI/AAAAAAAAAUM/o59M6i3xkvs/s200/kyushu.jpg" alt="" id="BLOGGER_PHOTO_ID_5366784108845297250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It is now possible to apply the follow function in order to obtain the contour of the image so that it becomes possible to apply the Green’ s theorem and obtain the area of the image. The area can also be computed by taking the sum of the image since the binary image is simply composed of ones, which represent the white parts of the image, and zeroes, which represent the black parts of the image. Hence, the area of the image is effectively its sum.&lt;br /&gt;&lt;br /&gt;The obtained values were:&lt;br /&gt;using Green's theorem: 17946 pixels&lt;br /&gt;using summation: 18600 pixels&lt;br /&gt;% deviation: 3.5161%&lt;br /&gt;&lt;br /&gt;The values obtained are sufficiently close to each other. By taking the length of the scale in terms&lt;br /&gt;of pixels, the area of Kyushu can then be calculated by mere conversion.&lt;br /&gt;&lt;br /&gt;I will give myself a grade of 10/10 for this activity since the previously learned lessons were successfully applied for this activity. I would like to thank Earl for sharing with me his scanned image of Japan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-9098995279792836488?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/9098995279792836488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-3-image-types-and-basic-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/9098995279792836488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/9098995279792836488'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-3-image-types-and-basic-image.html' title='Act 3: Image types and basic image enhancement'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2albIVhTq6c/SkBDZrGuuGI/AAAAAAAAACE/K08bNmsiOyM/s72-c/384px-JohnHancockSignature.svg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-4773800952945137251</id><published>2009-06-22T19:09:00.000-07:00</published><updated>2009-06-28T20:59:21.697-07:00</updated><title type='text'>Act 2: Area Estimation of Images with Defined Edges</title><content type='html'>For this activity, I have used MS Paint to construct the following images:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Square&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SkA-HVDEMXI/AAAAAAAAABc/2a3qQmBa9BY/s1600-h/square_jpg.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SkA-HVDEMXI/AAAAAAAAABc/2a3qQmBa9BY/s200/square_jpg.jpg" alt="" id="BLOGGER_PHOTO_ID_5350344652946157938" border="0" /&gt;&lt;/a&gt;The square has one side measuring 298 pixels, thus the square has 88804 sq. pixels.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;2. Rectangle&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/SkA-OACj6_I/AAAAAAAAABk/mS-t-YmcQ4o/s1600-h/rectangle_jpg.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/SkA-OACj6_I/AAAAAAAAABk/mS-t-YmcQ4o/s200/rectangle_jpg.JPG" alt="" id="BLOGGER_PHOTO_ID_5350344767565982706" border="0" /&gt;&lt;/a&gt;The rectangle has dimensions 400 x 298 pixels, thus the rectangle's area is l x w = 119200 sq. pixels.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Circle&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SkA-Uofr5UI/AAAAAAAAABs/K_NFiw4Cm8Q/s1600-h/circle_jpg.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SkA-Uofr5UI/AAAAAAAAABs/K_NFiw4Cm8Q/s200/circle_jpg.JPG" alt="" id="BLOGGER_PHOTO_ID_5350344881504773442" border="0" /&gt;&lt;/a&gt;The circle has radius of roughly 147 pixels, thus its area is pi*radius^2 = 67886.676..., which we round down to 67887 sq. pixels.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Triangle&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/SkA-fn5SLQI/AAAAAAAAAB0/kGgbszcdyqU/s1600-h/triangle_jpg.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/SkA-fn5SLQI/AAAAAAAAAB0/kGgbszcdyqU/s200/triangle_jpg.jpg" alt="" id="BLOGGER_PHOTO_ID_5350345070322265346" border="0" /&gt;&lt;/a&gt;The triangle has base of 350 pixels and height of 217, thus its area is 0.5*base*height=37975 sq. pixels.&lt;br /&gt;&lt;br /&gt;All images are 500x500 pixels and are originally in bitmap (.bmp) format. I compressed them to jpeg (.jpg) format to make uploading easier.&lt;br /&gt;&lt;br /&gt;In order to find the area of the shapes, Green's function was to be used:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Skg22qw0siI/AAAAAAAAAC8/pSP-Jpyg8wY/s1600-h/equation.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 62px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Skg22qw0siI/AAAAAAAAAC8/pSP-Jpyg8wY/s200/equation.JPG" alt="" id="BLOGGER_PHOTO_ID_5352588469949739554" border="0" /&gt;&lt;/a&gt;In a nutshell, what  Green's function does is to slice up a certain figure, take the area of each individual slice, and take the sum of all the slices, yielding the total area of the figure.&lt;br /&gt;&lt;br /&gt;To implement Green's function computationally, the following Scilab 4 code was used:&lt;blockquote&gt;[fig, figmap] = imread('F:/Applied Physics 186/Activity 02/shape.bmp');&lt;br /&gt;[x, y] = follow(fig);&lt;br /&gt;n=length(x);&lt;br /&gt;B=0;&lt;br /&gt;for i=1:n-1,&lt;br /&gt;A = (0.5*(x(i)*y(i+1)-x(i+1)*y(i)));,&lt;br /&gt;B = B+A;,&lt;br /&gt;end;&lt;br /&gt;B&lt;/blockquote&gt;The function &lt;span style="font-style: italic;"&gt;follow&lt;/span&gt; gives the coordinates of the contour of the figure, while the &lt;span style="font-style: italic;"&gt;for&lt;/span&gt; loop basically implements the above equation using the contour obtained from &lt;span style="font-style: italic;"&gt;follow&lt;/span&gt;. &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; simply displays the output of the summation, or rather, the total area of the figures.&lt;br /&gt;&lt;br /&gt;The output of the code, as well as the percent error compared to the manually calculated area is tabulated below:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Skg7Oma-b4I/AAAAAAAAADM/mAbRLEDs_9E/s1600-h/table.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 305px; height: 86px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Skg7Oma-b4I/AAAAAAAAADM/mAbRLEDs_9E/s320/table.bmp" alt="" id="BLOGGER_PHOTO_ID_5352593279147732866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For this activity, I will grade myself 10/10 for having % error values less than 1%, which means that the Green's function is highly accurate, and is suitable for finding the area of irregular shapes, so long as it has a definite and continuous contour.&lt;br /&gt;&lt;br /&gt;I would like to acknowledge Earl and Gary for their insightful discussions with me regarding this activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-4773800952945137251?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/4773800952945137251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-2-area-estimation-of-images-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4773800952945137251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/4773800952945137251'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-2-area-estimation-of-images-with.html' title='Act 2: Area Estimation of Images with Defined Edges'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2albIVhTq6c/SkA-HVDEMXI/AAAAAAAAABc/2a3qQmBa9BY/s72-c/square_jpg.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-1456117854846713000</id><published>2009-06-21T05:05:00.000-07:00</published><updated>2009-06-27T21:06:15.225-07:00</updated><title type='text'>Act 1: Digital Scanning</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link style="font-family: arial;" rel="File-List" href="file:///C:%5CDOCUME%7E1%5CMSZ-006%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;JA&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"ＭＳ 明朝"; 	panose-1:2 2 6 9 4 2 5 8 3 4; 	mso-font-alt:"MS Mincho"; 	mso-font-charset:128; 	mso-generic-font-family:roman; 	mso-font-pitch:fixed; 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:"\@ＭＳ 明朝"; 	panose-1:2 2 6 9 4 2 5 8 3 4; 	mso-font-charset:128; 	mso-generic-font-family:roman; 	mso-font-pitch:fixed; 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:"ＭＳ 明朝"; 	mso-bidi-font-family:"Times New Roman";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	mso-ascii-font-family:Calibri; 	mso-fareast-font-family:"ＭＳ 明朝"; 	mso-hansi-font-family:Calibri;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"ＭＳ 明朝"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;/div&gt;In this activity, we were to recreate a hand-drawn graph into digital form using a scanned copy of the said graph and a spreadsheet program such as OpenOffice or Excel.&lt;br /&gt;Due to my assumption that linear graphs were ideal for this activity, I opted to use one. Unfortunately, the graph that I got had its axes in logarithmic scale and as a result, accomplishing it was much more difficult than I expected. After exhausting almost the whole period on the graph, I decided it would be much easier to use a different one. Fortunately, Earl had another graph on the second page of his scanned copy, and thus I was able to use it instead. The source of the new graph was Fesbach’s and Lomon’s The Boundary Condition Model of Strong Interactions at page 63. Also, I was told the original graph can be used in the special project since it was challenging, and at the same time, nobody has done it before (as far as I know).  In any case, the process goes as follows: The image was cropped in order to isolate the graph from the rest of the scan using Nero PhotoSnap Viewer Essentials. From there, the dimensions of the graph in terms of the number of pixels were recorded.&lt;p class="MsoNormal"  style="text-align: left;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2albIVhTq6c/Sj4mspIYc9I/AAAAAAAAAAs/HlU5ylLNWag/s1600-h/rotated.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 275px; height: 320px;" src="http://3.bp.blogspot.com/_2albIVhTq6c/Sj4mspIYc9I/AAAAAAAAAAs/HlU5ylLNWag/s320/rotated.jpg" alt="" id="BLOGGER_PHOTO_ID_5349755955759838162" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;      Since my graph had two parts with different y-axis dimensions, I chose to split and separately accomplish both graphs. For both cases I chose to crop each of the main plots, discarding the values of the axes in the outside. This is because obtaining the pixel coordinates is much easier this way, and at the same time, the cropped images can be readily used as background for the reconstructed graphs later. I recorded the coordinates of the points on the graph as well as a number of representative points for the trend line using MS Paint. Since the axis of the y-axis is inverted, i.e. downwards is the positive direction, I subtracted the obtained values for the y-coordinates from the total height of the image in terms of its pixels. The ratio of the total length of the graph over the total number of pixels was obtained and used as a multiplying factor for the coordinates, which yields the physical values for the graph. The pixel coordinates for both the points and the trend line's representative points are tabulated below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2albIVhTq6c/SkDbInQf1TI/AAAAAAAAACs/N_667DaWczo/s1600-h/table.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 320px;" src="http://4.bp.blogspot.com/_2albIVhTq6c/SkDbInQf1TI/AAAAAAAAACs/N_667DaWczo/s320/table.JPG" alt="" id="BLOGGER_PHOTO_ID_5350517298339763506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This was done for both the points and the trend line plot, except that error bars had to be added to the points.&lt;br /&gt;&lt;br /&gt;I plotted the points on an X-Y scatter graph using Microsoft Excel. The scales were formatted so that the ticks and the values resemble those which are on the original graph. The two split graphs were then reconnected.&lt;p class="MsoNormal"  style="text-align: left;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal"  style="text-align: left;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;u4:p&gt;&lt;/u4:p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Sj4m0BbdE1I/AAAAAAAAAA0/ymDdRXaFPPI/s1600-h/unfilled.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 320px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Sj4m0BbdE1I/AAAAAAAAAA0/ymDdRXaFPPI/s320/unfilled.JPG" alt="" id="BLOGGER_PHOTO_ID_5349756082541368146" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;The representative points in the trend line are shown in the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2albIVhTq6c/Skbr5AVxubI/AAAAAAAAAC0/uP4nQ1SuzYU/s1600-h/unfilled_dot_trend.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 320px;" src="http://2.bp.blogspot.com/_2albIVhTq6c/Skbr5AVxubI/AAAAAAAAAC0/uP4nQ1SuzYU/s320/unfilled_dot_trend.JPG" alt="" id="BLOGGER_PHOTO_ID_5352224571752823218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In order to better show the quality of the reconstruction, the plot area’s background was set to the cropped images:&lt;p class="MsoNormal"  style="text-align: left;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2albIVhTq6c/Sj4m-zxJlkI/AAAAAAAAAA8/DWriCt6bA_U/s1600-h/filled.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 320px;" src="http://1.bp.blogspot.com/_2albIVhTq6c/Sj4m-zxJlkI/AAAAAAAAAA8/DWriCt6bA_U/s320/filled.JPG" alt="" id="BLOGGER_PHOTO_ID_5349756267852830274" border="0" /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;    &lt;/div&gt;&lt;p class="MsoNormal" style="text-align: left; font-family: arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;u4:p&gt;&lt;/u4:p&gt;&lt;/span&gt;&lt;/p&gt;While not perfect, it can be observed that the obtained digital plot resembles the original hand-drawn plots of the book. One of the major problems encountered in the new graph was that I had no idea how to change the y-axis scale. Thus, I simply chose to reconstruct it by accomplishing two different graphs and the grouping the two together.&lt;br /&gt;&lt;br /&gt;Overall, I would give myself a grade of 9/10. The graph was reproduced, points, trend line, error bars and all. The main gripe I have is that I used MS Excel 2007 for plotting, which may have made the process tad easier. Also, the scale’s values weren’t the same as the original, but it was merely a matter of visual display and it doesn’t really affect the actual scale of the original graph itself.&lt;br /&gt;&lt;br /&gt;Again, loads of thanks to Earl, for giving me the new graph, as well as for Gilbert, for a few tips on the activity, as well as uploading my blog site to the AP186 Google Group.&lt;p class="MsoNormal"  style="text-align: left;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-1456117854846713000?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/1456117854846713000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-1-digital-scanning.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/1456117854846713000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/1456117854846713000'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/06/act-1-digital-scanning.html' title='Act 1: Digital Scanning'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2albIVhTq6c/Sj4mspIYc9I/AAAAAAAAAAs/HlU5ylLNWag/s72-c/rotated.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4889154799943476959.post-6051468160298220902</id><published>2009-06-15T19:46:00.000-07:00</published><updated>2009-06-15T19:47:54.110-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='welcome'/><title type='text'>Hello world!</title><content type='html'>Magandang araw sa inyong lahat!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4889154799943476959-6051468160298220902?l=neilap186.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilap186.blogspot.com/feeds/6051468160298220902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neilap186.blogspot.com/2009/06/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6051468160298220902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4889154799943476959/posts/default/6051468160298220902'/><link rel='alternate' type='text/html' href='http://neilap186.blogspot.com/2009/06/hello-world.html' title='Hello world!'/><author><name>NeiL</name><uri>http://www.blogger.com/profile/13922384952165196179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
