<?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-1071117363222736718</id><updated>2011-07-07T16:12:20.135-07:00</updated><title type='text'>certified dormer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></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-1071117363222736718.post-4376048867134306049</id><published>2009-10-07T09:07:00.001-07:00</published><updated>2009-10-07T10:14:27.624-07:00</updated><title type='text'>Activity 19 - Restoration of Blurred image</title><content type='html'>This activity will show how to restore blurred and noisy images from an a priori knowledge of degradation function and noise. The main idea of image degradation and restoration is presented using the model below:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszBW-oCvII/AAAAAAAABAs/Y0GQSbzE2FA/s1600-h/for_1.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 118px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszBW-oCvII/AAAAAAAABAs/Y0GQSbzE2FA/s320/for_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389895454567873666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;General model in spatial domain:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszBs2bU2hI/AAAAAAAABA0/6KRTSBTYDYQ/s1600-h/for_2.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszBs2bU2hI/AAAAAAAABA0/6KRTSBTYDYQ/s320/for_2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389895830324173330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;where g(x,y) is the degraded image, f(x,y) is the original image, h(x,y) is the degradation function and n(x,y) is the noise model.&lt;br /&gt;&lt;br /&gt;General model in frequency domain:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszB5_wII5I/AAAAAAAABA8/h05ONvqqEPo/s1600-h/for_3.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszB5_wII5I/AAAAAAAABA8/h05ONvqqEPo/s320/for_3.bmp" alt="" id="BLOGGER_PHOTO_ID_5389896056165639058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;The variables presented are the Fourier transforms of the above equation.&lt;br /&gt;&lt;br /&gt;From the above equations, we are to find the degrading function and the noise model. The noise model is described in the previous activity, so we are left with the degrading function, or the motion blurring effect. It is given by:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszCtl-PAdI/AAAAAAAABBE/pw81pa4NNRM/s1600-h/for_4.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 67px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszCtl-PAdI/AAAAAAAABBE/pw81pa4NNRM/s320/for_4.bmp" alt="" id="BLOGGER_PHOTO_ID_5389896942598685138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;The image restoration procedure is summarized in the following way:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszEQ5y5XCI/AAAAAAAABBM/u7yxSI9wpq0/s1600-h/for_5.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 186px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszEQ5y5XCI/AAAAAAAABBM/u7yxSI9wpq0/s320/for_5.bmp" alt="" id="BLOGGER_PHOTO_ID_5389898648726887458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;One filter that is shown in this activity is Weiner filter which is also known as the minimum mean-square error (MMSE) filter by modeling the error through statistical characterization of the noise. It minimizes the average error giving the Weiner filter:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszFan_jWyI/AAAAAAAABBY/mEjfnxQtlhY/s1600-h/for_6.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 65px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszFan_jWyI/AAAAAAAABBY/mEjfnxQtlhY/s320/for_6.bmp" alt="" id="BLOGGER_PHOTO_ID_5389899915258452770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszFbLeYurI/AAAAAAAABBg/ya6GQnNgueY/s1600-h/for_7.bmp"&gt;&lt;img style="cursor: pointer; width: 275px; height: 72px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszFbLeYurI/AAAAAAAABBg/ya6GQnNgueY/s320/for_7.bmp" alt="" id="BLOGGER_PHOTO_ID_5389899924783020722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;where &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszG3Oz5uCI/AAAAAAAABBo/FpPXCHhoWbI/s1600-h/for_8.bmp"&gt;&lt;img style="cursor: pointer; width: 181px; height: 20px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SszG3Oz5uCI/AAAAAAAABBo/FpPXCHhoWbI/s320/for_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5389901506226534434" border="0" /&gt;&lt;/a&gt;, &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszHU1EtByI/AAAAAAAABBw/EHu4t4K5rV8/s1600-h/for_10.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 21px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SszHU1EtByI/AAAAAAAABBw/EHu4t4K5rV8/s320/for_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5389902014713759522" border="0" /&gt;&lt;/a&gt; , &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszHVRPCRBI/AAAAAAAABB4/UUV53_JJdbk/s1600-h/for_10.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 21px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SszHVRPCRBI/AAAAAAAABB4/UUV53_JJdbk/s320/for_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5389902022273287186" border="0" /&gt;&lt;/a&gt; and K is a specified constant.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Results&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;The result of filtering for different types of images are presented. The first image is the original, the second is the blurred and noisy image, the last two are the two types of Weiner filter the last being specified by K = 1.&lt;br /&gt;&lt;br /&gt;As seen, the Weiner filter restores the blurred and noisy image but it can't recover the original image itself. The phrase can still be discerned from the restoration but not fully. The last image is not a good restoration using the constant K. Even if K value is varied, no visible change in the restored image is observed.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy93DBUcwI/AAAAAAAABAM/ArRG8AfSEm4/s1600-h/phrase_ei.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy93DBUcwI/AAAAAAAABAM/ArRG8AfSEm4/s320/phrase_ei.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891607456936706" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy94ea_KmI/AAAAAAAABAk/3y5fwib1dqk/s1600-h/phrase_oblurn.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy94ea_KmI/AAAAAAAABAk/3y5fwib1dqk/s320/phrase_oblurn.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891631992220258" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy93taihiI/AAAAAAAABAU/FRRCxfmMI4k/s1600-h/phrase_filtered1.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy93taihiI/AAAAAAAABAU/FRRCxfmMI4k/s320/phrase_filtered1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891618837005858" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssy936IeLrI/AAAAAAAABAc/b36fiEBRYHs/s1600-h/phrase_filtered2.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssy936IeLrI/AAAAAAAABAc/b36fiEBRYHs/s320/phrase_filtered2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891622250884786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy9UeAnMEI/AAAAAAAAA_s/BveoBz2GE1o/s1600-h/people1.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy9UeAnMEI/AAAAAAAAA_s/BveoBz2GE1o/s320/people1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891013406306370" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy9V8rvbYI/AAAAAAAABAE/8sNhpKV-D1A/s1600-h/people_oblurn.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy9V8rvbYI/AAAAAAAABAE/8sNhpKV-D1A/s320/people_oblurn.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891038820134274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy9U5jJ1EI/AAAAAAAAA_0/rbjYPUQeAek/s1600-h/people_filtered1.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssy9U5jJ1EI/AAAAAAAAA_0/rbjYPUQeAek/s320/people_filtered1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891020798940226" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssy9VQzccgI/AAAAAAAAA_8/MYJ7d1K_DWk/s1600-h/people_filtered2.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssy9VQzccgI/AAAAAAAAA_8/MYJ7d1K_DWk/s320/people_filtered2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389891027041284610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssy80haJTII/AAAAAAAAA_M/2VGDpzQBJFk/s1600-h/k.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssy80haJTII/AAAAAAAAA_M/2VGDpzQBJFk/s320/k.bmp" alt="" id="BLOGGER_PHOTO_ID_5389890464562891906" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy81y6PHqI/AAAAAAAAA_k/9wz_t3WYRNg/s1600-h/k_oblurn.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy81y6PHqI/AAAAAAAAA_k/9wz_t3WYRNg/s320/k_oblurn.bmp" alt="" id="BLOGGER_PHOTO_ID_5389890486440763042" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssy81Axz36I/AAAAAAAAA_U/5si0RCl0iqc/s1600-h/k_filtered1.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssy81Axz36I/AAAAAAAAA_U/5si0RCl0iqc/s320/k_filtered1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389890472983650210" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy81b-9o0I/AAAAAAAAA_c/dHh1wIVnv-M/s1600-h/k_filtered2.bmp"&gt;&lt;img style="cursor: pointer; width: 80px; height: 80px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssy81b-9o0I/AAAAAAAAA_c/dHh1wIVnv-M/s320/k_filtered2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389890480286573378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I give myself 10 pts for understanding and finishing the activity. :)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;References&lt;/span&gt;&lt;br /&gt;M. Soriano. A19 – Restoration of blurred image. pdf file&lt;br /&gt;Digital Image Processing. Gonzales and Woods.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Scilab Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;// Degradation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act19\');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;img = gray_imread('k.bmp');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//img = gray_imread('phrase_ei.bmp');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//img = gray_imread('people1.bmp');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FTimg = fft2(img);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FT = fftshift(abs(FTimg));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a = .05;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;b = .05;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;T = 1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// noise&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = grand(size(img,1), size(img,2), 'nor', 0.1, 0.1); // gauss&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FTy = fft2(y);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for i = 1:size(FT,1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  for j = 1:size(FT,2)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    H(i,j) = T/(%pi*(i*a + j*b)) * sin(%pi*(i*a + j*b)) * exp(-%i*(%pi*(i*a + j*b)));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;G = H.*FTimg + FTy;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Sn = FTy.*conj(FTy);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Sf = FTimg.*conj(FTimg);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a = (H.^(-1));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;b = ((H.*conj(H))./((H.*conj(H)) + (Sn./Sf)));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Fh1 = a.*b.*G;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;K = 10000000000;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;b = ((H.*conj(H))./((H.*conj(H)) + K));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Fh2 = a.*b.*G;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//scf(), imshow(FTimg, [])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scf(), imshow(abs(ifft(G)), [])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scf(), imshow(abs(ifft(Fh1)), [])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scf(), imshow(abs(ifft(Fh2)), [])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//scf(), imshow(img, [])&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-4376048867134306049?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/4376048867134306049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/10/activity-19-restoration-of-blurred.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/4376048867134306049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/4376048867134306049'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/10/activity-19-restoration-of-blurred.html' title='Activity 19 - Restoration of Blurred image'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/SszBW-oCvII/AAAAAAAABAs/Y0GQSbzE2FA/s72-c/for_1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-8963620016219982849</id><published>2009-10-06T08:03:00.000-07:00</published><updated>2009-10-07T10:32:30.342-07:00</updated><title type='text'>Activity 18 - Noise Models and basic Image Restoration</title><content type='html'>This activity allows one to digitally restore an image or by improving its appearance through a procedure of restoration and a priori knowledge or known mathematical model of degradation applied to the image. In this case, different types of noise are added on the original image.&lt;br /&gt;&lt;br /&gt;There are different types of noise presented in this activity. These noise are experimentally obtained from the variations of temperature in the experimental area, light source flickering and also during the transmission of data through wireless connections where atmospheric disturbances may happen. Random variables comprise noise and are characterized by probability density function (PDF as discussed in Activity 4). Most common noise include:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxvawKKvgI/AAAAAAAAA1E/uIYISi9IJ2w/s1600-h/orign_unif_f_geo_pdf.bmp"&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;Gaussian&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SstpV1lw2PI/AAAAAAAAAtU/LcrS76G15io/s1600-h/n_gaussian.bmp"&gt;&lt;img style="cursor: pointer; width: 124px; height: 50px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SstpV1lw2PI/AAAAAAAAAtU/LcrS76G15io/s320/n_gaussian.bmp" alt="" id="BLOGGER_PHOTO_ID_5389517202962569458" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Rayleigh&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstpWWIRdQI/AAAAAAAAAtc/8rTMUh0wTOo/s1600-h/n_rayleigh1.bmp"&gt;&lt;img style="cursor: pointer; width: 147px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstpWWIRdQI/AAAAAAAAAtc/8rTMUh0wTOo/s320/n_rayleigh1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389517211697247490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstpWktoVaI/AAAAAAAAAtk/LFdaS1sPkkg/s1600-h/n_rayleigh2.bmp"&gt;&lt;img style="cursor: pointer; width: 59px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstpWktoVaI/AAAAAAAAAtk/LFdaS1sPkkg/s320/n_rayleigh2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389517215612032418" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Gamma&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstqfJDVE6I/AAAAAAAAAts/64m-DdYosIU/s1600-h/n_gamma1.bmp"&gt;&lt;img style="cursor: pointer; width: 115px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstqfJDVE6I/AAAAAAAAAts/64m-DdYosIU/s320/n_gamma1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389518462317302690" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstqfbXpzFI/AAAAAAAAAt0/auReFx2wcwk/s1600-h/n_gamma2.bmp"&gt;&lt;img style="cursor: pointer; width: 30px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SstqfbXpzFI/AAAAAAAAAt0/auReFx2wcwk/s320/n_gamma2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389518467234384978" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Exponential&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sstqfy3imrI/AAAAAAAAAt8/o8CiDGrW07k/s1600-h/n_exp1.bmp"&gt;&lt;img style="cursor: pointer; width: 132px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sstqfy3imrI/AAAAAAAAAt8/o8CiDGrW07k/s320/n_exp1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389518473542146738" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstqgTn4f0I/AAAAAAAAAuE/4doJESUB_6E/s1600-h/n_exp2.bmp"&gt;&lt;img style="cursor: pointer; width: 32px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstqgTn4f0I/AAAAAAAAAuE/4doJESUB_6E/s320/n_exp2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389518482334842690" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Uniform&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sstt2wwe-cI/AAAAAAAAAuM/BbWatsadeww/s1600-h/n_uniform1.bmp"&gt;&lt;img style="cursor: pointer; width: 123px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sstt2wwe-cI/AAAAAAAAAuM/BbWatsadeww/s320/n_uniform1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389522166647552450" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sstt3T0FJtI/AAAAAAAAAuU/K-EQ4_YkgVw/s1600-h/n_uniform2.bmp"&gt;&lt;img style="cursor: pointer; width: 41px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sstt3T0FJtI/AAAAAAAAAuU/K-EQ4_YkgVw/s320/n_uniform2.bmp" alt="" id="BLOGGER_PHOTO_ID_5389522176057878226" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Impulse (Salt and Pepper)&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sstt36X5F7I/AAAAAAAAAuc/pS1u6a9SxPo/s1600-h/n_impulse.bmp"&gt;&lt;img style="cursor: pointer; width: 133px; height: 50px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sstt36X5F7I/AAAAAAAAAuc/pS1u6a9SxPo/s320/n_impulse.bmp" alt="" id="BLOGGER_PHOTO_ID_5389522186408630194" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;To restore images with these added noise, a very basic method to use is to filter in spatial domain. Filtering methods employed in this activity are as follows:&lt;ul&gt;&lt;li&gt;Arithmetic&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SstvbRCbSaI/AAAAAAAAAuk/7rpYfxyqgFk/s1600-h/f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 168px; height: 50px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SstvbRCbSaI/AAAAAAAAAuk/7rpYfxyqgFk/s320/f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389523893299661218" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Geometric&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sstvb11P2fI/AAAAAAAAAus/yHRltwWGTi4/s1600-h/f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 114px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sstvb11P2fI/AAAAAAAAAus/yHRltwWGTi4/s320/f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389523903176497650" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Harmonic&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstvcR6QlSI/AAAAAAAAAu0/rUnYcfq38SE/s1600-h/f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 101px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SstvcR6QlSI/AAAAAAAAAu0/rUnYcfq38SE/s320/f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389523910713709858" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;ContraHarmonic&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SstvcgBuP-I/AAAAAAAAAu8/-oI-bmsQ3bg/s1600-h/f_conhar.bmp"&gt;&lt;img style="cursor: pointer; width: 98px; height: 50px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SstvcgBuP-I/AAAAAAAAAu8/-oI-bmsQ3bg/s320/f_conhar.bmp" alt="" id="BLOGGER_PHOTO_ID_5389523914503110626" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;where S(x,y) represent the set of coordinates in a rectangular subimage window of size m x n with center at x,y. Thus, the window S(x,y) moves through the image and proper restoration process occurs. For the ContraHarmonic Filter, Q is the order of filter with Q&gt;0 eliminating pepper noise and Q&lt;0 eliminating salt noise;however, it can't do both. Below is the test pattern:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst3LJeKJSI/AAAAAAAAAvE/WqIE6gpGQE4/s1600-h/pattern.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst3LJeKJSI/AAAAAAAAAvE/WqIE6gpGQE4/s320/pattern.bmp" alt="" id="BLOGGER_PHOTO_ID_5389532412483609890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RESULTS&lt;/span&gt;&lt;br /&gt;Noise is being added to the original image. For a kind of noise added, all forms of filtering are imposed.&lt;br /&gt;&lt;br /&gt;It can be observed that filtering the noisy images is a difficult task to do. The restored images does not contain sharp boundaries between the grayscale values. Also as seen from the PDF's of the restored images, there is really a distortion that has happened. Among the filters, the harmonic filter provides the best result except for the pepper noise. It best eliminates salt noise. The Q value used for the contraharmonic filter is 1. It better eliminates pepper than salt noise. As observed, geometric filter also does not work best for images with pepper noise.&lt;br /&gt;&lt;br /&gt;From left to right:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;original image+noise, arithmetic filtering, geometric, harmonic, contraharmonic&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gaussian noise&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst3uX7hAzI/AAAAAAAAAvM/3aqTyQ19rHs/s1600-h/orign_gauss.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst3uX7hAzI/AAAAAAAAAvM/3aqTyQ19rHs/s320/orign_gauss.bmp" alt="" id="BLOGGER_PHOTO_ID_5389533017660261170" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst3vJXRiKI/AAAAAAAAAvU/GpE0q2QzDos/s1600-h/orign_gauss_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst3vJXRiKI/AAAAAAAAAvU/GpE0q2QzDos/s320/orign_gauss_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389533030930024610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst3vg3PVLI/AAAAAAAAAvc/wVCUBSRuaAQ/s1600-h/orign_gauss_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst3vg3PVLI/AAAAAAAAAvc/wVCUBSRuaAQ/s320/orign_gauss_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389533037238113458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst3wB9XSGI/AAAAAAAAAvk/X-yi0xWU81Q/s1600-h/orign_gauss_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst3wB9XSGI/AAAAAAAAAvk/X-yi0xWU81Q/s320/orign_gauss_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389533046122170466" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst3wfvDJhI/AAAAAAAAAvs/0xfcry-nySI/s1600-h/orign_gauss_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst3wfvDJhI/AAAAAAAAAvs/0xfcry-nySI/s320/orign_gauss_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389533054115194386" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst5fG6fNLI/AAAAAAAAAv0/aZHu76eASYI/s1600-h/orign_gauss_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst5fG6fNLI/AAAAAAAAAv0/aZHu76eASYI/s320/orign_gauss_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389534954417763506" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst5fvnFaTI/AAAAAAAAAv8/vTRhsoXtu_4/s1600-h/orign_gauss_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst5fvnFaTI/AAAAAAAAAv8/vTRhsoXtu_4/s320/orign_gauss_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389534965342234930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst5gJ9R66I/AAAAAAAAAwE/4F_lhJ2TmKg/s1600-h/orign_gauss_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst5gJ9R66I/AAAAAAAAAwE/4F_lhJ2TmKg/s320/orign_gauss_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389534972414651298" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst5gaq4bGI/AAAAAAAAAwM/JQ5lV7uYSAU/s1600-h/orign_gauss_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst5gaq4bGI/AAAAAAAAAwM/JQ5lV7uYSAU/s320/orign_gauss_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389534976900885602" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst5g01njVI/AAAAAAAAAwU/ofMEwKtTZ2Y/s1600-h/orign_gauss_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst5g01njVI/AAAAAAAAAwU/ofMEwKtTZ2Y/s320/orign_gauss_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389534983925239122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rayleigh Noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst9tcuadRI/AAAAAAAAAwc/pdIaFCAEwcQ/s1600-h/orign_rayl.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst9tcuadRI/AAAAAAAAAwc/pdIaFCAEwcQ/s320/orign_rayl.bmp" alt="" id="BLOGGER_PHOTO_ID_5389539598837380370" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst9t9wtpcI/AAAAAAAAAwk/PMp5lkghE0E/s1600-h/orign_rayl_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst9t9wtpcI/AAAAAAAAAwk/PMp5lkghE0E/s320/orign_rayl_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389539607705396674" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst9uaEw2bI/AAAAAAAAAws/FlzZhc1hNJw/s1600-h/orign_rayl_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst9uaEw2bI/AAAAAAAAAws/FlzZhc1hNJw/s320/orign_rayl_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389539615305685426" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst9u3p_o2I/AAAAAAAAAw0/-nV-mb8jLY4/s1600-h/orign_rayl_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sst9u3p_o2I/AAAAAAAAAw0/-nV-mb8jLY4/s320/orign_rayl_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389539623246472034" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst9vSOI_TI/AAAAAAAAAw8/LlCCNTXsETE/s1600-h/orign_rayl_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sst9vSOI_TI/AAAAAAAAAw8/LlCCNTXsETE/s320/orign_rayl_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389539630377401650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_74dFFnI/AAAAAAAAAxE/L0B4doxte1Y/s1600-h/orign_rayl_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_74dFFnI/AAAAAAAAAxE/L0B4doxte1Y/s320/orign_rayl_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389542045822293618" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst_8UNaCBI/AAAAAAAAAxM/9_QBXFX42BQ/s1600-h/orign_rayl_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst_8UNaCBI/AAAAAAAAAxM/9_QBXFX42BQ/s320/orign_rayl_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389542053272750098" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst_87jk7ZI/AAAAAAAAAxU/z1055SNez3c/s1600-h/orign_rayl_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sst_87jk7ZI/AAAAAAAAAxU/z1055SNez3c/s320/orign_rayl_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389542063834721682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_9dznZBI/AAAAAAAAAxc/uhyfC1C0IH4/s1600-h/orign_rayl_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_9dznZBI/AAAAAAAAAxc/uhyfC1C0IH4/s320/orign_rayl_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389542073028797458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_9_XhX0I/AAAAAAAAAxk/uBjcxQQtVMQ/s1600-h/orign_rayl_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sst_9_XhX0I/AAAAAAAAAxk/uBjcxQQtVMQ/s320/orign_rayl_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389542082037768002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gamma Noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuEpYDKpNI/AAAAAAAAAxs/ypsOOpvCJbM/s1600-h/orign_gamma.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuEpYDKpNI/AAAAAAAAAxs/ypsOOpvCJbM/s320/orign_gamma.bmp" alt="" id="BLOGGER_PHOTO_ID_5389547225444164818" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsuEp7CDS9I/AAAAAAAAAx0/iOJ8nYoVynM/s1600-h/orign_gamma_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsuEp7CDS9I/AAAAAAAAAx0/iOJ8nYoVynM/s320/orign_gamma_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389547234834729938" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsuEqWGX-SI/AAAAAAAAAx8/_4OsWzGQJxw/s1600-h/orign_gamma_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsuEqWGX-SI/AAAAAAAAAx8/_4OsWzGQJxw/s320/orign_gamma_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389547242100619554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuEq2wk0NI/AAAAAAAAAyE/Liz2eW0-srA/s1600-h/orign_gamma_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuEq2wk0NI/AAAAAAAAAyE/Liz2eW0-srA/s320/orign_gamma_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389547250867556562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuErObh2JI/AAAAAAAAAyM/-Kk6ctVCe68/s1600-h/orign_gamma_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuErObh2JI/AAAAAAAAAyM/-Kk6ctVCe68/s320/orign_gamma_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389547257221732498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG7xM2smI/AAAAAAAAAyU/0OFBr0roP0U/s1600-h/orign_gamma_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG7xM2smI/AAAAAAAAAyU/0OFBr0roP0U/s320/orign_gamma_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389549740456587874" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG8ZpcrYI/AAAAAAAAAyc/VckdnLYDnGc/s1600-h/orign_gamma_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG8ZpcrYI/AAAAAAAAAyc/VckdnLYDnGc/s320/orign_gamma_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389549751313935746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuG8j3x7eI/AAAAAAAAAyk/MhS8g5JJoA8/s1600-h/orign_gamma_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsuG8j3x7eI/AAAAAAAAAyk/MhS8g5JJoA8/s320/orign_gamma_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389549754058403298" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsuG9L6s1_I/AAAAAAAAAys/nvmfX_C-_8A/s1600-h/orign_gamma_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsuG9L6s1_I/AAAAAAAAAys/nvmfX_C-_8A/s320/orign_gamma_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389549764808071154" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG9teHEtI/AAAAAAAAAy0/xi4v_Ufbg4I/s1600-h/orign_gamma_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsuG9teHEtI/AAAAAAAAAy0/xi4v_Ufbg4I/s320/orign_gamma_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389549773814960850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Exponential Noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxr5aWj8SI/AAAAAAAAAy8/4-W8FmQ8SqI/s1600-h/orign_exp.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxr5aWj8SI/AAAAAAAAAy8/4-W8FmQ8SqI/s320/orign_exp.bmp" alt="" id="BLOGGER_PHOTO_ID_5389801488126308642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxr54xwmWI/AAAAAAAAAzE/D3hc5k9obxg/s1600-h/orign_exp_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxr54xwmWI/AAAAAAAAAzE/D3hc5k9obxg/s320/orign_exp_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389801496293448034" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxr6Wf6IuI/AAAAAAAAAzM/c3NAWFoAdX0/s1600-h/orign_exp_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxr6Wf6IuI/AAAAAAAAAzM/c3NAWFoAdX0/s320/orign_exp_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389801504271639266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxr6rxPk4I/AAAAAAAAAzU/w03cOIArhN8/s1600-h/orign_exp_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxr6rxPk4I/AAAAAAAAAzU/w03cOIArhN8/s320/orign_exp_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389801509981492098" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxr7ILZqaI/AAAAAAAAAzc/fcv7NobrUYI/s1600-h/orign_exp_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxr7ILZqaI/AAAAAAAAAzc/fcv7NobrUYI/s320/orign_exp_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389801517607397794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxs4UXbnJI/AAAAAAAAAzk/QTpG9ym4sok/s1600-h/orign_exp_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxs4UXbnJI/AAAAAAAAAzk/QTpG9ym4sok/s320/orign_exp_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389802568851102866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxs41NoW7I/AAAAAAAAAzs/LQwU0UuiotM/s1600-h/orign_exp_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxs41NoW7I/AAAAAAAAAzs/LQwU0UuiotM/s320/orign_exp_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389802577668365234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssxs5R9VggI/AAAAAAAAAz0/ZzqvuNBCT20/s1600-h/orign_exp_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssxs5R9VggI/AAAAAAAAAz0/ZzqvuNBCT20/s320/orign_exp_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389802585384649218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxs50lAnSI/AAAAAAAAAz8/5Ycwt1OonUQ/s1600-h/orign_exp_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxs50lAnSI/AAAAAAAAAz8/5Ycwt1OonUQ/s320/orign_exp_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389802594677857570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxs6TND9yI/AAAAAAAAA0E/fGjCwWnkfNA/s1600-h/orign_exp_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxs6TND9yI/AAAAAAAAA0E/fGjCwWnkfNA/s320/orign_exp_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389802602898913058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Uniform Noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxuAtPh3wI/AAAAAAAAA0M/_7n_HH6IGDM/s1600-h/orign_unif.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxuAtPh3wI/AAAAAAAAA0M/_7n_HH6IGDM/s320/orign_unif.bmp" alt="" id="BLOGGER_PHOTO_ID_5389803812479426306" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuBAqhdoI/AAAAAAAAA0U/Xe3i0rYV0II/s1600-h/orign_unif_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuBAqhdoI/AAAAAAAAA0U/Xe3i0rYV0II/s320/orign_unif_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389803817692919426" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxuBfSpvdI/AAAAAAAAA0c/rIbJpGMsERY/s1600-h/orign_unif_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxuBfSpvdI/AAAAAAAAA0c/rIbJpGMsERY/s320/orign_unif_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389803825914297810" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuB6CCbVI/AAAAAAAAA0k/j1kftXJt3E0/s1600-h/orign_unif_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuB6CCbVI/AAAAAAAAA0k/j1kftXJt3E0/s320/orign_unif_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389803833092369746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuCbikcjI/AAAAAAAAA0s/e-8G3sN4oX4/s1600-h/orign_unif_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxuCbikcjI/AAAAAAAAA0s/e-8G3sN4oX4/s320/orign_unif_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389803842087186994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxvaBFZ16I/AAAAAAAAA00/qElzp_LeJpw/s1600-h/orign_unif_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxvaBFZ16I/AAAAAAAAA00/qElzp_LeJpw/s320/orign_unif_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389805346814023586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxvaZ2mS5I/AAAAAAAAA08/DJ3SjPV-noI/s1600-h/orign_unif_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxvaZ2mS5I/AAAAAAAAA08/DJ3SjPV-noI/s320/orign_unif_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389805353462811538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxvawKKvgI/AAAAAAAAA1E/uIYISi9IJ2w/s1600-h/orign_unif_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxvawKKvgI/AAAAAAAAA1E/uIYISi9IJ2w/s320/orign_unif_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389805359450471938" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxvbB4WVbI/AAAAAAAAA1M/cRFuy_8ohY0/s1600-h/orign_unif_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxvbB4WVbI/AAAAAAAAA1M/cRFuy_8ohY0/s320/orign_unif_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389805364207572402" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxvbjcMdnI/AAAAAAAAA1U/Aw0b9mRhbTc/s1600-h/orign_unif_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxvbjcMdnI/AAAAAAAAA1U/Aw0b9mRhbTc/s320/orign_unif_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389805373216290418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Salt Noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxxJ3Z7UdI/AAAAAAAAA1c/JsHv4BA1L1A/s1600-h/orign_salt.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxxJ3Z7UdI/AAAAAAAAA1c/JsHv4BA1L1A/s320/orign_salt.bmp" alt="" id="BLOGGER_PHOTO_ID_5389807268361097682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxxKcMBEpI/AAAAAAAAA1k/Ikh4B5CIWmc/s1600-h/orign_salt_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsxxKcMBEpI/AAAAAAAAA1k/Ikh4B5CIWmc/s320/orign_salt_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389807278234866322" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxxK6umc8I/AAAAAAAAA1s/QTeRaf5GNBA/s1600-h/orign_salt_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsxxK6umc8I/AAAAAAAAA1s/QTeRaf5GNBA/s320/orign_salt_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389807286432986050" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxxLeIyDaI/AAAAAAAAA10/IsQWXDOYGI4/s1600-h/orign_salt_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxxLeIyDaI/AAAAAAAAA10/IsQWXDOYGI4/s320/orign_salt_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389807295938039202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxxLj-FPqI/AAAAAAAAA18/jl8YAowB6D8/s1600-h/orign_salt_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxxLj-FPqI/AAAAAAAAA18/jl8YAowB6D8/s320/orign_salt_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389807297503772322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxx8QSey-I/AAAAAAAAA2E/H8n9LAfJTew/s1600-h/orign_salt_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxx8QSey-I/AAAAAAAAA2E/H8n9LAfJTew/s320/orign_salt_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389808134034213858" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxx8_ahzWI/AAAAAAAAA2M/1k0I1NpCYOw/s1600-h/orign_salt_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxx8_ahzWI/AAAAAAAAA2M/1k0I1NpCYOw/s320/orign_salt_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389808146684431714" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxx9f82QiI/AAAAAAAAA2U/6y2IoWBvVjU/s1600-h/orign_salt_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxx9f82QiI/AAAAAAAAA2U/6y2IoWBvVjU/s320/orign_salt_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389808155418313250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxx9hBi6yI/AAAAAAAAA2c/x2R_x3H1lb8/s1600-h/orign_salt_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxx9hBi6yI/AAAAAAAAA2c/x2R_x3H1lb8/s320/orign_salt_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389808155706452770" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxx-Mo5KUI/AAAAAAAAA2k/axGN_0LOCuU/s1600-h/orign_salt_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 68px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxx-Mo5KUI/AAAAAAAAA2k/axGN_0LOCuU/s320/orign_salt_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389808167414212930" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Pepper noise&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxy1d-f8rI/AAAAAAAAA2s/W_IgTNBYMPQ/s1600-h/orign_pepper.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxy1d-f8rI/AAAAAAAAA2s/W_IgTNBYMPQ/s320/orign_pepper.bmp" alt="" id="BLOGGER_PHOTO_ID_5389809116961043122" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxy1o0q2CI/AAAAAAAAA20/fs8d0LCUoyw/s1600-h/orign_pepper_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssxy1o0q2CI/AAAAAAAAA20/fs8d0LCUoyw/s320/orign_pepper_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389809119872604194" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxy2LIHQII/AAAAAAAAA28/isuxpnhNBns/s1600-h/orign_pepper_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxy2LIHQII/AAAAAAAAA28/isuxpnhNBns/s320/orign_pepper_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389809129080963202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxy2b9uauI/AAAAAAAAA3E/nACi_G-COvw/s1600-h/orign_pepper_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxy2b9uauI/AAAAAAAAA3E/nACi_G-COvw/s320/orign_pepper_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389809133600795362" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxy226GMHI/AAAAAAAAA3M/TxfbLiF6rug/s1600-h/orign_pepper_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxy226GMHI/AAAAAAAAA3M/TxfbLiF6rug/s320/orign_pepper_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389809140833333362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxzq_pwznI/AAAAAAAAA3U/OtiBN2hfJPk/s1600-h/orign_pepper_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssxzq_pwznI/AAAAAAAAA3U/OtiBN2hfJPk/s320/orign_pepper_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389810036533939826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxzrdrSkTI/AAAAAAAAA3c/LDAREDDZokE/s1600-h/orign_pepper_f_arith_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsxzrdrSkTI/AAAAAAAAA3c/LDAREDDZokE/s320/orign_pepper_f_arith_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389810044593410354" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssxzry_rYjI/AAAAAAAAA3k/aBL3Ygcw_2Y/s1600-h/orign_pepper_f_geo_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssxzry_rYjI/AAAAAAAAA3k/aBL3Ygcw_2Y/s320/orign_pepper_f_geo_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389810050316067378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsxzsY2jWwI/AAAAAAAAA3s/Mms6o6XuRzQ/s1600-h/orign_pepper_f_har_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsxzsY2jWwI/AAAAAAAAA3s/Mms6o6XuRzQ/s320/orign_pepper_f_har_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389810060478339842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxzsrn3dHI/AAAAAAAAA30/An3ww4SBXHU/s1600-h/orign_pepper_f_con_pdf.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssxzsrn3dHI/AAAAAAAAA30/An3ww4SBXHU/s320/orign_pepper_f_con_pdf.bmp" alt="" id="BLOGGER_PHOTO_ID_5389810065517016178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;OTHER images&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I also applied the filtering to other types of images.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsynqlCX8tI/AAAAAAAAA6s/ty31vNfVlgg/s1600-h/people1.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsynqlCX8tI/AAAAAAAAA6s/ty31vNfVlgg/s320/people1.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867203994055378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Gaussian&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn5QxJcII/AAAAAAAAA60/JXW3oSIRtY8/s1600-h/dln_gauss.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn5QxJcII/AAAAAAAAA60/JXW3oSIRtY8/s320/dln_gauss.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867456251129986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn54yThTI/AAAAAAAAA68/SA9-LmgnLL8/s1600-h/dln_gauss_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn54yThTI/AAAAAAAAA68/SA9-LmgnLL8/s320/dln_gauss_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867466993403186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn6CiSGsI/AAAAAAAAA7E/dBZ1IElGF-s/s1600-h/dln_gauss_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyn6CiSGsI/AAAAAAAAA7E/dBZ1IElGF-s/s320/dln_gauss_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867469610556098" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyn6pUl-DI/AAAAAAAAA7M/Rb6-yxLejvk/s1600-h/dln_gauss_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyn6pUl-DI/AAAAAAAAA7M/Rb6-yxLejvk/s320/dln_gauss_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867480022120498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyn7QVKowI/AAAAAAAAA7U/FCz5WQ0E5dM/s1600-h/dln_gauss_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyn7QVKowI/AAAAAAAAA7U/FCz5WQ0E5dM/s320/dln_gauss_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867490493506306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Rayleigh&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsyoTT57kNI/AAAAAAAAA7c/0DrZ-f1LAPk/s1600-h/dln_rayl.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsyoTT57kNI/AAAAAAAAA7c/0DrZ-f1LAPk/s320/dln_rayl.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867903769874642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyoUCZv6lI/AAAAAAAAA7k/feEaa3T1SDU/s1600-h/dln_rayl_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyoUCZv6lI/AAAAAAAAA7k/feEaa3T1SDU/s320/dln_rayl_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867916251359826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsyoUeanUWI/AAAAAAAAA7s/8O7d9JTuqgk/s1600-h/dln_rayl_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SsyoUeanUWI/AAAAAAAAA7s/8O7d9JTuqgk/s320/dln_rayl_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867923771183458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsyoU0cP_UI/AAAAAAAAA70/_HyRWb2vr3U/s1600-h/dln_rayl_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsyoU0cP_UI/AAAAAAAAA70/_HyRWb2vr3U/s320/dln_rayl_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867929683623234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsyoVUlomnI/AAAAAAAAA78/1kvTQ8m4PNQ/s1600-h/dln_rayl_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsyoVUlomnI/AAAAAAAAA78/1kvTQ8m4PNQ/s320/dln_rayl_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389867938312919666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Gamma&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo4q07ZZI/AAAAAAAAA8E/YneG89-sDaw/s1600-h/dln_gamma.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo4q07ZZI/AAAAAAAAA8E/YneG89-sDaw/s320/dln_gamma.bmp" alt="" id="BLOGGER_PHOTO_ID_5389868545578067346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5KbFqyI/AAAAAAAAA8M/zMjF1P08eaw/s1600-h/dln_gamma_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5KbFqyI/AAAAAAAAA8M/zMjF1P08eaw/s320/dln_gamma_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389868554059623202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5alIhoI/AAAAAAAAA8U/_d_S-ECw-jQ/s1600-h/dln_gamma_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5alIhoI/AAAAAAAAA8U/_d_S-ECw-jQ/s320/dln_gamma_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389868558396720770" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5-O8XZI/AAAAAAAAA8c/Dkv7EvbMem0/s1600-h/dln_gamma_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyo5-O8XZI/AAAAAAAAA8c/Dkv7EvbMem0/s320/dln_gamma_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389868567967325586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyo6PFKT5I/AAAAAAAAA8k/X0mvfSkHCqU/s1600-h/dln_gamma_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Ssyo6PFKT5I/AAAAAAAAA8k/X0mvfSkHCqU/s320/dln_gamma_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389868572489699218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Exponential&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsypbxpabTI/AAAAAAAAA8s/PELgyRE2c9I/s1600-h/dln_exp.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsypbxpabTI/AAAAAAAAA8s/PELgyRE2c9I/s320/dln_exp.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869148704238898" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsypcGJOSMI/AAAAAAAAA80/w-Y-qw-f8os/s1600-h/dln_exp_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 69px; height: 69px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsypcGJOSMI/AAAAAAAAA80/w-Y-qw-f8os/s320/dln_exp_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869154206369986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssypcd5qICI/AAAAAAAAA88/5IXBhVPjvn4/s1600-h/dln_exp_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssypcd5qICI/AAAAAAAAA88/5IXBhVPjvn4/s320/dln_exp_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869160583536674" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssypc659VVI/AAAAAAAAA9E/Fl_aPlSNqCE/s1600-h/dln_exp_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssypc659VVI/AAAAAAAAA9E/Fl_aPlSNqCE/s320/dln_exp_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869168369423698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsypddXeYdI/AAAAAAAAA9M/_MNT-jUAV0w/s1600-h/dln_exp_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsypddXeYdI/AAAAAAAAA9M/_MNT-jUAV0w/s320/dln_exp_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869177620029906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uniform&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp693GsUI/AAAAAAAAA9U/E0aOl1VIcB0/s1600-h/dln_unif.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp693GsUI/AAAAAAAAA9U/E0aOl1VIcB0/s320/dln_unif.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869684558836034" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssyp7bm337I/AAAAAAAAA9c/ypZLTWkP7_E/s1600-h/dln_unif_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssyp7bm337I/AAAAAAAAA9c/ypZLTWkP7_E/s320/dln_unif_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869692543819698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyp767M4GI/AAAAAAAAA9k/u7zTrJYlYmo/s1600-h/dln_unif_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyp767M4GI/AAAAAAAAA9k/u7zTrJYlYmo/s320/dln_unif_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869700950581346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp8NXNYhI/AAAAAAAAA9s/Y848KJJfQo4/s1600-h/dln_unif_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp8NXNYhI/AAAAAAAAA9s/Y848KJJfQo4/s320/dln_unif_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869705899893266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp8sjbZtI/AAAAAAAAA90/DYKNdscIqz0/s1600-h/dln_unif_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyp8sjbZtI/AAAAAAAAA90/DYKNdscIqz0/s320/dln_unif_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389869714272642770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Salt&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsyqTSTgI5I/AAAAAAAAA98/Tjanl5S_OdE/s1600-h/dln_salt.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SsyqTSTgI5I/AAAAAAAAA98/Tjanl5S_OdE/s320/dln_salt.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870102363513746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqTnYxi6I/AAAAAAAAA-E/7nMrt-YB5uA/s1600-h/dln_salt_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqTnYxi6I/AAAAAAAAA-E/7nMrt-YB5uA/s320/dln_salt_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870108022770594" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqT6WEXpI/AAAAAAAAA-M/d2tEzEqfv4k/s1600-h/dln_salt_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqT6WEXpI/AAAAAAAAA-M/d2tEzEqfv4k/s320/dln_salt_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870113111694994" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqUQ7GS-I/AAAAAAAAA-U/9hl__-wmOoc/s1600-h/dln_salt_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SsyqUQ7GS-I/AAAAAAAAA-U/9hl__-wmOoc/s320/dln_salt_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870119172590562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsyqUhG0ucI/AAAAAAAAA-c/5gBoufDjPp8/s1600-h/dln_salt_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SsyqUhG0ucI/AAAAAAAAA-c/5gBoufDjPp8/s320/dln_salt_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870123516737986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pepper&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyq3ogVUnI/AAAAAAAAA-k/j-UhOVvK0eU/s1600-h/dln_pepper.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyq3ogVUnI/AAAAAAAAA-k/j-UhOVvK0eU/s320/dln_pepper.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870726798201458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssyq397tBHI/AAAAAAAAA-s/VzWaz4nl7vE/s1600-h/dln_pepper_f_arith.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Ssyq397tBHI/AAAAAAAAA-s/VzWaz4nl7vE/s320/dln_pepper_f_arith.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870732550145138" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyq4f_m6sI/AAAAAAAAA-0/WKaeHCgLHxU/s1600-h/dln_pepper_f_geo.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Ssyq4f_m6sI/AAAAAAAAA-0/WKaeHCgLHxU/s320/dln_pepper_f_geo.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870741693328066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyq46eKM7I/AAAAAAAAA-8/1mJ_fYo9a8Y/s1600-h/dln_pepper_f_har.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyq46eKM7I/AAAAAAAAA-8/1mJ_fYo9a8Y/s320/dln_pepper_f_har.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870748800791474" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyq5B1lAEI/AAAAAAAAA_E/EdRa4Ka2Rjo/s1600-h/dln_pepper_f_con.bmp"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Ssyq5B1lAEI/AAAAAAAAA_E/EdRa4Ka2Rjo/s320/dln_pepper_f_con.bmp" alt="" id="BLOGGER_PHOTO_ID_5389870750778064962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I give myself 10 pts for finishing and understanding the activity. :)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;References&lt;/span&gt;&lt;br /&gt;M. Soriano. A18 – Noise models and basic image restoration.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Scilab Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act18')&lt;br /&gt;&lt;br /&gt;function [mat] = res(arr);&lt;br /&gt;  mat = matrix(arr,1,-1);&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;function [hist] = pdf(arr);&lt;br /&gt;  mx = max(arr);&lt;br /&gt;  hist = [];&lt;br /&gt;  for i = 1:mx&lt;br /&gt;    f = find(arr == i);&lt;br /&gt;    hist(i) = length(f);&lt;br /&gt;  end&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// constant pattern of three levels of grayscale increment&lt;br /&gt;//sz = 127;&lt;br /&gt;//x = -127:127;&lt;br /&gt;//[X,Y] = meshgrid(x);&lt;br /&gt;//s1 = (X-32)*Y;&lt;br /&gt;//s2 = (X+32)*Y;&lt;br /&gt;//szx = size(X,1); szy = size(Y,1); sz = szx*szy;&lt;br /&gt;//s = zeros(szx, szy) + 1;&lt;br /&gt;//w = 100; s(127 - w:127+w,127-w:127+w) = 128;&lt;br /&gt;//w = 50; s(127 - w:127+w,127-w:127+w) = 256;&lt;br /&gt;//scf(), imshow(s, [])&lt;br /&gt;&lt;br /&gt;//&lt;br /&gt;//s = gray_imread('pattern.bmp')*255 + 1;&lt;br /&gt;s = gray_imread('people1.bmp')*255 + 1;&lt;br /&gt;//s = gray_imread('wiki1.bmp')*255 + 1;&lt;br /&gt;&lt;br /&gt;szx = size(s,1); szy = size(s,1); sz = szx*szy;&lt;br /&gt;&lt;br /&gt;// noise&lt;br /&gt;&lt;br /&gt;//Y = grand(szx, szy, 'nor', 0.1, 0.1)*255 + 1; // gauss&lt;br /&gt;//Y = grand(szx, szy, 'gam', 20, 100)*255 + 1; // gamma&lt;br /&gt;//Y = grand(szx, szy, 'exp', 0.1)*255 + 1; // exponential&lt;br /&gt;//Y = matrix(genrayl(0.05,sz), szx, szy)*255 + 1; // rayleigh&lt;br /&gt;//Y = grand(szx, szy, 'unf', 0, 0.1)*255 + 1;&lt;br /&gt;&lt;br /&gt;//&lt;br /&gt;if min(Y) &lt; 0&lt;br /&gt;  Y = abs(min(Y)) + Y + 1;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;S = s + Y;&lt;br /&gt;S = round((S/max(S)) * 256);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// salt and pepper&lt;br /&gt;d = 0.009;&lt;br /&gt;//S = round(imnoise(s, 'salt &amp;amp; pepper', d));&lt;br /&gt;&lt;br /&gt;// salt only&lt;br /&gt;solt = s;&lt;br /&gt;sz = size(s,1)*size(s,2);&lt;br /&gt;bits = round(d*sz);&lt;br /&gt;solt(round(rand(bits,1)*(sz-1)+1)) = 256;&lt;br /&gt;//S = round(solt);&lt;br /&gt;&lt;br /&gt;// pepper only&lt;br /&gt;peper = s;&lt;br /&gt;peper(round(rand(bits,1)*(sz-1)+1)) = 1;&lt;br /&gt;S = round(peper);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// histogram&lt;br /&gt;//scf(), plot(pdf(s))&lt;br /&gt;//scf(), plot(pdf(S))&lt;br /&gt;scf(), imshow(S, [])&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// arithmetic mean filtering&lt;br /&gt;filtered_ari = zeros(szx,szy);&lt;br /&gt;filtered_geo = zeros(szx,szy);&lt;br /&gt;filtered_har = zeros(szx,szy);&lt;br /&gt;filtered_con = zeros(szx,szy);&lt;br /&gt;Q = 1;&lt;br /&gt;win = 3;&lt;br /&gt;&lt;br /&gt;for i = 1:szx&lt;br /&gt;  for j = 1:szy&lt;br /&gt;    iwm = i - win;&lt;br /&gt;    iwp = i + win;&lt;br /&gt;    jwm = j - win;&lt;br /&gt;    jwp = j + win;&lt;br /&gt;    sxy = 0;&lt;br /&gt;    su = 0;&lt;br /&gt;    pr = 0;&lt;br /&gt;    hr = 0;&lt;br /&gt;    cr = 0;&lt;br /&gt;    fac = 1E-9;&lt;br /&gt;    //[i j]&lt;br /&gt;    if iwm &lt;= 0 &amp;amp; jwm &lt;= 0 // upper left corner&lt;br /&gt;      sxy = cat(2, res(S(1:i, 1:j)), res(S(i:iwp, 1:j)), res(S(1:i, j:jwp)), res(S(i:iwp,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;      //su = mean( mean(S(1:i, 1:j)) + mean(S(i:iwp, 1:j)) + mean(S(1:i, j:jwp)) + mean(S(i:iwp,j:jwp)) );&lt;br /&gt;    &lt;br /&gt;    elseif iwm &gt; 0 &amp;amp; iwp &lt;= szx &amp;amp; jwm &lt;= 0 // left column&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,1:j)) , res(S(i:iwp,1:j)) , res(S(iwm:i,j:jwp)) , res(S(i:iwp,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;     &lt;br /&gt;    elseif iwm &gt; 0 &amp;amp; iwp &lt;= szx &amp;amp; jwp &gt;= szx // right column&lt;br /&gt;      jj = abs(j-szx);&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,jwm:j)) , res(S(i:iwp,j:j+jj)) , res(S(iwm:i,jwm:j)) , res(S(i:iwp,j:j+jj))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;     &lt;br /&gt;    elseif iwp &gt; szy &amp;amp; jwm &lt;= 0 // lower left corner&lt;br /&gt;      ii = abs(i-szy);&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,1:j)), res(S(i:i+ii,1:j)) , res(S(iwm:i,j:jwp)) , res(S(i:i+ii,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;     &lt;br /&gt;    elseif jwm &gt; 0 &amp;amp; jwp &lt;= szy &amp;amp; iwm &lt;=0 // upper row&lt;br /&gt;      sxy = cat(2, res(S(1:i,jwm:j)) , res(S(i:iwp,jwm:j)) , res(S(1:i,j:jwp)) , res(S(i:iwp,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;&lt;br /&gt;    elseif jwm &gt; 0 &amp;amp; jwp &lt;= szy &amp;amp; iwp &gt;= szy // bottom row&lt;br /&gt;      ii = abs(i-szy);&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,jwm:j)) , res(S(i:i+ii,jwm:j)) , res(S(iwm:i,j:jwp)) , res(S(i:i+ii,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;   &lt;br /&gt;    elseif iwm &lt;= 0 &amp;amp; jwp &gt; szx // upper right corner&lt;br /&gt;      jj = abs(j-szx);&lt;br /&gt;      sxy = cat(2, res(S(1:i,jwm:j)) , res(S(i:iwp,j:j+jj)) , res(S(1:i,jwm:j)) , res(S(i:iwp,j:j+jj))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    elseif iwp &gt; szy &amp;amp; jwp &gt; szx // lower right corner&lt;br /&gt;      ii = abs(i-szy);&lt;br /&gt;      jj = abs(j-szx);&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,jwm:j)) , res(S(i:i+ii,jwm:j)) , res(S(iwm:i,jwm:j+jj)) , res(S(i:i+ii,j:j+jj))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt; &lt;br /&gt;    elseif i &gt; win &amp;amp; i &lt;&gt; win &amp;amp; j &lt; szx-win // no problem region&lt;br /&gt;      sxy = cat(2, res(S(iwm:i,jwm:j)) , res(S(i:iwp,jwm:j)) , res(S(iwm:i,j:jwp)) , res(S(i:iwp,j:jwp))) + fac;&lt;br /&gt;      su = mean( sxy );&lt;br /&gt;      pr = max(cumprod(sxy))^(1/size(sxy,2));&lt;br /&gt;      hr = size(sxy,2) / sum(sxy.^(-1));&lt;br /&gt;      cr = sum(sxy).^(Q+1) ./ sum(sxy).^(Q);&lt;br /&gt;     &lt;br /&gt;    end   &lt;br /&gt;    filtered_ari(i,j) = su;&lt;br /&gt;    filtered_geo(i,j) = pr;&lt;br /&gt;    filtered_har(i,j) = hr;&lt;br /&gt;    filtered_con(i,j) = cr;&lt;br /&gt;  end &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;//scf(), imshow(s, [])&lt;br /&gt;//scf(), imshow(S, [])&lt;br /&gt;scf(), imshow(filtered_ari, [])&lt;br /&gt;scf(), imshow(real(filtered_geo), [])&lt;br /&gt;scf(), imshow(real(filtered_har), [])&lt;br /&gt;scf(), imshow(real(filtered_con), [])&lt;br /&gt;&lt;br /&gt;//scf(), plot(pdf(round(filtered_ari)))&lt;br /&gt;//scf(), plot(pdf(round(filtered_geo)))&lt;br /&gt;//scf(), plot(pdf(round(filtered_har)))&lt;br /&gt;//scf(), plot(pdf(round(filtered_con)))&lt;br /&gt;// &lt;br /&gt;   &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-8963620016219982849?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/8963620016219982849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/10/activity-18-noise-models-and-basic.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/8963620016219982849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/8963620016219982849'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/10/activity-18-noise-models-and-basic.html' title='Activity 18 - Noise Models and basic Image Restoration'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4pFyP-OoZOE/SstpV1lw2PI/AAAAAAAAAtU/LcrS76G15io/s72-c/n_gaussian.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-6474863751472398658</id><published>2009-09-13T09:19:00.000-07:00</published><updated>2009-09-13T10:44:47.712-07:00</updated><title type='text'>Activity 17 - Photometric Stereo</title><content type='html'>&lt;span style="font-size:100%;"&gt;Photometric stereo is a technique for 3D modeling which estimates the su&lt;/span&gt;&lt;span style="font-size:100%;"&gt;rface contour with the cues given by the shadows of the object, taken at o&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ne&lt;/span&gt;&lt;span style="font-size:100%;"&gt; viewpoint under different illumination directions. Technically, method computes for the surface normals of the object and from there develops the height variations of &lt;/span&gt;&lt;span style="font-size:100%;"&gt;the object.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;In this activity, synthetic photometric stereo images are used as shown below.&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0lLv3iGaI/AAAAAAAAArc/HafJ3ukJQ8M/s1600-h/i4.bmp"&gt;&lt;img style="cursor: pointer; width: 90px; height: 90px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0lLv3iGaI/AAAAAAAAArc/HafJ3ukJQ8M/s320/i4.bmp" alt="" id="BLOGGER_PHOTO_ID_5380998013535787426" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0lLFnNIFI/AAAAAAAAArU/4SImosGNrL4/s1600-h/i3.bmp"&gt;&lt;img style="cursor: pointer; width: 90px; height: 90px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0lLFnNIFI/AAAAAAAAArU/4SImosGNrL4/s320/i3.bmp" alt="" id="BLOGGER_PHOTO_ID_5380998002193014866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0lK_M6INI/AAAAAAAAArM/IdYjQrNV_I8/s1600-h/i2.bmp"&gt;&lt;img style="cursor: pointer; width: 90px; height: 90px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0lK_M6INI/AAAAAAAAArM/IdYjQrNV_I8/s320/i2.bmp" alt="" id="BLOGGER_PHOTO_ID_5380998000472105170" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0lKWvW-eI/AAAAAAAAArE/dzU1XBk9WtQ/s1600-h/i1.bmp"&gt;&lt;img style="cursor: pointer; width: 90px; height: 90px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0lKWvW-eI/AAAAAAAAArE/dzU1XBk9WtQ/s320/i1.bmp" alt="" id="BLOGGER_PHOTO_ID_5380997989610748386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Using these images, we can calculate for the surface information as encoded in the shadings defined by some matrix:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0neMRvR1I/AAAAAAAAArs/z8WKogS8gm0/s1600-h/V.bmp"&gt;&lt;img style="cursor: pointer; width: 100px; height: 68px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0neMRvR1I/AAAAAAAAArs/z8WKogS8gm0/s320/V.bmp" alt="" id="BLOGGER_PHOTO_ID_5381000529422796626" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;with each column corresponding to x,y,z component of the source. Having multiple images allow us to compute for g given by:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0oDBO90SI/AAAAAAAAAr0/6tnt5xeFpQk/s1600-h/IV.bmp"&gt;&lt;img style="cursor: pointer; width: 222px; height: 70px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0oDBO90SI/AAAAAAAAAr0/6tnt5xeFpQk/s320/IV.bmp" alt="" id="BLOGGER_PHOTO_ID_5381001162113536290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0oDhdGa4I/AAAAAAAAAr8/aGeJDrOZsuc/s1600-h/g.bmp"&gt;&lt;img style="cursor: pointer; width: 148px; height: 36px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0oDhdGa4I/AAAAAAAAAr8/aGeJDrOZsuc/s320/g.bmp" alt="" id="BLOGGER_PHOTO_ID_5381001170762754946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;After that, we take the normal vector by dividing g by its length and relating the surface normal to height variations give us:&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq0o8aAVITI/AAAAAAAAAsE/hf8lcAL5guk/s1600-h/pd.bmp"&gt;&lt;img style="cursor: pointer; width: 155px; height: 39px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq0o8aAVITI/AAAAAAAAAsE/hf8lcAL5guk/s320/pd.bmp" alt="" id="BLOGGER_PHOTO_ID_5381002148015579442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0o8my263I/AAAAAAAAAsM/7PTD2S7nKfo/s1600-h/int.bmp"&gt;&lt;img style="cursor: pointer; width: 247px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0o8my263I/AAAAAAAAAsM/7PTD2S7nKfo/s320/int.bmp" alt="" id="BLOGGER_PHOTO_ID_5381002151448734578" border="0" /&gt;&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;The V's are given as:&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;Doing all the rigorous mathematical derivations and implementing algorithm gives us a 3D reconstruction of the synthetic object.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0vb8N-CeI/AAAAAAAAAsU/48y60h8DeWg/s1600-h/recon.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 170px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0vb8N-CeI/AAAAAAAAAsU/48y60h8DeWg/s320/recon.bmp" alt="" id="BLOGGER_PHOTO_ID_5381009286845303266" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Note that the reconstruction is not a perfectly hemispherical surface. This is maybe due to the black and white boundary between quadrants of the hemisphere.&lt;br /&gt;&lt;br /&gt;I give myself 10 pts for understanding and doing the activity correctly.&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Reference&lt;/span&gt;&lt;br /&gt;A17 - Photometric Stereo handout. M. Soriano, 2008&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Code&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act17');&lt;br /&gt;&lt;br /&gt;loadmatfile('Photos.mat')&lt;br /&gt;//who // list of variables&lt;br /&gt;//scf(), imshow(I1, [])&lt;br /&gt;//scf(), imshow(I2, [])&lt;br /&gt;//scf(), imshow(I3, [])&lt;br /&gt;//scf(), imshow(I4, [])&lt;br /&gt;&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;V = [V1;V2;V3;V4];&lt;br /&gt;&lt;br /&gt;I = [I1(:)'; I2(:)'; I3(:)'; I4(:)'];&lt;br /&gt;&lt;br /&gt;g = inv(V'*V)*V'*I;&lt;br /&gt;lg = sqrt(g(1,:).^2 + g(2,:).^2 + g(3,:).^2);&lt;br /&gt;for i = 1:size(g, 1), n(i,:) = g(i,:)./(lg + 1E-9), end&lt;br /&gt;&lt;br /&gt;dx = -n(1,:) ./ (n(3,:) + 1E-9);&lt;br /&gt;dy = -n(2,:) ./ (n(3,:) + 1E-9);&lt;br /&gt;sx = size(I1,1); sy = size(I1,2);&lt;br /&gt;&lt;br /&gt;z = cumsum(matrix(dx,sx,sy),2) + cumsum(matrix(dy,sx,sy),1);&lt;br /&gt;&lt;br /&gt;scf(), plot3d(1:sx,1:sy,z)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-6474863751472398658?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/6474863751472398658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-17-photometric-stereo.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/6474863751472398658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/6474863751472398658'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-17-photometric-stereo.html' title='Activity 17 - Photometric Stereo'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0lLv3iGaI/AAAAAAAAArc/HafJ3ukJQ8M/s72-c/i4.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-2675334909088566149</id><published>2009-09-13T06:25:00.000-07:00</published><updated>2009-09-13T10:37:20.934-07:00</updated><title type='text'>Activity 16 - Artificial Neural Network (ANN)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Artificial Neural Network employs the ability of the brain to learn and classify objects that is fed on to the system. The idea is that the algorithm learns by itself from the examples or training sets that are given to it. Once the network learns from the examples, it can easily identify classes that are presented to it with higher processing speed.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sqz3sB4R2dI/AAAAAAAAAo8/Rco5rEzmQ3E/s1600-h/nn.jpg"&gt;&lt;img style="cursor: pointer; width: 193px; height: 146px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sqz3sB4R2dI/AAAAAAAAAo8/Rco5rEzmQ3E/s320/nn.jpg" alt="" id="BLOGGER_PHOTO_ID_5380947990591691218" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The input layer is where the features are fed and the hidden layer process these features by having interconnected neurons after the preceding input layer. Then the output layer integrates the learning process and gives the learned classification.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Detailed explanation and examples are presented to &lt;a href="http://cole-ap186.blogspot.com/2008/09/activity-20-neural-networks.html"&gt;Cole's Blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;In my previous activities, I classified the 25c and P1 coins using Minimum Distance Classification and Linear Discriminant Analysis and found out that LDA presents better classification accuracy compared to MDC. In this activity, I'll try to compare ANN classification with the previous algorithm.&lt;br /&gt;&lt;br /&gt;Again, the rg values of my samples are the features used to classify the classes. Here are some sample images of my objects:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sqz8MaYvzVI/AAAAAAAAApU/X12I9AYJSvA/s1600-h/piso_t5.jpg"&gt;&lt;img style="cursor: pointer; width: 102px; height: 100px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sqz8MaYvzVI/AAAAAAAAApU/X12I9AYJSvA/s320/piso_t5.jpg" alt="" id="BLOGGER_PHOTO_ID_5380952944972647762" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sqz8MjnEGXI/AAAAAAAAApc/1gUE4cDHLw8/s1600-h/ben_t5.jpg"&gt;&lt;img style="cursor: pointer; width: 117px; height: 100px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sqz8MjnEGXI/AAAAAAAAApc/1gUE4cDHLw8/s320/ben_t5.jpg" alt="" id="BLOGGER_PHOTO_ID_5380952947448617330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;To analyze the results, I preferred to present them visually. Here are the results of my ANN:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0EU4OeFII/AAAAAAAAAqE/hZV0A9ll3i4/s1600-h/set1.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 64px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0EU4OeFII/AAAAAAAAAqE/hZV0A9ll3i4/s320/set1.bmp" alt="" id="BLOGGER_PHOTO_ID_5380961886514582658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq0EVxR_JaI/AAAAAAAAAqU/0abghGK0Ax8/s1600-h/set11.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 64px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq0EVxR_JaI/AAAAAAAAAqU/0abghGK0Ax8/s320/set11.bmp" alt="" id="BLOGGER_PHOTO_ID_5380961901830153634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq0EVxR_JaI/AAAAAAAAAqU/0abghGK0Ax8/s1600-h/set11.bmp"&gt; &lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Black = 0 and white = 1. The left image is the input training class. Black means that it is of class P1 coin and white of class 25c coin. The black boundary is meant for visualizing the white part. The right image is the output classification. Grayscaling is observed since the output is not an integer. The outputs are close to 0 and 1. This set presents an arranged training classes for the algorithm to learn. That is, ANN learns the P1 coin features first an next are the 25c coin features. This training style exhibits &lt;span style="font-weight: bold;"&gt;100%&lt;/span&gt; classification accuracy. Next is we determine if the arrangement of training classes affect the accuracy of the ANN.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0EVcmSFII/AAAAAAAAAqM/vFPaFDVQN5Q/s1600-h/set2.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 64px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq0EVcmSFII/AAAAAAAAAqM/vFPaFDVQN5Q/s320/set2.bmp" alt="" id="BLOGGER_PHOTO_ID_5380961896278135938" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0EWIdk2qI/AAAAAAAAAqc/Hph8thxyiw4/s1600-h/set21.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 64px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq0EWIdk2qI/AAAAAAAAAqc/Hph8thxyiw4/s320/set21.bmp" alt="" id="BLOGGER_PHOTO_ID_5380961908052777634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The left image is the input training style and the output is at the right. This presents that even if we scramble the training class style, a &lt;span style="font-weight: bold;"&gt;100% &lt;/span&gt;accuracy classification is still obtained. &lt;span style="font-weight: bold;"&gt;Thus, ANN presents a more flexible way of classification compared to LDA and MDC. Also, no stricter assumptions are carried into the algorithm unlike LDA which assumes that objects are linearly separable. Also, this algorithm trains and learns itself an accurate way of classification.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I give myself 10 pts for understanding and doing the activity correctly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Reference:&lt;br /&gt;A16 - Neural Networks handout. M. Soriano, 2008.&lt;br /&gt;&lt;br /&gt;Acknowledgement:&lt;br /&gt;I acknowledge M. Sison for the gift I received from him in debugging the problem for ANN toolbox. ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act14\' + 'data');&lt;br /&gt;&lt;br /&gt;x1 = fscanfMat('piso_t.txt');&lt;br /&gt;x2 = fscanfMat('ben_t.txt');&lt;br /&gt;fname = 'piso';&lt;br /&gt;tst1 = fscanfMat(fname + '_t.txt');&lt;br /&gt;fname = 'ben';&lt;br /&gt;tst2 = fscanfMat(fname + '_t.txt');&lt;br /&gt;&lt;br /&gt;rand('seed',0);&lt;br /&gt;N = [2,2,1];&lt;br /&gt;&lt;br /&gt;//x = cat(1, x1(:,1:2), x2(:,1:2))';&lt;br /&gt;&lt;br /&gt;//set 1&lt;br /&gt;x = cat(1, tst1(:,1:2), tst2(:,1:2))';&lt;br /&gt;t = [0 0 0 0 0 1 1 1 1 1];&lt;br /&gt;&lt;br /&gt;//set 2&lt;br /&gt;x=cat(1,tst1(1:2,1:2),tst2(1:2,1:2),tst1(3:4,1:2),tst2(3:4,1:2),tst1(5,1:2),tst2(5,1:2))';&lt;br /&gt;t = [0 0 1 1 0 0 1 1 0 1];&lt;br /&gt;&lt;br /&gt;lp = [4, 0];&lt;br /&gt;W = ann_FF_init(N);&lt;br /&gt;T = 1000;&lt;br /&gt;W = ann_FF_Std_online(x,t,N,W,lp,T);&lt;br /&gt;&lt;br /&gt;//results&lt;br /&gt;c = ann_FF_run(x,N,W)';&lt;br /&gt;t = mtlb_repmat(t', [1,50]);  //input&lt;br /&gt;c = mtlb_repmat(c, [1 50]);   //output&lt;br /&gt;//boundary&lt;br /&gt;c(:,1:2) = 0; c(:,49:50) = 0; t(:,1:2) = 0; t(:,49:50) = 0;&lt;br /&gt;scf(), imshow(t, [])&lt;br /&gt;scf(), imshow(c, [])&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-2675334909088566149?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/2675334909088566149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-16-artificial-neural-network.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/2675334909088566149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/2675334909088566149'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-16-artificial-neural-network.html' title='Activity 16 - Artificial Neural Network (ANN)'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/Sqz3sB4R2dI/AAAAAAAAAo8/Rco5rEzmQ3E/s72-c/nn.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-5213002223296600826</id><published>2009-09-12T08:10:00.001-07:00</published><updated>2009-09-13T10:46:18.615-07:00</updated><title type='text'>Activity 15 - Probabilistic Classification (Linear Discriminant Analysis)</title><content type='html'>LDA 2-feature&lt;br /&gt;This is another type of classification in which the probability of class belonging is calculated and is determined through early observations of trained data sets. The assumption in this technique is that the classes are linearly separable through linear combinations of features that best distinguish the classes. In this activity, two features are used to separate the P1 and 25c coins in the previous activity. The features used are the &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;r&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;"&gt;g&lt;/span&gt; values, similar to Activity 14.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;For more detailed explanation of LDA visit this &lt;/span&gt;&lt;a style="font-style: italic; color: rgb(0, 0, 153);" href="http://people.revoledu.com/kardi/tutorial/LDA/Numerical%20Example.html"&gt;site&lt;/a&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SqvYX91laqI/AAAAAAAAAos/MeGzjC90tqU/s1600-h/orig.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 176px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SqvYX91laqI/AAAAAAAAAos/MeGzjC90tqU/s320/orig.bmp" alt="" id="BLOGGER_PHOTO_ID_5380632086072093346" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Shown above is the original plot of the features in &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;r&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;"&gt;g&lt;/span&gt; space. We can see that the data is linearly separable but we need to find the line to separate them and rotate them to see clearly the separability of the samples.&lt;br /&gt;&lt;br /&gt;Applying the LDA algorithm, we obtained the following result:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SqvZjJkC-vI/AAAAAAAAAo0/P1J7BgMQGaY/s1600-h/LDA2_25cP1.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 176px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SqvZjJkC-vI/AAAAAAAAAo0/P1J7BgMQGaY/s320/LDA2_25cP1.bmp" alt="" id="BLOGGER_PHOTO_ID_5380633377709947634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;As seen, the LDA separates the P1 and 25c coins very closely. The algorithm obtained &lt;span style="font-weight: bold;"&gt;100%&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;10/10 &lt;/span&gt;classification based on the two features.&lt;br /&gt;&lt;br /&gt;This makes me conclude that LDA is better than Minimum distance classification since it has higher classification accuracy.&lt;br /&gt;&lt;br /&gt;I give myself 10 pts for understanding and doing the activity correctly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Reference:&lt;br /&gt;A15 - Probabilistic Classification handout. M. Soriano. 2008.&lt;br /&gt;&lt;br /&gt;Acknowledgement&lt;br /&gt;I acknowledge Jaya for the help in understanding LDA algorithm. ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LDA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act14\' + 'data');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;fname = 'ben';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x1 = fscanfMat('piso_t.txt');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x2 = fscanfMat('ben_t.txt');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tst = fscanfMat(fname + '_s.txt');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = [cat(1,x1(:,1),x2(:,1)) cat(1,x1(:,2),x2(:,2)) cat(1,x1(:,5),x2(:,5))];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;u1 = mean([x1(:,1) x1(:,2) x1(:,5)], 'r');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;u2 = mean([x2(:,1) x2(:,2) x2(:,5)], 'r');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;u = [mean(x(:,1)) mean(x(:,2)) mean(x(:,3))];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x1c = [x1(:,1) - u(1) x1(:,2) - u(2) x1(:,5) - u(3)];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x2c = [x2(:,1) - u(1) x2(:,2) - u(2) x2(:,5) - u(3)];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;n1 = size(x1c,1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;n2 = size(x2c,1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;n = size(x,1);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c1 = (x1c'*x1c) / n1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c2 = (x2c'*x2c) / n2;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;C = [(n1/n)*c1(1)+(n2/n)*c2(1) (n1/n)*c1(2)+(n2/n)*c2(2) (n1/n)*c1(3)+(n2/n)*c2(3);...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     (n1/n)*c1(4)+(n2/n)*c2(4) (n1/n)*c1(5)+(n2/n)*c2(5) (n1/n)*c1(6)+(n2/n)*c2(6);...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     (n1/n)*c1(7)+(n2/n)*c2(7) (n1/n)*c1(8)+(n2/n)*c2(8) (n1/n)*c1(9)+(n2/n)*c2(9)];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;h = [];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;hp = [];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for tst_num = 1:size(tst, 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  xk = cat(2, tst(tst_num,1:2), tst(tst_num,5));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  f1 = u1*inv(C)*xk' - 0.5*u1*inv(C)*u1' + log(n1/n);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  f2 = u2*inv(C)*xk' - 0.5*u2*inv(C)*u2' + log(n2/n);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hp = cat(1, hp, [f1 f2]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  h = cat(1, h, [1*(f1&gt;f2) 1*(f1&lt;f2)]);&gt;&lt;/f2)]);&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act15');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;fprintfMat(fname + '_res3' + '.txt', hp, '%0.5f');&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PLOTTING&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act14\data');&lt;br /&gt;ben_t = fscanfMat('ben_t.txt');&lt;br /&gt;piso_t = fscanfMat('piso_t.txt');&lt;br /&gt;scf(), plot(ben_t(:,1), ben_t(:,2), 'sb', 'markerface', 'b')&lt;br /&gt;plot(piso_t(:,1), piso_t(:,2), 'sg', 'markerface', 'g')&lt;br /&gt;xlabel(' r')&lt;br /&gt;ylabel(' g')&lt;br /&gt;legend('25c', 'P1',2)&lt;br /&gt;&lt;br /&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act15');&lt;br /&gt;ben_res2 = fscanfMat('ben_res2.txt');&lt;br /&gt;ben_res3 = fscanfMat('ben_res3.txt');&lt;br /&gt;ben_tres2 = fscanfMat('ben_tres2.txt');&lt;br /&gt;&lt;br /&gt;piso_res2 = fscanfMat('piso_res2.txt');&lt;br /&gt;piso_res3 = fscanfMat('piso_res3.txt');&lt;br /&gt;piso_tres2 = fscanfMat('piso_tres2.txt');&lt;br /&gt;&lt;br /&gt;x = 200:0.001:300;&lt;br /&gt;scf(), plot(ben_tres2(:,1), ben_tres2(:,2), 'ob', 'markerface', 'b')&lt;br /&gt;plot(ben_res2(:,1), ben_res2(:,2), 'sy', 'markerface', 'y')&lt;br /&gt;plot(piso_tres2(:,1), piso_tres2(:,2), 'og', 'markerface', 'g')&lt;br /&gt;plot(piso_res2(:,1), piso_res2(:,2), 'sm', 'markerface', 'm')&lt;br /&gt;plot(x,x,'-r')&lt;br /&gt;&lt;br /&gt;legend('train 25c', 'sample 25c','train P1', 'sample P1', 2)&lt;br /&gt;xlabel('f1')&lt;br /&gt;ylabel('f2')&lt;br /&gt;//mtlb_axis([100 400 100 400])&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-5213002223296600826?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/5213002223296600826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-15-probabilistic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/5213002223296600826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/5213002223296600826'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-15-probabilistic.html' title='Activity 15 - Probabilistic Classification (Linear Discriminant Analysis)'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/SqvYX91laqI/AAAAAAAAAos/MeGzjC90tqU/s72-c/orig.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-3325463215272731107</id><published>2009-09-09T09:27:00.000-07:00</published><updated>2009-09-13T10:39:32.362-07:00</updated><title type='text'>Activity 14 - Pattern Recognition</title><content type='html'>&lt;div style="text-align: justify;"&gt;In this activity, we are to classify a set of images into its corresponding classes. A class is a type of an object or group of objects (eg. P1 coin, 25 c coin, flower, etc.). To recognize a sample object with unknown class, we need to do pattern recognition. Minimum distance classification is used in this activity to classify the objects. Basically, a training set of objects is fed into the algorithm and patterns are extracted from these training set. To specify the patterns, features are selected. These features are the patterns used to determine whether a sample object belongs to a kind of class using minimum distance classification.&lt;br /&gt;&lt;br /&gt;Three features are used: normalized &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r&lt;/span&gt;,&lt;span style="color: rgb(0, 0, 153);"&gt; &lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;g&lt;/span&gt;&lt;/span&gt; and &lt;span style="color: rgb(102, 0, 0); font-weight: bold;"&gt;per^2 / area&lt;/span&gt; to identify the class belonging of a certain object. If the distance of an object's feature vector from the mean of a certain class feature space is at minimum, then that object belongs to that class. This is governed by the Euclidean distance:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sqfde9MRtwI/AAAAAAAAAoE/pbDzP72vPSU/s1600-h/euc_dist.jpg"&gt;&lt;img style="cursor: pointer; width: 317px; height: 50px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sqfde9MRtwI/AAAAAAAAAoE/pbDzP72vPSU/s320/euc_dist.jpg" alt="" id="BLOGGER_PHOTO_ID_5379511803809216258" border="0" /&gt;&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Equating &lt;span style="font-style: italic;"&gt;Dj = y&lt;/span&gt;, we shall compute the distance using the equation below. The distance to which  the class is minimum, that sample object belongs to that class.&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SqfdfcLOBZI/AAAAAAAAAoM/IiVPiEd0rGM/s1600-h/euc_dist1.jpg"&gt;&lt;img style="cursor: pointer; width: 142px; height: 38px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SqfdfcLOBZI/AAAAAAAAAoM/IiVPiEd0rGM/s320/euc_dist1.jpg" alt="" id="BLOGGER_PHOTO_ID_5379511812126279058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;Basically, the closeness of a sample feature vector to the mean of a certain class feature vector is determined by obtaining the minimum distance. To apply this, the original image taken is presented to the left. Then, white balancing is applied to the image (right).&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SqfZFmMhflI/AAAAAAAAAn0/fuzfzAoK2z4/s1600-h/all.jpg"&gt;&lt;img style="cursor: pointer; width: 160px; height: 120px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SqfZFmMhflI/AAAAAAAAAn0/fuzfzAoK2z4/s320/all.jpg" alt="" id="BLOGGER_PHOTO_ID_5379506970092994130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SqfZGLQVqxI/AAAAAAAAAn8/q_P-rj8sCKA/s1600-h/all_wb.jpg"&gt;&lt;img style="cursor: pointer; width: 160px; height: 120px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SqfZGLQVqxI/AAAAAAAAAn8/q_P-rj8sCKA/s320/all_wb.jpg" alt="" id="BLOGGER_PHOTO_ID_5379506980041108242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The objects are named as piso, ben, leafe, leafs and santan with 5 classes in total. Half of the set of classes are used as training and half are used as samples. Again, the features&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt; r&lt;/span&gt; and &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;g&lt;/span&gt; are obtained by taking a part of the object and the normalized red and green computed (A12). Then, thresholding is  used to segment the ROI and determine the perimeter using follow of scilab and the total number of pixels are calculated. The area is calculated using the morphological operations (A9). I tried to use only as third feature the area or perimeter, but there has been no consistency in the results and the feature is shape and size invariant, that's why I choose to use the ratio of&lt;span style="color: rgb(102, 0, 0);"&gt; &lt;span style="font-weight: bold;"&gt;per^2 / area&lt;/span&gt;&lt;/span&gt; since it is a dimensionless unit.&lt;br /&gt;&lt;br /&gt;I also tried to use the eccentricity of the region to as feature since it is invariant in the capture angle of images but I've got a problem to non-regular polygons because I don't know where to obtain the major and minor axes. That's why I opt to use other features such as perimeter and area ratio.&lt;br /&gt;&lt;br /&gt;Shown below is the plot of the results in &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r&lt;span style="color: rgb(51, 204, 0);"&gt;g&lt;/span&gt; &lt;/span&gt; axes (left). It can be observed that the graph follows that of the &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r&lt;span style="color: rgb(51, 204, 0);"&gt;g&lt;/span&gt;&lt;/span&gt; Normalized chromaticity space as shown to its right. The 3D graph of the distribution of mean of training and samples feature vectors in the [&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r &lt;span style="color: rgb(51, 204, 0);"&gt;g&lt;/span&gt; &lt;span style="color: rgb(102, 0, 0);"&gt;per^2/area&lt;/span&gt;&lt;/span&gt;] coordinate system is presented right below of the two plots. It is interesting to note that the P1 and 25c coins have almost equal ratio of &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;per^2/area&lt;/span&gt;&lt;/span&gt; since for a circle that ratio is equal to 4pi. But for the sake of non-circular objects, this feature is very distinct. Thus, the two coins present errors in the object classification. As seen also, the cluster of the 25c and P1 sample data are very close to each other. This is because of the dilapidated texture of the coins. The &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r&lt;span style="color: rgb(51, 204, 0);"&gt;g&lt;/span&gt; &lt;/span&gt; plot is presented to exemplify that these features describe  the normalized &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;r&lt;span style="color: rgb(51, 204, 0);"&gt;g&lt;/span&gt; &lt;/span&gt; values  fo each classes correctly.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SqkgiPMj7fI/AAAAAAAAAoc/as2BtXieATU/s1600-h/data_corrected_xy.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 180px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SqkgiPMj7fI/AAAAAAAAAoc/as2BtXieATU/s320/data_corrected_xy.jpg" alt="" id="BLOGGER_PHOTO_ID_5379867002437627378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sqkgijbkf8I/AAAAAAAAAok/ri3R1QkQGj8/s1600-h/rg_plot.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 180px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sqkgijbkf8I/AAAAAAAAAok/ri3R1QkQGj8/s320/rg_plot.jpg" alt="" id="BLOGGER_PHOTO_ID_5379867007869288386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sqkgh7eOO4I/AAAAAAAAAoU/twcNab5-Scg/s1600-h/data_corrected.jpg"&gt;&lt;img style="cursor: pointer; width: 402px; height: 207px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sqkgh7eOO4I/AAAAAAAAAoU/twcNab5-Scg/s320/data_corrected.jpg" alt="" id="BLOGGER_PHOTO_ID_5379866997142993794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The algorithm presents &lt;span style="font-weight: bold;"&gt;84%&lt;/span&gt; accuracy in object classification. The errors obtained are incurred from the P1 and 25c samples classification missing 2 correct classification for both P1 and 25c samples. In the next activity using Linear Discriminant Analysis, the 25 c and P1 data is expected to be classified at higher accuracy.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;I give myself 9 points for finishing and understanding the activity but failed to finish early.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Acknowledgments:&lt;br /&gt;I acknowledge Jaya and Orly for bringing up intellectual discussions about the algo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CAVEAT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Be careful to put '.' during element division as shown in red texts in the code below.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;Scilab (image processing)&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;function [img] = imopen(img_bw, se);&lt;br /&gt;img = dilate(erode(img_bw, se), se);&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;function [img] = imclose(img_bw, se);&lt;br /&gt;img = erode(dilate(img_bw, se), se);&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;// intialize&lt;br /&gt;folder = string('piso sample');&lt;br /&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act14\' + folder);&lt;br /&gt;data = [];&lt;br /&gt;fname = string('piso_s');&lt;br /&gt;n = 5;&lt;br /&gt;&lt;br /&gt;// rg feature&lt;br /&gt;for i = 1:n&lt;br /&gt;imgc = imread(fname + string(i) + 'c.jpg');&lt;br /&gt;//imgc = imread('piso_t1c.jpg');&lt;br /&gt;R = imgc(:,:,1);&lt;br /&gt;G = imgc(:,:,2);&lt;br /&gt;B = imgc(:,:,3);&lt;br /&gt;I = R + G + B;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;r(i) = mean(R ./ I);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;g(i) = mean(G ./ I);&lt;/span&gt;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// area feature&lt;br /&gt;for i = 1:n&lt;br /&gt;img = imread(fname + string(i) + '.jpg');&lt;br /&gt;//img = imread('piso_t3.jpg');&lt;br /&gt;img = img(:,:,3); // blue channel&lt;br /&gt;bw = abs(im2bw(img, 0.65) - 1); // 0.65 // 0.55&lt;br /&gt;se1 = [1 1 1; 1 1 1;1 1 1];&lt;br /&gt;imgb_m = imclose(imopen(bw, se1), se1);&lt;br /&gt;scf(), imshow(imgb_m, [])&lt;br /&gt;ma(i) = sum(imgb_m);&lt;br /&gt;[t, y] = follow(imgb_m);&lt;br /&gt;//scf(), plot2d(t,y)&lt;br /&gt;per(i) = size(t, 1);&lt;br /&gt;// eccentricity&lt;br /&gt;//[row, col] = find(imgb_m == 1);&lt;br /&gt;//  vert = max(row) - min(row);&lt;br /&gt;//  horz = max(col) - min(col);&lt;br /&gt;//  if vert &gt; horz,  e = sqrt(vert^2 - horz^2) / vert^2;&lt;br /&gt;//  else e = sqrt(horz^2 - vert^2 ) / horz^2;&lt;br /&gt;//  end&lt;br /&gt;//  ecc(i) = e + 1;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;data(:,1) = r;&lt;br /&gt;data(:,2) = g;&lt;br /&gt;data(:,3) = per;&lt;br /&gt;data = cat(2, data, ma);&lt;br /&gt;data = cat(2, data, per.^2 ./ ma);&lt;br /&gt;&lt;br /&gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act14\' + 'data');&lt;br /&gt;fprintfMat(fname + '.txt', data, '%0.5f');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Matlab (plotting and classification)&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;%%&lt;br /&gt;load ben_s.txt&lt;br /&gt;load ben_t.txt&lt;br /&gt;load leafe_s.txt&lt;br /&gt;load leafe_t.txt&lt;br /&gt;load leafs_s.txt&lt;br /&gt;load leafs_t.txt&lt;br /&gt;load piso_s.txt&lt;br /&gt;load piso_t.txt&lt;br /&gt;load santan_s.txt&lt;br /&gt;load santan_t.txt&lt;br /&gt;&lt;br /&gt;%%&lt;br /&gt;x = 1; y = 2; z = 5;&lt;br /&gt;hold on&lt;br /&gt;plot3(mean(ben_t(:,x)), mean(ben_t(:,y)), mean(ben_t(:,z)), 'bo', 'MarkerFaceColor', 'k')&lt;br /&gt;plot3(mean(leafe_t(:,x)), mean(leafe_t(:,y)), mean(leafe_t(:,z)), 'go', 'MarkerFaceColor', 'k')&lt;br /&gt;plot3(mean(leafs_t(:,x)), mean(leafs_t(:,y)), mean(leafs_t(:,z)), 'yo', 'MarkerFaceColor', 'k')&lt;br /&gt;plot3(mean(santan_t(:,x)), mean(santan_t(:,y)), mean(santan_t(:,z)), 'ro', 'MarkerFaceColor', 'k')&lt;br /&gt;plot3(mean(piso_t(:,x)), mean(piso_t(:,y)), mean(piso_t(:,z)), 'mo', 'MarkerFaceColor', 'k')&lt;br /&gt;xlabel('r'); ylabel('g'); zlabel('per^2 / area');&lt;br /&gt;&lt;br /&gt;%%&lt;br /&gt;plot3(ben_s(:,x), ben_s(:,y), ben_s(:,z), 'bs', 'MarkerFaceColor', 'b'), hold on&lt;br /&gt;plot3(leafe_s(:,x), leafe_s(:,y), leafe_s(:,z), 'gs', 'MarkerFaceColor', 'g')&lt;br /&gt;plot3(leafs_s(:,x), leafs_s(:,y), leafs_s(:,z), 'ys', 'MarkerFaceColor', 'y')&lt;br /&gt;plot3(santan_s(:,x), santan_s(:,y), santan_s(:,z), 'rs', 'MarkerFaceColor', 'r')&lt;br /&gt;plot3(piso_s(:,x), piso_s(:,y), piso_s(:,z), 'ms', 'MarkerFaceColor', 'm')&lt;br /&gt;grid on;&lt;br /&gt;% xlabel('r'); ylabel('g'); zlabel('per^2 / area');&lt;br /&gt;&lt;br /&gt;%%&lt;br /&gt;m1 = mean(cat(2, ben_t(:,1:2), ben_t(:,5)), 1);&lt;br /&gt;m2 = mean(cat(2, leafe_t(:,1:2), leafe_t(:,5)), 1);&lt;br /&gt;m3 = mean(cat(2, leafs_t(:,1:2), leafs_t(:,5)), 1);&lt;br /&gt;m4 = mean(cat(2, santan_t(:,1:2), santan_t(:,5)), 1);&lt;br /&gt;m5 = mean(cat(2, piso_t(:,1:2), piso_t(:,5)), 1);&lt;br /&gt;&lt;br /&gt;%%&lt;br /&gt;x1 = cat(2, ben_s(:,1:2), ben_s(:,5));&lt;br /&gt;x2 = cat(2, leafe_s(:,1:2), leafe_s(:,5));&lt;br /&gt;x3 = cat(2, leafs_s(:,1:2), leafs_s(:,5));&lt;br /&gt;x4 = cat(2, santan_s(:,1:2), santan_s(:,5));&lt;br /&gt;x5 = cat(2, piso_s(:,1:2), piso_s(:,5));&lt;br /&gt;&lt;br /&gt;%% minimum distance classification&lt;br /&gt;y = [];&lt;br /&gt;h = [];&lt;br /&gt;for i = 1:5 % classes&lt;br /&gt;for j = 1:5 % samples&lt;br /&gt;for k = 1:5 % mean classes&lt;br /&gt;    mm = eval(['m' int2str(k)]);&lt;br /&gt;    xx = eval(['x' int2str(i)]);&lt;br /&gt;    y = abs(xx(j,:) - mm);&lt;br /&gt;    z(k) = abs(sqrt(y*y'));&lt;br /&gt;end&lt;br /&gt;h = cat(1, h, [find(z == min(z)) i]);&lt;br /&gt;end&lt;br /&gt;end&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-3325463215272731107?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/3325463215272731107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-14-pattern-recognition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/3325463215272731107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/3325463215272731107'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-14-pattern-recognition.html' title='Activity 14 - Pattern Recognition'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/Sqfde9MRtwI/AAAAAAAAAoE/pbDzP72vPSU/s72-c/euc_dist.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-3214102842864280203</id><published>2009-09-02T17:53:00.000-07:00</published><updated>2009-09-13T11:53:03.739-07:00</updated><title type='text'>Activity 13 - Correcting Geometric  Distortion</title><content type='html'>In this activity, we correct an image with geometric distortion. We used an image that has grid patterns in the image. This is to determine the kind of distortion present in the image and correct the image by making curve lines make straight. There are two kinds of distortions: 1. pincushion and 2. barrel distortion. Barrel distortion introduces bulging effect in the images while pincushion distortion introduces inward bending of lines. To correct the image, a regularly occurring pattern is required to be part of the image to be able to visualize the distortion effect.&lt;br /&gt;&lt;br /&gt;In the correcting process, a transformation of the pixel coordinates and interpolation of gray level values are required to complete the correction. Pixel coordinate transformation allows one to straighten the coordinates and gray level interpolation to visualize the transformation. It can be expressed in matrix notation,&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq09GUuD0qI/AAAAAAAAAs8/A5iljxbZ7N8/s1600-h/eq2.png"&gt;&lt;img style="cursor: pointer; width: 190px; height: 220px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq09GUuD0qI/AAAAAAAAAs8/A5iljxbZ7N8/s320/eq2.png" alt="" id="BLOGGER_PHOTO_ID_5381024308628017826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;and solving for the coefficients,&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq09G0dTkaI/AAAAAAAAAtE/rYXeasMdSN0/s1600-h/eq3.png"&gt;&lt;img style="cursor: pointer; width: 206px; height: 33px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq09G0dTkaI/AAAAAAAAAtE/rYXeasMdSN0/s320/eq3.png" alt="" id="BLOGGER_PHOTO_ID_5381024317147681186" border="0" /&gt;&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;After which, we can now compute for the undistorted pixel coordinates using:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq09GL-YoTI/AAAAAAAAAs0/HCfTAeBD_9Y/s1600-h/eq1.png"&gt;&lt;img style="cursor: pointer; width: 189px; height: 54px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq09GL-YoTI/AAAAAAAAAs0/HCfTAeBD_9Y/s320/eq1.png" alt="" id="BLOGGER_PHOTO_ID_5381024306280571186" border="0" /&gt;&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Then, we project the grayscale values from the original image to the undistorted using:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0-IVfoEEI/AAAAAAAAAtM/D7bh4AEn5lk/s1600-h/eq4.png"&gt;&lt;img style="cursor: pointer; width: 185px; height: 25px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sq0-IVfoEEI/AAAAAAAAAtM/D7bh4AEn5lk/s320/eq4.png" alt="" id="BLOGGER_PHOTO_ID_5381025442707279938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;where the coefficients can be solved similar to the matrix notation above.&lt;br /&gt;&lt;br /&gt;By generating an ideal grid of known vertex coordinates, we can proceed to pixel coordinates transformation.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq07mIhufiI/AAAAAAAAAsk/hmcs1rDAb-Q/s1600-h/distortion8.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 130px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sq07mIhufiI/AAAAAAAAAsk/hmcs1rDAb-Q/s320/distortion8.jpg" alt="" id="BLOGGER_PHOTO_ID_5381022656087621154" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq07e5KFFAI/AAAAAAAAAsc/dXoVNKiniTk/s1600-h/ideal17.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 130px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq07e5KFFAI/AAAAAAAAAsc/dXoVNKiniTk/s320/ideal17.bmp" alt="" id="BLOGGER_PHOTO_ID_5381022531702821890" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq07tZKiOmI/AAAAAAAAAss/ZHrHlDqxY-M/s1600-h/recon.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 130px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sq07tZKiOmI/AAAAAAAAAss/ZHrHlDqxY-M/s320/recon.jpg" alt="" id="BLOGGER_PHOTO_ID_5381022780812835426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Shown to the left is the original image with barrel distortion. At the right is the ideal rectangle vertices and below them is the corrected image. Note that there are some pixels that are not interpolated in the corrected image.&lt;br /&gt;&lt;br /&gt;I give myself 9 pts for understanding the activity but blogging it late.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Reference:&lt;br /&gt;A13 - Correcting Geometric distortion. M. Soriano. 2008.&lt;br /&gt;&lt;br /&gt;Acknowledgment:&lt;br /&gt;I acknowledge the help of Jaya in understanding the notations in the procedure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;chdir('E:\Documents and Settings\vergara\My Documents\acads\1st sem 09-10\186\act13');&lt;br /&gt;//165, 92 //182, 92 //165, 109 //182, 109&lt;br /&gt;stacksize(50000000)&lt;br /&gt;img = gray_imread('barrel1.png');&lt;br /&gt;&lt;br /&gt;// for visualization of ideal rect&lt;br /&gt;sx = size(img,1); sy = size(img,2);&lt;br /&gt;z = zeros(sx, sy);&lt;br /&gt;X = 1:110:sx; Y = 1:110:sy; //17&lt;br /&gt;//z(X, Y) = 1;&lt;br /&gt;//imwrite(z, 'ideal_rect.jpg');&lt;br /&gt;//scf(), imshow(z, [])&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// locate real vertices&lt;br /&gt;pts = 25; //25, 49, 81&lt;br /&gt;scf(), imshow(img, [])&lt;br /&gt;l = locate(pts); l = l';&lt;br /&gt;l = [l(pts:-1:1,2) l(pts:-1:1,1)];&lt;br /&gt;&lt;br /&gt;fprintfMat('barrel.txt', l, '%0.2f');&lt;br /&gt;l = fscanfMat('barrel.txt');&lt;br /&gt;&lt;br /&gt;// for visualization of real rect&lt;br /&gt;z1 = zeros(sx, sy);&lt;br /&gt;for i = 1:pts&lt;br /&gt;z1(l(i,1), l(i,2)) = 1;&lt;br /&gt;end&lt;br /&gt;scf(), imshow(z1, [])&lt;br /&gt;//imwrite(z1, 'vertices_rect.jpg');&lt;br /&gt;&lt;br /&gt;// reshaping of data&lt;br /&gt;ideal = [X' mtlb_repmat(Y(size(Y,2))',size(Y,2),1)];&lt;br /&gt;rreal = l;&lt;br /&gt;for i = size(X,2) - 1:-1:1&lt;br /&gt;ideal = cat(1,ideal,[X' mtlb_repmat(Y(i)',size(X,2),1)])&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;// test&lt;br /&gt;for j = 1:4// row&lt;br /&gt;img(ix(j,1), iy(j,1)) = 1;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;//reshape again&lt;br /&gt;rx = matrix(rreal(:,1),size(X,2),size(Y,2)); rx = rx(:,size(Y,2):-1:1);&lt;br /&gt;ry = matrix(rreal(:,2),size(X,2),size(Y,2)); ry = ry(:,size(Y,2):-1:1);&lt;br /&gt;&lt;br /&gt;ix = matrix(ideal(:,1),size(X,2),size(Y,2)); ix = ix(:,size(Y,2):-1:1);&lt;br /&gt;iy = matrix(ideal(:,2),size(X,2),size(Y,2)); iy = iy(:,size(Y,2):-1:1);&lt;br /&gt;&lt;br /&gt;//&lt;br /&gt;undist = zeros(sx, sy);&lt;br /&gt;for i = 1:size(X,2) - 1&lt;br /&gt;for j = 1:size(Y,2) - 1&lt;br /&gt;T = [ix(i,j) iy(i,j) ix(i,j)*iy(i,j) 1;...&lt;br /&gt;ix(i,j+1) iy(i,j+1) ix(i,j+1)*iy(i,j+1) 1;...&lt;br /&gt;ix(i+1,j) iy(i+1,j) ix(i+1,j)*iy(i+1,j) 1;...&lt;br /&gt;ix(i+1,j+1) iy(i+1,j+1) ix(i+1,j+1)*iy(i+1,j+1) 1];&lt;br /&gt;Xx = [rx(i,j); rx(i,j+1); rx(i+1,j); rx(i+1,j+1)];&lt;br /&gt;Yy = [ry(i,j); ry(i,j+1); ry(i+1,j); ry(i+1,j+1)];&lt;br /&gt;C14 = inv(T)*Xx;&lt;br /&gt;C58 = inv(T)*Yy;&lt;br /&gt;&lt;br /&gt;for kx = ix(i,j):ix(i+1,j) - 1&lt;br /&gt;for ky = iy(i,j):iy(i,j+1) - 1&lt;br /&gt;xh = C14(1)*kx + C14(2)*ky + C14(3)*kx*ky + C14(4);&lt;br /&gt;yh = C58(1)*kx + C58(2)*ky + C58(3)*kx*ky + C58(4);&lt;br /&gt;// not this easy, solve for the 4 unknowns and 4 equations&lt;br /&gt;if modulo(xh, round(xh)) == 0 &amp;amp; modulo(yh, round(yh))  == 0 // integer coordinates&lt;br /&gt; undist(round(xh), round(yh)) = img(round(xh), round(yh));&lt;br /&gt;else // non-integer coordinates&lt;br /&gt; if xh == 1 | xh == sx | yh == 1 | yh == sy // at boundaries&lt;br /&gt;   undist(xh,yh) = 0;&lt;br /&gt; else // not at boundaries&lt;br /&gt;   U = [xh-1 yh-1 (xh-1)*(yh-1) 1;...&lt;br /&gt;        xh-1 yh+1 (xh-1)*(yh+1) 1;...&lt;br /&gt;        xh+1 yh-1 (xh+1)*(yh-1) 1;...&lt;br /&gt;        xh+1 yh+1 (xh+1)*(yh+1) 1];&lt;br /&gt;   V = [img(xh-1, yh-1) img(xh-1, yh+1) img(xh+1, yh-1) img(xh+1, yh+1)]';&lt;br /&gt;   A = inv(U)*V;&lt;br /&gt;   undist(xh,yh) = A(1)*xh + A(2)*yh + A(3)*xh*yh + A(4);&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;scf(), imshow(undist, []);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-3214102842864280203?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/3214102842864280203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-13-correcting-geometric.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/3214102842864280203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/3214102842864280203'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/09/activity-13-correcting-geometric.html' title='Activity 13 - Correcting Geometric  Distortion'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/Sq09GUuD0qI/AAAAAAAAAs8/A5iljxbZ7N8/s72-c/eq2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-7707266219333619688</id><published>2009-08-06T23:21:00.000-07:00</published><updated>2009-08-10T18:16:53.133-07:00</updated><title type='text'>Activity 12 – Color Image Segmentation</title><content type='html'>&lt;div style="text-align: center;"&gt;&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/div&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;&lt;span style=""&gt;During the previous activities, we have been separating the regions of interest using histogram manipulation. In this activity, ROI separation is obtained using color. Grayscale value is not enough since it only provides a two-dimension space to select unique features from the scene. Using color, it provides three representations to provide unique features of a scene. However, colored objects will have variations in brightness or in shading that is RGB is not enough to represent color distinguish ROI. In this activity, the Normalized Chromaticity Coordinates (NCC) is being introduced to separate color and brightness information.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;&lt;span style=""&gt;With this kind of representation, we can now present 3D to 2D coordinate system only.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;There are two ways of obtaining the ROI using NCC. One is the Parametric probability distribution where this method calculate the probability that a certain color belongs to the ROI while in the Non-parametric probability distribution, it is mainly concerned on the histogram of the ROI and using the idea back in Activity 4, pixel per pixel values are backprojected from the rg histogram to the image. The first technique is purely computational while the latter involves ‘manual’ pixel per pixel replacement.&lt;/p&gt; &lt;br /&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJvNjRdI/AAAAAAAAAnE/UVzD-7liaY0/s1600-h/yellow_patch.bmp"&gt;&lt;img style="cursor: pointer; width: 32px; height: 19px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJvNjRdI/AAAAAAAAAnE/UVzD-7liaY0/s320/yellow_patch.bmp" alt="" id="BLOGGER_PHOTO_ID_5367105649583015378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJfDs28I/AAAAAAAAAm8/Qww_3BuM45M/s1600-h/flag.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 75px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJfDs28I/AAAAAAAAAm8/Qww_3BuM45M/s320/flag.bmp" alt="" id="BLOGGER_PHOTO_ID_5367105645246733250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJFOVqdI/AAAAAAAAAm0/O6yUSmawIFM/s1600-h/hist_non.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 75px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJFOVqdI/AAAAAAAAAm0/O6yUSmawIFM/s320/hist_non.jpg" alt="" id="BLOGGER_PHOTO_ID_5367105638312028626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Above is sample ROI segmentation using parametric estimation. Note that the flag image doesn’t have a shading variation in its color so it is expected that this image will be segmented accurately. A yellow patch is obtained for sample segmentation. Even if non-parametric estimation is used, there will be no change in the quality of segmentation produced.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvJizHUjKI/AAAAAAAAAms/81dW6gsGFLg/s1600-h/patch_red_josh.bmp"&gt;&lt;img style="cursor: pointer; width: 45px; height: 65px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvJizHUjKI/AAAAAAAAAms/81dW6gsGFLg/s320/patch_red_josh.bmp" alt="" id="BLOGGER_PHOTO_ID_5367104980615728290" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJiuJcNqI/AAAAAAAAAmk/-IKzhb7Qh-w/s1600-h/josh.BMP"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJiuJcNqI/AAAAAAAAAmk/-IKzhb7Qh-w/s320/josh.BMP" alt="" id="BLOGGER_PHOTO_ID_5367104979282441890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvJiYUb8nI/AAAAAAAAAmc/ITJ6oE0X7EA/s1600-h/seg_par_red.png"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvJiYUb8nI/AAAAAAAAAmc/ITJ6oE0X7EA/s320/seg_par_red.png" alt="" id="BLOGGER_PHOTO_ID_5367104973422981746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJiGrCEFI/AAAAAAAAAmU/Fqm3gm8Z5SU/s1600-h/seg_non_red.png"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJiGrCEFI/AAAAAAAAAmU/Fqm3gm8Z5SU/s320/seg_non_red.png" alt="" id="BLOGGER_PHOTO_ID_5367104968685916242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvIiDxySJI/AAAAAAAAAmE/Xseeiff4CUU/s1600-h/patch_violet_loren.bmp"&gt;&lt;img style="cursor: pointer; width: 50px; height: 53px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvIiDxySJI/AAAAAAAAAmE/Xseeiff4CUU/s320/patch_violet_loren.bmp" alt="" id="BLOGGER_PHOTO_ID_5367103868397308050" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvIh3L_e8I/AAAAAAAAAl8/m7oBgC1OtQw/s1600-h/loren.BMP"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvIh3L_e8I/AAAAAAAAAl8/m7oBgC1OtQw/s320/loren.BMP" alt="" id="BLOGGER_PHOTO_ID_5367103865017564098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJDPIWbbI/AAAAAAAAAmM/nbDtq8i6Wi8/s1600-h/seg_par_violet.png"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvJDPIWbbI/AAAAAAAAAmM/nbDtq8i6Wi8/s320/seg_par_violet.png" alt="" id="BLOGGER_PHOTO_ID_5367104438380424626" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvIhUjTXrI/AAAAAAAAAl0/n3r10z2a14k/s1600-h/seg_non_violet.png"&gt;&lt;img style="cursor: pointer; width: 180px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvIhUjTXrI/AAAAAAAAAl0/n3r10z2a14k/s320/seg_non_violet.png" alt="" id="BLOGGER_PHOTO_ID_5367103855720095410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="text-align: left;" class="MsoNormal"&gt;Displayed above are ROI segmentation results using parametric and non-parametric estimates. Beside the original image is the patch that is used to select  the ROI. Parametric estimate is the one that is displayed to the left and for the non-parametric is the one displayed to the right. It can be observed that parametric estimates have a poor segmentation quality as compared to the non-parametric. This is because only a probability of the color information is obtained. From the formula, the method computes for the mean and the standard deviation of a color from the image and it is compared to the probability that it has the same statistics as that of the ROI. The non-parametric estimate then provide better segmentation results because it follows a look-up table process and is one-to-one pixel per pixel replacement.&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;Reply to comment:&lt;/p&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;Sorry mam, I failed to rate my work. I give myself 10 points for finishing and understanding this activity.&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-7707266219333619688?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/7707266219333619688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-12-color-image-segmentation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7707266219333619688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7707266219333619688'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-12-color-image-segmentation.html' title='Activity 12 – Color Image Segmentation'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvKJvNjRdI/AAAAAAAAAnE/UVzD-7liaY0/s72-c/yellow_patch.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-5805014607164469702</id><published>2009-08-06T22:51:00.000-07:00</published><updated>2009-08-10T18:20:51.556-07:00</updated><title type='text'>Activity 11 – Color Image Processing</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;This activity is mainly about proper white balancing of images under certain lighting conditions and also about understanding how incorrect white balanced images be corrected. Color in images is represented by the RGB channels. Mathematically, the color perceived by the camera is the sum of the product of the object reflectance, source illumination and the camera spectral sensitivity channels for RGB. It can be presented using:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="file:///E:/DOCUME%7E1/vergara/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snv-v_d6n5I/AAAAAAAAAnM/hK2Y38Wx3fU/s1600-h/RGB_eq.bmp"&gt;&lt;img style="cursor: pointer; width: 138px; height: 72px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snv-v_d6n5I/AAAAAAAAAnM/hK2Y38Wx3fU/s320/RGB_eq.bmp" alt="" id="BLOGGER_PHOTO_ID_5367163481386295186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;where &lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snv-wFhhq6I/AAAAAAAAAnU/Ahs_olCwsGI/s1600-h/RGB_eq1.bmp"&gt;&lt;img style="cursor: pointer; width: 130px; height: 43px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snv-wFhhq6I/AAAAAAAAAnU/Ahs_olCwsGI/s320/RGB_eq1.bmp" alt="" id="BLOGGER_PHOTO_ID_5367163483012049826" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;K is the white balancing constant and all of these parameters constitute to the image taken by the camera.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvHGn77PAI/AAAAAAAAAls/E36X7h7BrZ4/s1600-h/white_patch_sun.jpg"&gt;&lt;img style="cursor: pointer; width: 42px; height: 91px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvHGn77PAI/AAAAAAAAAls/E36X7h7BrZ4/s320/white_patch_sun.jpg" alt="" id="BLOGGER_PHOTO_ID_5367102297555549186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvG5GvLVII/AAAAAAAAAlU/Pco5GK85WQs/s1600-h/ens_sun.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvG5GvLVII/AAAAAAAAAlU/Pco5GK85WQs/s320/ens_sun.JPG" alt="" id="BLOGGER_PHOTO_ID_5367102065305408642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvG5u7gXgI/AAAAAAAAAlc/hom1pgwFfRI/s1600-h/ens_sun1.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvG5u7gXgI/AAAAAAAAAlc/hom1pgwFfRI/s320/ens_sun1.JPG" alt="" id="BLOGGER_PHOTO_ID_5367102076094537218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvHGaVCEfI/AAAAAAAAAlk/emdXyW-oJ14/s1600-h/white_patch_sun1.jpg"&gt;&lt;img style="cursor: pointer; width: 42px; height: 85px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvHGaVCEfI/AAAAAAAAAlk/emdXyW-oJ14/s320/white_patch_sun1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367102293902758386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Shown above are four images with the two outmost images as white patches corresponding to the near images. Each white patch is used to do automatic white balancing in the two images. These two images are different because they are taken at different NA and shutter speed values that is why the image at the left looks darker.&lt;br /&gt;&lt;br /&gt;Two most popular ways of obtaining auto white balancing is used. The first is the White Patch algorithm where the mean of the RGB channel values of the white patch is used to divide the corresponding RGB channel of the incorrectly-white balanced object. For the Gray Patch method we need not use the white patch instead we use the mean of the RGB channels of the image itself and use this to divide the RGB channel of the image.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvGNX6IsII/AAAAAAAAAk8/r6W5AfUj49M/s1600-h/imgW_sun.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvGNX6IsII/AAAAAAAAAk8/r6W5AfUj49M/s320/imgW_sun.jpg" alt="" id="BLOGGER_PHOTO_ID_5367101314000531586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvGNAcc7EI/AAAAAAAAAk0/PB8a1TdwUvc/s1600-h/imgG_sun.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvGNAcc7EI/AAAAAAAAAk0/PB8a1TdwUvc/s320/imgG_sun.jpg" alt="" id="BLOGGER_PHOTO_ID_5367101307702012994" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvGVij-QFI/AAAAAAAAAlM/opMnmlx7l64/s1600-h/imgW_sun1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvGVij-QFI/AAAAAAAAAlM/opMnmlx7l64/s320/imgW_sun1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367101454299316306" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvGVACKY0I/AAAAAAAAAlE/ASXDPKqlnkY/s1600-h/imgG_sun1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvGVACKY0I/AAAAAAAAAlE/ASXDPKqlnkY/s320/imgG_sun1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367101445030699842" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;Presented above are the results of the White Patch (left) and Gray World (right) method. Both for the two sample images, by the way image is wrongly white balanced because the illumination is flourescent light while the white balancing setting of the camera is sunny, the White Patch algorithm produces a better white balancing estimate than the Gray World algorithm. For the White patch recon, one can observe good rendering of colors. Green appears green and so with other colors. In the Gray World recon, there is an observed saturation of colors with white light. The brightness in the latter method is greater than the other.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvFlP10aCI/AAAAAAAAAkk/XT4DmYhdjhM/s1600-h/white_patch_inc.jpg"&gt;&lt;img style="cursor: pointer; width: 35px; height: 57px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvFlP10aCI/AAAAAAAAAkk/XT4DmYhdjhM/s320/white_patch_inc.jpg" alt="" id="BLOGGER_PHOTO_ID_5367100624640174114" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvFQ7mPSKI/AAAAAAAAAkU/RbXA7DFfthk/s1600-h/ens_inc.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvFQ7mPSKI/AAAAAAAAAkU/RbXA7DFfthk/s320/ens_inc.JPG" alt="" id="BLOGGER_PHOTO_ID_5367100275608733858" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvFR_XtbZI/AAAAAAAAAkc/mPBDVYRJ4yk/s1600-h/ens_inc1.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvFR_XtbZI/AAAAAAAAAkc/mPBDVYRJ4yk/s320/ens_inc1.JPG" alt="" id="BLOGGER_PHOTO_ID_5367100293801405842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvFleVguRI/AAAAAAAAAks/ZFR_Sd7hPKA/s1600-h/white_patch_inc1.jpg"&gt;&lt;img style="cursor: pointer; width: 34px; height: 22px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvFleVguRI/AAAAAAAAAks/ZFR_Sd7hPKA/s320/white_patch_inc1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367100628531198226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;These images are taken at the same lighting condition as above but the white balancing setting is incandescent with corresponding white patch taken.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvEHWPFIxI/AAAAAAAAAj8/MjwGmfX1bDU/s1600-h/imgW_inc.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvEHWPFIxI/AAAAAAAAAj8/MjwGmfX1bDU/s320/imgW_inc.jpg" alt="" id="BLOGGER_PHOTO_ID_5367099011449037586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvFAd9xpXI/AAAAAAAAAkM/Kik8ZSZuOow/s1600-h/imgG_inc.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 149px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvFAd9xpXI/AAAAAAAAAkM/Kik8ZSZuOow/s320/imgG_inc.jpg" alt="" id="BLOGGER_PHOTO_ID_5367099992776484210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvEpS8jvaI/AAAAAAAAAkE/jp3iRc47ih4/s1600-h/imgW_inc1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvEpS8jvaI/AAAAAAAAAkE/jp3iRc47ih4/s320/imgW_inc1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367099594681597346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvD9LDtbaI/AAAAAAAAAjk/-U-hMGhI1vA/s1600-h/imgG_inc1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvD9LDtbaI/AAAAAAAAAjk/-U-hMGhI1vA/s320/imgG_inc1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367098836649864610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Similar to the result for the sunny white balancing setting, White Patch recon is visually better than Gray World. It is observed however that in the White Patch recons, there is an increased saturation of the color. The maroon table for example becomes a striking color maroon and the red hue becomes intense red especially to the image taken at high shutter speed.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvCoD2MRkI/AAAAAAAAAjM/4LF4AOgXRU8/s1600-h/white_patch_blue.jpg"&gt;&lt;img style="cursor: pointer; width: 38px; height: 103px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvCoD2MRkI/AAAAAAAAAjM/4LF4AOgXRU8/s320/white_patch_blue.jpg" alt="" id="BLOGGER_PHOTO_ID_5367097374425237058" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvDLOPf0RI/AAAAAAAAAjc/8_Yzx0EZTeU/s1600-h/blue_ens.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvDLOPf0RI/AAAAAAAAAjc/8_Yzx0EZTeU/s320/blue_ens.JPG" alt="" id="BLOGGER_PHOTO_ID_5367097978511151378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvDK_QA_hI/AAAAAAAAAjU/4-DdQQeRWhY/s1600-h/blue_ens1.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvDK_QA_hI/AAAAAAAAAjU/4-DdQQeRWhY/s320/blue_ens1.JPG" alt="" id="BLOGGER_PHOTO_ID_5367097974486793746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvCn1nysVI/AAAAAAAAAjE/ntmokfswTlw/s1600-h/white_patch_blue1.jpg"&gt;&lt;img style="cursor: pointer; width: 38px; height: 103px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvCn1nysVI/AAAAAAAAAjE/ntmokfswTlw/s320/white_patch_blue1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367097370606743890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The images above are taken at incandescent white balancing setting and the illumination is still flourescent lamp. Again, these two images differ in the NA and shutter speed settings. Objects of interest are the different shades of blue as represented by those different objects. What we want is to obtain correct white balancing using the two methods.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvCU6_yprI/AAAAAAAAAi8/Jt4XmyebLVI/s1600-h/imgW_blue.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnvCU6_yprI/AAAAAAAAAi8/Jt4XmyebLVI/s320/imgW_blue.jpg" alt="" id="BLOGGER_PHOTO_ID_5367097045632067250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvCEsrCHkI/AAAAAAAAAis/zPRlTqUW2UE/s1600-h/imgG_blue.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvCEsrCHkI/AAAAAAAAAis/zPRlTqUW2UE/s320/imgG_blue.jpg" alt="" id="BLOGGER_PHOTO_ID_5367096766908997186" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvCUmHtHjI/AAAAAAAAAi0/g112LOpwixg/s1600-h/imgW_blue1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvCUmHtHjI/AAAAAAAAAi0/g112LOpwixg/s320/imgW_blue1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367097040028114482" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvCEMgvQ9I/AAAAAAAAAik/OMOJr6aOp6E/s1600-h/imgG_blue1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnvCEMgvQ9I/AAAAAAAAAik/OMOJr6aOp6E/s320/imgG_blue1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367096758275883986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Left images correspond to White Patch rendering algorithm while right images for Gray World. It can be clearly seen that shades of blue color are better rendered for White rather than for Gray. This is due to the incorrect blue shade rendering for Gray. This is because the Gray World algorithm uses the mean of the RGB which in turns averages the whole channel. White patch algo refers to the white patch itself to properly white balance an image. This provides better scaling value because it is based on the mean of the white patch. White Patch method then assures that white will look white when white balanced.&lt;br /&gt;&lt;br /&gt;I give myself 9 points for finishing and understanding the activity since I got images of saturated intensities.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-5805014607164469702?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/5805014607164469702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-11-color-image-processing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/5805014607164469702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/5805014607164469702'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-11-color-image-processing.html' title='Activity 11 – Color Image Processing'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4pFyP-OoZOE/Snv-v_d6n5I/AAAAAAAAAnM/hK2Y38Wx3fU/s72-c/RGB_eq.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-1408941648531045166</id><published>2009-08-06T17:48:00.000-07:00</published><updated>2009-08-10T18:59:57.472-07:00</updated><title type='text'>Activity 10 – Preprocessing Text</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;This activity includes usage of techniques to pre-process an image. Specifically, this is a real-world problem to extract handwritten text from a sample that presents challenges in cleaning object of interest.&lt;br /&gt;&lt;br /&gt;The image to the left is the image to be processed. It can be noticed that the image is tilted based from the horizontal lines. Before we process this image, we must rotate it to make horizontal lines horizontal and ease filtering. We used the function mogrify in scilab. The image is tilted at 1.2 degrees. The tilted image is shown at the right.&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvAVpKCtxI/AAAAAAAAAiU/QjoE9PnZPzw/s1600-h/scan.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 247px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvAVpKCtxI/AAAAAAAAAiU/QjoE9PnZPzw/s320/scan.jpg" alt="" id="BLOGGER_PHOTO_ID_5367094858999838482" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvAWLWePfI/AAAAAAAAAic/PxHr8EVbt4A/s1600-h/scan_mog.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 247px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnvAWLWePfI/AAAAAAAAAic/PxHr8EVbt4A/s320/scan_mog.jpg" alt="" id="BLOGGER_PHOTO_ID_5367094868178779634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Next is to crop desired object. I cropped the part where there are horizontal lines, handwritten text and printed text. After cropping, I filtered the horizontal lines in the image using the mask below from its Fourier transform. Then, I binarized the image and apply morphological operations such as opening, closing, erode,dilate and thin. Below are the processed images.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu86SlL6_I/AAAAAAAAAh0/YPX_ZBDX19Q/s1600-h/scan_c.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 44px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu86SlL6_I/AAAAAAAAAh0/YPX_ZBDX19Q/s320/scan_c.jpg" alt="" id="BLOGGER_PHOTO_ID_5367091090548321266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu86Iqj-II/AAAAAAAAAhs/zoAdvA5vBBI/s1600-h/scan_c_filt.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 44px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu86Iqj-II/AAAAAAAAAhs/zoAdvA5vBBI/s320/scan_c_filt.jpg" alt="" id="BLOGGER_PHOTO_ID_5367091087886514306" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu855Sa1VI/AAAAAAAAAhk/VyjI04rJhjk/s1600-h/one_px_pre.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 44px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu855Sa1VI/AAAAAAAAAhk/VyjI04rJhjk/s320/one_px_pre.jpg" alt="" id="BLOGGER_PHOTO_ID_5367091083758720338" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu85px823I/AAAAAAAAAhc/3JvvgU9vt8s/s1600-h/one_px.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 44px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu85px823I/AAAAAAAAAhc/3JvvgU9vt8s/s320/one_px.jpg" alt="" id="BLOGGER_PHOTO_ID_5367091079596006258" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu_5U62VRI/AAAAAAAAAiM/lIXJBG7V2W0/s1600-h/scan_c_mask1.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 44px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu_5U62VRI/AAAAAAAAAiM/lIXJBG7V2W0/s320/scan_c_mask1.jpg" alt="" id="BLOGGER_PHOTO_ID_5367094372531066130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu_5GtF_6I/AAAAAAAAAiE/xZr7XogIP6s/s1600-h/scan_c_FT.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 44px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu_5GtF_6I/AAAAAAAAAiE/xZr7XogIP6s/s320/scan_c_FT.jpg" alt="" id="BLOGGER_PHOTO_ID_5367094368715276194" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;It can be seen from above that after binarizing the image, one can still read the handwritten text VGA Cable and printed text DESCRIPTION. However after applying closing, then thin operations of SE = [1 1]', the one-pixel thick text can't be read. I then chose other handwritten texts to process. Below is another processed images with the same method as above.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu8DrDFj2I/AAAAAAAAAhU/x3eqQSv6MSA/s1600-h/handw.jpg"&gt;&lt;img style="cursor: pointer; width: 130px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu8DrDFj2I/AAAAAAAAAhU/x3eqQSv6MSA/s320/handw.jpg" alt="" id="BLOGGER_PHOTO_ID_5367090152223379298" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu8DRUXCqI/AAAAAAAAAhM/KGJ6vjfDNx8/s1600-h/handwb.jpg"&gt;&lt;img style="cursor: pointer; width: 130px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu8DRUXCqI/AAAAAAAAAhM/KGJ6vjfDNx8/s320/handwb.jpg" alt="" id="BLOGGER_PHOTO_ID_5367090145316506274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu8CwqAwgI/AAAAAAAAAhE/c-jfbPdboX4/s1600-h/one_px_bwlabel.jpg"&gt;&lt;img style="cursor: pointer; width: 130px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Snu8CwqAwgI/AAAAAAAAAhE/c-jfbPdboX4/s320/one_px_bwlabel.jpg" alt="" id="BLOGGER_PHOTO_ID_5367090136548950530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu0VJ04HWI/AAAAAAAAAg0/thaBPLnCD3c/s1600-h/scan_c_mask2.jpg"&gt;&lt;img style="cursor: pointer; width: 142px; height: 73px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snu0VJ04HWI/AAAAAAAAAg0/thaBPLnCD3c/s320/scan_c_mask2.jpg" alt="" id="BLOGGER_PHOTO_ID_5367081656450030946" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu113ljJeI/AAAAAAAAAg8/RNK3Vag8hGE/s1600-h/scan_c_FT2.jpg"&gt;&lt;img style="cursor: pointer; width: 142px; height: 73px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu113ljJeI/AAAAAAAAAg8/RNK3Vag8hGE/s320/scan_c_FT2.jpg" alt="" id="BLOGGER_PHOTO_ID_5367083318001214946" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Also, I chose a printed text to convince myself that I can digitally extract texts from challenging samples.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu0UwUHWFI/AAAAAAAAAgs/h7wXes3S_TE/s1600-h/scan_c2.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu0UwUHWFI/AAAAAAAAAgs/h7wXes3S_TE/s320/scan_c2.jpg" alt="" id="BLOGGER_PHOTO_ID_5367081649601730642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu-jBeq-BI/AAAAAAAAAh8/yfcS1IaSxwI/s1600-h/scan_c_filt2.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu-jBeq-BI/AAAAAAAAAh8/yfcS1IaSxwI/s320/scan_c_filt2.jpg" alt="" id="BLOGGER_PHOTO_ID_5367092889843857426" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu0Uu-T6xI/AAAAAAAAAgk/9wdLLGT3Z44/s1600-h/scan_c_filt2b.bmp"&gt;&lt;img style="cursor: pointer; width: 95px; height: 50px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snu0Uu-T6xI/AAAAAAAAAgk/9wdLLGT3Z44/s320/scan_c_filt2b.bmp" alt="" id="BLOGGER_PHOTO_ID_5367081649241844498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu0UcopJGI/AAAAAAAAAgc/Z2xX3KyJFKs/s1600-h/scan_c_filt2b_final.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 50px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snu0UcopJGI/AAAAAAAAAgc/Z2xX3KyJFKs/s320/scan_c_filt2b_final.jpg" alt="" id="BLOGGER_PHOTO_ID_5367081644319122530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;I can say that I have extracted the handwritten text DEMO III from above although there is really no rigorous cleaning of the image involved. That is, if I try to clean the image using FT filtering, some parts of my handwritten text can be removed which makes me difficult to read the text after morphological operations. But the printed text, after FT filtering, still can be read. Although some parts or letters are distorted due to filtering of the horizontal lines. Maybe if I can just obtain a good mask and avoid filtering information from the text itself, I may have better results.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snuzc9Oj9hI/AAAAAAAAAgU/v-dDy-Iw4bc/s1600-h/scan_c_filt2b2.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 149px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snuzc9Oj9hI/AAAAAAAAAgU/v-dDy-Iw4bc/s320/scan_c_filt2b2.bmp" alt="" id="BLOGGER_PHOTO_ID_5367080690995426834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnuzcYaAVcI/AAAAAAAAAgM/9ruk3lghHbA/s1600-h/corr2.jpg"&gt;&lt;img style="cursor: pointer; width: 120px; height: 149px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnuzcYaAVcI/AAAAAAAAAgM/9ruk3lghHbA/s320/corr2.jpg" alt="" id="BLOGGER_PHOTO_ID_5367080681111311810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Also, correlation is presented in this activity. I used the word DESCRIPTION and try to see if it will produce good correlations in the whole image. The left image is the binarized pattern and to the left is the correlation map. To zoom in, cllick the image. There are white spots that can be noticed in the correlation map. These are the words corresponding to the pattern.&lt;br /&gt;&lt;br /&gt;I give myself 9 points for finshing and understanding the activity although I did not get accurately the pre-processing of one pixel handwritten text.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-1408941648531045166?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/1408941648531045166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-10-preprocessing-text.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1408941648531045166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1408941648531045166'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activity-10-preprocessing-text.html' title='Activity 10 – Preprocessing Text'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/SnvAVpKCtxI/AAAAAAAAAiU/QjoE9PnZPzw/s72-c/scan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-7708503794935483165</id><published>2009-08-06T16:46:00.001-07:00</published><updated>2009-08-10T18:31:54.486-07:00</updated><title type='text'>Activity 9 – Binary Operations</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;This activity uses histogram manipulation to separate ROIs in binary images and to estimate the areas of cell-like regions or blobs using closing and opening functions.&lt;br /&gt;&lt;br /&gt;Shown below is a grayscale of the test image. This test image is then cropped into 12 parts and each subimage is binarized with proper threshold. The threshold value can be obtained using histogram function in GIMP.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnwP0Ni3NkI/AAAAAAAAAnc/Hwm9PVr7X6Q/s1600-h/Circles001.jpg"&gt;&lt;img style="cursor: pointer; width: 298px; height: 245px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnwP0Ni3NkI/AAAAAAAAAnc/Hwm9PVr7X6Q/s320/Circles001.jpg" alt="" id="BLOGGER_PHOTO_ID_5367182245582288450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Then, each binarized subimage is processed using closing and opening functions. Closing function is the erosion of a dilated image using the same structuring element and opening function is the dilation of an eroded image using the same SE. The SE used in this activity is se1 = [0 1 1 0 ;1 1 1 1;1 1 1 1;0 1 1 0]. The morphological process used is first to open the image then closed it. Opening function allows groups of blobs to be separated from other blobs and to remove smaller blobs (dots). Closing functions allows the filling of holes within blobs. Shown below is the image before morphological operation.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntuCQpwiFI/AAAAAAAAAgE/k2ItYQueOOg/s1600-h/cb1.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntuCQpwiFI/AAAAAAAAAgE/k2ItYQueOOg/s320/cb1.png" alt="" id="BLOGGER_PHOTO_ID_5367004366050986066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SntuBxozd-I/AAAAAAAAAf8/rFt7riOf9GU/s1600-h/cb2.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SntuBxozd-I/AAAAAAAAAf8/rFt7riOf9GU/s320/cb2.png" alt="" id="BLOGGER_PHOTO_ID_5367004357725485026" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt87aT2VI/AAAAAAAAAf0/JfmIe3LVZBc/s1600-h/cb3.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt87aT2VI/AAAAAAAAAf0/JfmIe3LVZBc/s320/cb3.png" alt="" id="BLOGGER_PHOTO_ID_5367004274449701202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt8qt0a2I/AAAAAAAAAfs/EmNa9KnBle8/s1600-h/cb4.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt8qt0a2I/AAAAAAAAAfs/EmNa9KnBle8/s320/cb4.png" alt="" id="BLOGGER_PHOTO_ID_5367004269968124770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntt8AN0AxI/AAAAAAAAAfk/cVVvBrajr8k/s1600-h/cb5.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntt8AN0AxI/AAAAAAAAAfk/cVVvBrajr8k/s320/cb5.png" alt="" id="BLOGGER_PHOTO_ID_5367004258559591186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sntt791ymKI/AAAAAAAAAfc/Dm91-gjwwac/s1600-h/cb6.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sntt791ymKI/AAAAAAAAAfc/Dm91-gjwwac/s320/cb6.png" alt="" id="BLOGGER_PHOTO_ID_5367004257921964194" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt7rVkZxI/AAAAAAAAAfU/1bRkKJsYEok/s1600-h/cb7.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sntt7rVkZxI/AAAAAAAAAfU/1bRkKJsYEok/s320/cb7.png" alt="" id="BLOGGER_PHOTO_ID_5367004252954978066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntt0JiMvNI/AAAAAAAAAfM/_uW7c7a8djk/s1600-h/cb8.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntt0JiMvNI/AAAAAAAAAfM/_uW7c7a8djk/s320/cb8.png" alt="" id="BLOGGER_PHOTO_ID_5367004123622063314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnttzxaCzxI/AAAAAAAAAfE/r583-9LZYm0/s1600-h/cb9.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnttzxaCzxI/AAAAAAAAAfE/r583-9LZYm0/s320/cb9.png" alt="" id="BLOGGER_PHOTO_ID_5367004117145407250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnttzfANkOI/AAAAAAAAAe8/QWR4lZuf2wI/s1600-h/cb10.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnttzfANkOI/AAAAAAAAAe8/QWR4lZuf2wI/s320/cb10.png" alt="" id="BLOGGER_PHOTO_ID_5367004112205222114" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnttzFjbXiI/AAAAAAAAAe0/Mfq9bNneVMA/s1600-h/cb11.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SnttzFjbXiI/AAAAAAAAAe0/Mfq9bNneVMA/s320/cb11.png" alt="" id="BLOGGER_PHOTO_ID_5367004105373605410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sntty15oceI/AAAAAAAAAes/gbmRbKmb1u0/s1600-h/cb12.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sntty15oceI/AAAAAAAAAes/gbmRbKmb1u0/s320/cb12.png" alt="" id="BLOGGER_PHOTO_ID_5367004101171769826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;The next of images are obtained after morphological operations.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnttboG8jUI/AAAAAAAAAek/n3VEb3AuxlM/s1600-h/cbm1.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SnttboG8jUI/AAAAAAAAAek/n3VEb3AuxlM/s320/cbm1.png" alt="" id="BLOGGER_PHOTO_ID_5367003702332525890" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnttbXqz4sI/AAAAAAAAAec/DCgPlCm-F54/s1600-h/cbm2.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SnttbXqz4sI/AAAAAAAAAec/DCgPlCm-F54/s320/cbm2.png" alt="" id="BLOGGER_PHOTO_ID_5367003697919550146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnttAWeUDII/AAAAAAAAAeU/n6lvcnWKGA8/s1600-h/cbm3.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SnttAWeUDII/AAAAAAAAAeU/n6lvcnWKGA8/s320/cbm3.png" alt="" id="BLOGGER_PHOTO_ID_5367003233742228610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snts_x-7t3I/AAAAAAAAAeM/siEGEol7Swc/s1600-h/cbm4.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snts_x-7t3I/AAAAAAAAAeM/siEGEol7Swc/s320/cbm4.png" alt="" id="BLOGGER_PHOTO_ID_5367003223946934130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snts_qQu5qI/AAAAAAAAAeE/dWoOOg90QN4/s1600-h/cbm5.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Snts_qQu5qI/AAAAAAAAAeE/dWoOOg90QN4/s320/cbm5.png" alt="" id="BLOGGER_PHOTO_ID_5367003221874108066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snts_QddCnI/AAAAAAAAAd8/_DezWDZPO3s/s1600-h/cbm6.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Snts_QddCnI/AAAAAAAAAd8/_DezWDZPO3s/s320/cbm6.png" alt="" id="BLOGGER_PHOTO_ID_5367003214948141682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snts-zKuGGI/AAAAAAAAAd0/2qnDkClVt0g/s1600-h/cbm7.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Snts-zKuGGI/AAAAAAAAAd0/2qnDkClVt0g/s320/cbm7.png" alt="" id="BLOGGER_PHOTO_ID_5367003207084939362" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SntsgPgqcfI/AAAAAAAAAds/vd9wNlkIe5M/s1600-h/cbm8.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SntsgPgqcfI/AAAAAAAAAds/vd9wNlkIe5M/s320/cbm8.png" alt="" id="BLOGGER_PHOTO_ID_5367002682117222898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntsfh5eVyI/AAAAAAAAAdk/GkBAqCyluQ0/s1600-h/cbm9.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sntsfh5eVyI/AAAAAAAAAdk/GkBAqCyluQ0/s320/cbm9.png" alt="" id="BLOGGER_PHOTO_ID_5367002669873256226" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntsfD1p9cI/AAAAAAAAAdc/gIUraKnwdb4/s1600-h/cbm10.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntsfD1p9cI/AAAAAAAAAdc/gIUraKnwdb4/s320/cbm10.png" alt="" id="BLOGGER_PHOTO_ID_5367002661804176834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SntsedO7y1I/AAAAAAAAAdU/YE8OlNWdiVk/s1600-h/cbm11.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SntsedO7y1I/AAAAAAAAAdU/YE8OlNWdiVk/s320/cbm11.png" alt="" id="BLOGGER_PHOTO_ID_5367002651441220434" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntseN2ZUGI/AAAAAAAAAdM/S8ysoQhBwp0/s1600-h/cbm12.png"&gt;&lt;img style="cursor: pointer; width: 75px; height: 83px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SntseN2ZUGI/AAAAAAAAAdM/S8ysoQhBwp0/s320/cbm12.png" alt="" id="BLOGGER_PHOTO_ID_5367002647311765602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;It can be noticed that the noise (dots) are removed and holes within blobs are filled. Also the edges of the blobs become well recognized. From these set of images, each blob is labeled using BWLABEL. This function labels every connected pixels from 0 - n blobs. Thus, to estimate the mean area of a blob, the areas are tallied and its histogram is plotted. The point where there will be the peak value corresponds to the number of individual cell with that area. This area of the cell will be the highest frequency area because it is dominant in the image.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SntsNENUhvI/AAAAAAAAAdE/cMg5vlg4T7M/s1600-h/hist.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 177px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SntsNENUhvI/AAAAAAAAAdE/cMg5vlg4T7M/s320/hist.png" alt="" id="BLOGGER_PHOTO_ID_5367002352665790194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;From the histogram, I took the top two bins of highest frequency. From its range of areas, I calculated the mean and the standard deviation. I chose these top two bins because I don't have the idea what the ideal cell area is so it would be safe to choose these two bins. The range of these two bins are from 475 - 585. Thus the mean is &lt;span style="font-weight: bold;"&gt;532.81&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;square px&lt;/span&gt; and the stddev is &lt;span style="font-weight: bold;"&gt;18.96&lt;/span&gt;. Also I calculated the area of an individual cell and I obtained &lt;span style="font-weight: bold;"&gt;536 sq px&lt;/span&gt;. The mean estimate is still within comparison range noting the value of the standard deviation.&lt;br /&gt;&lt;br /&gt;I give myself 10 points for finishing and understanding the activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-7708503794935483165?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/7708503794935483165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activityy-9-binary-operations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7708503794935483165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7708503794935483165'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/08/activityy-9-binary-operations.html' title='Activity 9 – Binary Operations'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/SnwP0Ni3NkI/AAAAAAAAAnc/Hwm9PVr7X6Q/s72-c/Circles001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-2360926207230587891</id><published>2009-07-27T07:04:00.000-07:00</published><updated>2009-08-13T06:48:46.247-07:00</updated><title type='text'>Activity 8 - Morphological Operations</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;In this activity, basic morphological operation is introduced. The first operation is by erosion. In  image erosion, images are being thinned according to the structuring element that is used.  The second is image dilation. Dilation allows the image to cover more area based on the structuring element.&lt;br /&gt;&lt;br /&gt;Before simulation, these to operations are solved manually. Shown below are the simulations for these two operations. First is erosion.&lt;br /&gt;&lt;br /&gt;The first column is the original image, the second is for an SE = 4 x 4 ones, third is for 2 x 4 ones, fourth is for 4 x 2 ones and lastly is for a cross that is 5 pixels long and one pixel thick.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25ssfUJPI/AAAAAAAAAc8/PQW1L6zMhq4/s1600-h/square_50.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25ssfUJPI/AAAAAAAAAc8/PQW1L6zMhq4/s320/square_50.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146908776015090" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25r4bLODI/AAAAAAAAAc0/BMr6yVdHmik/s1600-h/sqe1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25r4bLODI/AAAAAAAAAc0/BMr6yVdHmik/s320/sqe1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146894800009266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25rktZzLI/AAAAAAAAAcs/2QhQsmZX9Is/s1600-h/sqe2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25rktZzLI/AAAAAAAAAcs/2QhQsmZX9Is/s320/sqe2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146889507753138" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm25rPNhWvI/AAAAAAAAAck/yNkQRP3H11w/s1600-h/sqe3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm25rPNhWvI/AAAAAAAAAck/yNkQRP3H11w/s320/sqe3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146883736886002" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm25q4CFcqI/AAAAAAAAAcc/TI3bDAun1-U/s1600-h/sqe4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm25q4CFcqI/AAAAAAAAAcc/TI3bDAun1-U/s320/sqe4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146877514904226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25T_wsqvI/AAAAAAAAAcU/VLd-pV4VpRI/s1600-h/tri_30x50.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25T_wsqvI/AAAAAAAAAcU/VLd-pV4VpRI/s320/tri_30x50.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146484452469490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25Tce1DuI/AAAAAAAAAcM/DCFciaGfIhE/s1600-h/trie1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25Tce1DuI/AAAAAAAAAcM/DCFciaGfIhE/s320/trie1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146474982280930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm25Sx_ufpI/AAAAAAAAAcE/bl3a-GOkpHA/s1600-h/trie2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm25Sx_ufpI/AAAAAAAAAcE/bl3a-GOkpHA/s320/trie2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146463577538194" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25SrrU3mI/AAAAAAAAAb8/DaEBTc19iy0/s1600-h/trie3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25SrrU3mI/AAAAAAAAAb8/DaEBTc19iy0/s320/trie3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146461881359970" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25SNKD0xI/AAAAAAAAAb0/GW1xn4Yvym4/s1600-h/trie4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm25SNKD0xI/AAAAAAAAAb0/GW1xn4Yvym4/s320/trie4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146453688767250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm246Z5C8mI/AAAAAAAAAbs/jsuswzxqtfM/s1600-h/circle_25.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm246Z5C8mI/AAAAAAAAAbs/jsuswzxqtfM/s320/circle_25.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146044790207074" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm246DCsPZI/AAAAAAAAAbk/cKwEPacrd14/s1600-h/ce1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm246DCsPZI/AAAAAAAAAbk/cKwEPacrd14/s320/ce1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146038656646546" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm2459P4aMI/AAAAAAAAAbc/6t2HZyfZgLg/s1600-h/ce2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm2459P4aMI/AAAAAAAAAbc/6t2HZyfZgLg/s320/ce2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146037101357250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm245uOo48I/AAAAAAAAAbU/1LBttu5vRV0/s1600-h/ce3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm245uOo48I/AAAAAAAAAbU/1LBttu5vRV0/s320/ce3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146033069614018" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm245Y15VoI/AAAAAAAAAbM/Z6eGWVsNZtk/s1600-h/ce4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm245Y15VoI/AAAAAAAAAbM/Z6eGWVsNZtk/s320/ce4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363146027328689794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm24iq_nrBI/AAAAAAAAAbE/hKrPNvp88Mo/s1600-h/square_hollow_60.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm24iq_nrBI/AAAAAAAAAbE/hKrPNvp88Mo/s320/square_hollow_60.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145637064322066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm24ibo6VpI/AAAAAAAAAa8/XRUO6q7WQFE/s1600-h/hse1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm24ibo6VpI/AAAAAAAAAa8/XRUO6q7WQFE/s320/hse1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145632942544530" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24iMHkTZI/AAAAAAAAAa0/iiM-hnToHjY/s1600-h/hse2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24iMHkTZI/AAAAAAAAAa0/iiM-hnToHjY/s320/hse2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145628776156562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24hx2pmfI/AAAAAAAAAas/2AXLXS1nIgM/s1600-h/hse3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24hx2pmfI/AAAAAAAAAas/2AXLXS1nIgM/s320/hse3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145621725878770" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24hmCqYNI/AAAAAAAAAak/rdaSylvtdxY/s1600-h/hse4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm24hmCqYNI/AAAAAAAAAak/rdaSylvtdxY/s320/hse4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145618555035858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24I_Hjr2I/AAAAAAAAAac/F9z4rxVeqhU/s1600-h/plus_50_8.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24I_Hjr2I/AAAAAAAAAac/F9z4rxVeqhU/s320/plus_50_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145195789725538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm24Ivu3aqI/AAAAAAAAAaU/sXtoFhSe6KQ/s1600-h/pluse1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm24Ivu3aqI/AAAAAAAAAaU/sXtoFhSe6KQ/s320/pluse1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145191659629218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm24Ic4ip-I/AAAAAAAAAaM/EbZvArvoY7A/s1600-h/pluse2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm24Ic4ip-I/AAAAAAAAAaM/EbZvArvoY7A/s320/pluse2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145186599938018" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24IKNq35I/AAAAAAAAAaE/K8kA9hJal9U/s1600-h/pluse3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24IKNq35I/AAAAAAAAAaE/K8kA9hJal9U/s320/pluse3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145181588283282" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24IGRi3YI/AAAAAAAAAZ8/F6SUCMofHTM/s1600-h/pluse4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm24IGRi3YI/AAAAAAAAAZ8/F6SUCMofHTM/s320/pluse4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363145180530793858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;My predictions matched for the square, triangle and circle patterns. But for the hollow square and cross, my prediction are not as accurate. This is because I thought that there will no side lengths in the 2nd to last SE because i thought that the sides will be completely removed. For the cross, I didn't expect the last pattern for the cross SE.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23bWK-XnI/AAAAAAAAAZ0/2OZ8mUlHzTI/s1600-h/square_50.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23bWK-XnI/AAAAAAAAAZ0/2OZ8mUlHzTI/s320/square_50.bmp" alt="" id="BLOGGER_PHOTO_ID_5363144411704090226" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23a55g3QI/AAAAAAAAAZs/Vr6VRkfmp-Q/s1600-h/sq1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23a55g3QI/AAAAAAAAAZs/Vr6VRkfmp-Q/s320/sq1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363144404114660610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23a978XpI/AAAAAAAAAZk/tAq8MIf1Hzk/s1600-h/sq2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm23a978XpI/AAAAAAAAAZk/tAq8MIf1Hzk/s320/sq2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363144405198593682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm23afcBkDI/AAAAAAAAAZc/tXmX-kMSZPQ/s1600-h/sq3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm23afcBkDI/AAAAAAAAAZc/tXmX-kMSZPQ/s320/sq3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363144397011652658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm23aAnyQmI/AAAAAAAAAZU/Uw7VSRBgAd8/s1600-h/sq4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm23aAnyQmI/AAAAAAAAAZU/Uw7VSRBgAd8/s320/sq4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363144388739482210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm22-WfEw9I/AAAAAAAAAZM/SARUP8BZ2Aw/s1600-h/tri_30x50.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm22-WfEw9I/AAAAAAAAAZM/SARUP8BZ2Aw/s320/tri_30x50.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143913572189138" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm22-MAuAlI/AAAAAAAAAZE/JciiUsYX77I/s1600-h/tri1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm22-MAuAlI/AAAAAAAAAZE/JciiUsYX77I/s320/tri1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143910760514130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2290cLe5I/AAAAAAAAAY8/AUwfNpdqQ1c/s1600-h/tri2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2290cLe5I/AAAAAAAAAY8/AUwfNpdqQ1c/s320/tri2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143904433240978" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm229suuHxI/AAAAAAAAAY0/_Ge2Fl6pdSc/s1600-h/tri3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm229suuHxI/AAAAAAAAAY0/_Ge2Fl6pdSc/s320/tri3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143902363524882" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm229MfRQHI/AAAAAAAAAYs/vDVf4kEBcRU/s1600-h/tri4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm229MfRQHI/AAAAAAAAAYs/vDVf4kEBcRU/s320/tri4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143893708783730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm22lkFGMvI/AAAAAAAAAYk/5DAySbgJJv0/s1600-h/circle_25.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm22lkFGMvI/AAAAAAAAAYk/5DAySbgJJv0/s320/circle_25.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143487724598002" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm22lbGD4GI/AAAAAAAAAYc/FZN67DhZ3Cs/s1600-h/c1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm22lbGD4GI/AAAAAAAAAYc/FZN67DhZ3Cs/s320/c1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143485312720994" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm22lAf7wzI/AAAAAAAAAYU/n6_PQW7zlYI/s1600-h/c2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm22lAf7wzI/AAAAAAAAAYU/n6_PQW7zlYI/s320/c2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143478173483826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm22k07Q1HI/AAAAAAAAAYM/M9B_eWty6QM/s1600-h/c3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm22k07Q1HI/AAAAAAAAAYM/M9B_eWty6QM/s320/c3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143475066885234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm22kur_eKI/AAAAAAAAAYE/jiAgyuC-Kbc/s1600-h/c4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm22kur_eKI/AAAAAAAAAYE/jiAgyuC-Kbc/s320/c4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363143473392220322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2118WPqFI/AAAAAAAAAX8/3pQN7rxbsZ4/s1600-h/square_hollow_60.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2118WPqFI/AAAAAAAAAX8/3pQN7rxbsZ4/s320/square_hollow_60.bmp" alt="" id="BLOGGER_PHOTO_ID_5363142669605251154" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm211asTSQI/AAAAAAAAAX0/OntmTLcWeJg/s1600-h/hs1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sm211asTSQI/AAAAAAAAAX0/OntmTLcWeJg/s320/hs1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363142660570958082" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm211N2amiI/AAAAAAAAAXs/-EzvZ10MyDk/s1600-h/hs2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm211N2amiI/AAAAAAAAAXs/-EzvZ10MyDk/s320/hs2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363142657123719714" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2104GzVJI/AAAAAAAAAXk/43hgGVUCY7M/s1600-h/hs3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm2104GzVJI/AAAAAAAAAXk/43hgGVUCY7M/s320/hs3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363142651286869138" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm210uZBMBI/AAAAAAAAAXc/h_YuJkB1-y4/s1600-h/hs4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm210uZBMBI/AAAAAAAAAXc/h_YuJkB1-y4/s320/hs4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363142648678920210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm20mZU5rVI/AAAAAAAAAXU/0TPLm6RboVs/s1600-h/plus_50_8.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm20mZU5rVI/AAAAAAAAAXU/0TPLm6RboVs/s320/plus_50_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5363141302994709842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20mFNbMAI/AAAAAAAAAXM/_8K0dS7rt6c/s1600-h/plus1.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20mFNbMAI/AAAAAAAAAXM/_8K0dS7rt6c/s320/plus1.bmp" alt="" id="BLOGGER_PHOTO_ID_5363141297594642434" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20lzgcOuI/AAAAAAAAAXE/t1UEAN6WmcU/s1600-h/plus2.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20lzgcOuI/AAAAAAAAAXE/t1UEAN6WmcU/s320/plus2.bmp" alt="" id="BLOGGER_PHOTO_ID_5363141292842564322" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20lpH18KI/AAAAAAAAAW8/VKcGYGIqI0A/s1600-h/plus3.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sm20lpH18KI/AAAAAAAAAW8/VKcGYGIqI0A/s320/plus3.bmp" alt="" id="BLOGGER_PHOTO_ID_5363141290055037090" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm20lDP9x6I/AAAAAAAAAW0/tABj_G9irXo/s1600-h/plus4.bmp"&gt;&lt;img style="cursor: pointer; width: 60px; height: 60px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sm20lDP9x6I/AAAAAAAAAW0/tABj_G9irXo/s320/plus4.bmp" alt="" id="BLOGGER_PHOTO_ID_5363141279888557986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Almost all of my predictions are correct in the Dilation of images. The hard one is on the pattern triangle where there will be no pointed corner.&lt;br /&gt;&lt;br /&gt;I give myself 10 points for finishing and understanding the activity.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-2360926207230587891?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/2360926207230587891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/activity-8-morphological-operations.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/2360926207230587891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/2360926207230587891'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/activity-8-morphological-operations.html' title='Activity 8 - Morphological Operations'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/Sm25ssfUJPI/AAAAAAAAAc8/PQW1L6zMhq4/s72-c/square_50.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-7074665453794286789</id><published>2009-07-22T09:15:00.001-07:00</published><updated>2009-08-13T06:50:27.329-07:00</updated><title type='text'>Activity 4 – Enhancement by Histogram Manipulation</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;This activity involves the manipulation of image histograms to enhance the quality of low contrast images. The histogram of an image is equivalent to the Probability Distribution Function taking into account that the whole image is normalized with the total number of pixels. Taking the cumulative sum of this PDF, a CDF or Cumulative Distribution function can be obtained. Using this CDF, one can backproject the gray values of a poor-contrast image to this CDF and in turn enhancing the image.&lt;br /&gt;&lt;br /&gt;Presented in this activity are the different types of CDF to enhance poor-contrast images. Below are the plots of these desired CDFs.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdFuhrh42I/AAAAAAAAARs/HNama0NUggs/s1600-h/cdf_plots.jpg"&gt;&lt;img style="cursor: pointer; width: 380px; height: 211px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdFuhrh42I/AAAAAAAAARs/HNama0NUggs/s320/cdf_plots.jpg" alt="" id="BLOGGER_PHOTO_ID_5361330547025109858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The blue plot represents the CDF of an original image, yellow corresponds to a linear CDF, green is from a non-linear CDF specifically an arctan function and red plot, also a non-linear CDF is a parabolic CDF.&lt;br /&gt;&lt;br /&gt;Displayed below are the corresponding images of the CDFs above. The first image is the original image, 2nd is the enhanced image via backprojection of a linear CDF, 3rd is by using the arctan function and the last set of images are for the parabolic CDF.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAKiLrjKI/AAAAAAAAARk/Jaiau0KMR0E/s1600-h/xray.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 85px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAKiLrjKI/AAAAAAAAARk/Jaiau0KMR0E/s320/xray.jpg" alt="" id="BLOGGER_PHOTO_ID_5361324431126531234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdAKaI-8PI/AAAAAAAAARc/YuCt3KsuAGg/s1600-h/xray_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 85px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdAKaI-8PI/AAAAAAAAARc/YuCt3KsuAGg/s320/xray_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361324428967735538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAKL3BTtI/AAAAAAAAARU/4sF1gqKp22w/s1600-h/xray_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 85px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAKL3BTtI/AAAAAAAAARU/4sF1gqKp22w/s320/xray_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361324425134296786" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAJtnL_hI/AAAAAAAAARM/YJ41oJs9vOQ/s1600-h/xray_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 85px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdAJtnL_hI/AAAAAAAAARM/YJ41oJs9vOQ/s320/xray_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361324417014824466" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Smc_dpm3pdI/AAAAAAAAARE/1ccwJojIwUQ/s1600-h/map.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 69px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Smc_dpm3pdI/AAAAAAAAARE/1ccwJojIwUQ/s320/map.jpg" alt="" id="BLOGGER_PHOTO_ID_5361323660025505234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc_dTh5jqI/AAAAAAAAAQ8/TuuqnOVw4vg/s1600-h/map_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 69px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc_dTh5jqI/AAAAAAAAAQ8/TuuqnOVw4vg/s320/map_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361323654099078818" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Smc_c_d2hlI/AAAAAAAAAQ0/H_BX3tBG8Uw/s1600-h/map_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 69px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Smc_c_d2hlI/AAAAAAAAAQ0/H_BX3tBG8Uw/s320/map_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361323648713393746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc_cgUxPNI/AAAAAAAAAQs/Ef9WEEGYTrk/s1600-h/map_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 69px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc_cgUxPNI/AAAAAAAAAQs/Ef9WEEGYTrk/s320/map_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361323640353799378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc-3BCLmEI/AAAAAAAAAQk/7eKOrPYIHJk/s1600-h/girl.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 95px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc-3BCLmEI/AAAAAAAAAQk/7eKOrPYIHJk/s320/girl.jpg" alt="" id="BLOGGER_PHOTO_ID_5361322996299176002" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc-2oGI0JI/AAAAAAAAAQc/yIpDYJw3xbU/s1600-h/girl_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 95px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc-2oGI0JI/AAAAAAAAAQc/yIpDYJw3xbU/s320/girl_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361322989604884626" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc-2anPYNI/AAAAAAAAAQU/g_nX-GDLYj8/s1600-h/girl_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 95px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc-2anPYNI/AAAAAAAAAQU/g_nX-GDLYj8/s320/girl_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361322985985630418" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc-2Ma8qXI/AAAAAAAAAQM/qDOLtPcLUus/s1600-h/girl_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 95px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc-2Ma8qXI/AAAAAAAAAQM/qDOLtPcLUus/s320/girl_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361322982175975794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc94JXYxoI/AAAAAAAAAQE/WTgU7SP85Yo/s1600-h/war.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc94JXYxoI/AAAAAAAAAQE/WTgU7SP85Yo/s320/war.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321916203845250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93wPxfPI/AAAAAAAAAP8/OGTi48ys0tM/s1600-h/war_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93wPxfPI/AAAAAAAAAP8/OGTi48ys0tM/s320/war_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321909461023986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93hVy-jI/AAAAAAAAAP0/afqcjg6IKUU/s1600-h/war_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93hVy-jI/AAAAAAAAAP0/afqcjg6IKUU/s320/war_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321905459755570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93YI3h9I/AAAAAAAAAPs/k_V3ecAo1e4/s1600-h/war_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc93YI3h9I/AAAAAAAAAPs/k_V3ecAo1e4/s320/war_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321902989608914" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;It can be observed that there is a significant visual difference among the set of processed images. There is a good visual contrast enhancement for both the linear and arctan CDF application. It is observed that compared from the original image, there is good shading and is pleasing to the eye the reconstructions using these CDFs. However for the parabolic CDF, it seems that the image was saturated because this CDF increases the value of each pixel being backprojected as observed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc9WfeJLAI/AAAAAAAAAPk/QQavvltQrrw/s1600-h/hist_war.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc9WfeJLAI/AAAAAAAAAPk/QQavvltQrrw/s320/hist_war.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321338022210562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc9WDaG6PI/AAAAAAAAAPc/UPB7qRwQvf4/s1600-h/hist_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc9WDaG6PI/AAAAAAAAAPc/UPB7qRwQvf4/s320/hist_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321330489092338" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc9V51NpQI/AAAAAAAAAPU/RTWLJ6ub5rI/s1600-h/hist_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc9V51NpQI/AAAAAAAAAPU/RTWLJ6ub5rI/s320/hist_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321327918425346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc9VvslbTI/AAAAAAAAAPM/YT9D1pn4EcE/s1600-h/hist_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Smc9VvslbTI/AAAAAAAAAPM/YT9D1pn4EcE/s320/hist_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361321325197880626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Shown above are the histograms of sample- set of images. From the orginal histogram, there is a concentration of low value pixels whereas when compared with the linear and arctan - enhanced images, there is a good distribution of pixel values both in the high and low pixel values. For the parabolic CDF, there is a lump of pixel value at the high value pixel range making the image look saturated.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc7cqb2uII/AAAAAAAAAPE/bLAt5QNCMHw/s1600-h/cdf_war.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc7cqb2uII/AAAAAAAAAPE/bLAt5QNCMHw/s320/cdf_war.jpg" alt="" id="BLOGGER_PHOTO_ID_5361319245021362306" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc7cGBKEjI/AAAAAAAAAO8/_Au2VgF_mg0/s1600-h/cdf_linear.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc7cGBKEjI/AAAAAAAAAO8/_Au2VgF_mg0/s320/cdf_linear.jpg" alt="" id="BLOGGER_PHOTO_ID_5361319235245707826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc7b8d78TI/AAAAAAAAAO0/X4t2hwDBCYM/s1600-h/cdf_tan.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Smc7b8d78TI/AAAAAAAAAO0/X4t2hwDBCYM/s320/cdf_tan.jpg" alt="" id="BLOGGER_PHOTO_ID_5361319232682062130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc7bsQSQ5I/AAAAAAAAAOs/Ryk44xUclb0/s1600-h/cdf_squared.jpg"&gt;&lt;img style="cursor: pointer; width: 95px; height: 53px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Smc7bsQSQ5I/AAAAAAAAAOs/Ryk44xUclb0/s320/cdf_squared.jpg" alt="" id="BLOGGER_PHOTO_ID_5361319228329837458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;When the CDF of histograms of these images are obtained, the result is the applied CDF in to the image.&lt;br /&gt;&lt;br /&gt;Non-linear CDFs mimic that non-linear human eye response. The results are shown above where there are good enhancements using the arctan and linear CDFs rather than the parabolic CDF.&lt;br /&gt;&lt;br /&gt;I give myself 9 points for finishing and understanding the activity but posted late.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;images are taken from&lt;br /&gt;&lt;br /&gt;http://z.about.com/d/geology/1/0/u/E/1/sutbutaerialorig.jpg&lt;br /&gt;http://static.photo.net/attachments/bboard/00F/00FzkU-29347284.jpg&lt;br /&gt;http://myweb.lsbu.ac.uk/dirt/museum/margaret/08--452-1000120.jpg&lt;br /&gt;http://www.dphclub.com/learn-photoshop/images/war-time-1.jpg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-7074665453794286789?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/7074665453794286789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/a4-enhancement-by-histogram.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7074665453794286789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7074665453794286789'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/a4-enhancement-by-histogram.html' title='Activity 4 – Enhancement by Histogram Manipulation'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdFuhrh42I/AAAAAAAAARs/HNama0NUggs/s72-c/cdf_plots.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-6293312237815717425</id><published>2009-07-20T10:25:00.001-07:00</published><updated>2009-08-13T06:57:36.783-07:00</updated><title type='text'>Activity 7 - Enhancement in the Frequency Domain</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;In this activity, the idea of Fourier transform is being evaluated.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNsTCgncI/AAAAAAAAAWU/0N05hqUA4kw/s1600-h/dot.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNsTCgncI/AAAAAAAAAWU/0N05hqUA4kw/s320/dot.bmp" alt="" id="BLOGGER_PHOTO_ID_5361339304828247490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNsYzZBYI/AAAAAAAAAWM/27LFNvlZA6M/s1600-h/FTdots.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNsYzZBYI/AAAAAAAAAWM/27LFNvlZA6M/s320/FTdots.bmp" alt="" id="BLOGGER_PHOTO_ID_5361339306375447938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2 dots (left)  modulus of FT(right)&lt;br /&gt;Thus the FT of two dots is a sine pattern.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdNiNs78MI/AAAAAAAAAWE/2aC8_R4J0QU/s1600-h/circle_5.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdNiNs78MI/AAAAAAAAAWE/2aC8_R4J0QU/s320/circle_5.bmp" alt="" id="BLOGGER_PHOTO_ID_5361339131596894402" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdNhoA9IBI/AAAAAAAAAV8/qFL8ROzuavI/s1600-h/FTcircle_5.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdNhoA9IBI/AAAAAAAAAV8/qFL8ROzuavI/s320/FTcircle_5.bmp" alt="" id="BLOGGER_PHOTO_ID_5361339121480310802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdNTglOC-I/AAAAAAAAAV0/YvcKCVv4hAM/s1600-h/circle_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdNTglOC-I/AAAAAAAAAV0/YvcKCVv4hAM/s320/circle_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338878966762466" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNTXpIUwI/AAAAAAAAAVs/2TqiBtT67yY/s1600-h/FTcircle_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNTXpIUwI/AAAAAAAAAVs/2TqiBtT67yY/s320/FTcircle_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338876567245570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNTF2KEqI/AAAAAAAAAVk/8iHQf1EgNiU/s1600-h/circle_10.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNTF2KEqI/AAAAAAAAAVk/8iHQf1EgNiU/s320/circle_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338871790047906" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNS0iCHvI/AAAAAAAAAVc/6d90QEHAxss/s1600-h/FTcircle_10.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNS0iCHvI/AAAAAAAAAVc/6d90QEHAxss/s320/FTcircle_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338867142237938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Increasing the size of the circle decreases the area where the sine pattern is observed. Thus, the smaller the size of the circles, the more the sine pattern will be observed.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdNFW0nNcI/AAAAAAAAAVU/j_BVXf2cKg4/s1600-h/square_5.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdNFW0nNcI/AAAAAAAAAVU/j_BVXf2cKg4/s320/square_5.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338635828803010" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNFKXOI3I/AAAAAAAAAVM/EUW5PcGsjRY/s1600-h/FTsquare_5.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdNFKXOI3I/AAAAAAAAAVM/EUW5PcGsjRY/s320/FTsquare_5.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338632484299634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdM0eCpLmI/AAAAAAAAAVE/SpIXHwXrPeo/s1600-h/square_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdM0eCpLmI/AAAAAAAAAVE/SpIXHwXrPeo/s320/square_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338345708924514" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMz5oVLpI/AAAAAAAAAU8/VdQ4Zgfw_0o/s1600-h/FTsquare_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMz5oVLpI/AAAAAAAAAU8/VdQ4Zgfw_0o/s320/FTsquare_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338335934885522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMzexgP3I/AAAAAAAAAU0/_ndFjliaXWk/s1600-h/square_10.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMzexgP3I/AAAAAAAAAU0/_ndFjliaXWk/s320/square_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338328725602162" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdMzez1M5I/AAAAAAAAAUs/-CZUO3eg1eY/s1600-h/FTsquare_10.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdMzez1M5I/AAAAAAAAAUs/-CZUO3eg1eY/s320/FTsquare_10.bmp" alt="" id="BLOGGER_PHOTO_ID_5361338328735363986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The same is true with a 2 square aperture. The smaller the 2 square apertures are, the more the sine pattern (Bessel function) becomes observed.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMX-06lrI/AAAAAAAAAUk/s9oeYQ-WYGs/s1600-h/gauss0_1.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMX-06lrI/AAAAAAAAAUk/s9oeYQ-WYGs/s320/gauss0_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337856293508786" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMXlYTlbI/AAAAAAAAAUc/8JZt1v5tLsE/s1600-h/FTgauss0_1.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMXlYTlbI/AAAAAAAAAUc/8JZt1v5tLsE/s320/FTgauss0_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337849462625714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMXeSU16I/AAAAAAAAAUU/Fb3O1jDW9ZA/s1600-h/gauss0_4.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdMXeSU16I/AAAAAAAAAUU/Fb3O1jDW9ZA/s320/gauss0_4.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337847558494114" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdMXIWbcBI/AAAAAAAAAUM/LTnrx_IDmB4/s1600-h/FTgauss0_4.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdMXIWbcBI/AAAAAAAAAUM/LTnrx_IDmB4/s320/FTgauss0_4.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337841670123538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMJr2OVuI/AAAAAAAAAUE/Hwvrx9XzTbI/s1600-h/gauss0_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMJr2OVuI/AAAAAAAAAUE/Hwvrx9XzTbI/s320/gauss0_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337610680555234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMJX17JrI/AAAAAAAAAT8/A0AG3SK38Q4/s1600-h/FTgauss0_8.bmp"&gt;&lt;img style="cursor: pointer; width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdMJX17JrI/AAAAAAAAAT8/A0AG3SK38Q4/s320/FTgauss0_8.bmp" alt="" id="BLOGGER_PHOTO_ID_5361337605310588594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;In terms of the Gaussian aperture, there is a distinct circular area where the sine pattern is observed. Increasing the  variance increases the area of the observed sine pattern.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLl9DJXsI/AAAAAAAAAT0/v7iaHoNWFhw/s1600-h/gauss0_1.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLl9DJXsI/AAAAAAAAAT0/v7iaHoNWFhw/s320/gauss0_1.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336996822867650" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdLlsmY8uI/AAAAAAAAATs/iS0iY7yLcSc/s1600-h/ftshift_r.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdLlsmY8uI/AAAAAAAAATs/iS0iY7yLcSc/s320/ftshift_r.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336992407286498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdLlVt2zLI/AAAAAAAAATk/V1M3YVI57-A/s1600-h/ftshift_i.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdLlVt2zLI/AAAAAAAAATk/V1M3YVI57-A/s320/ftshift_i.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336986264587442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLKQHPmnI/AAAAAAAAATc/LMLqSsiXAyg/s1600-h/gauss0_1i.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLKQHPmnI/AAAAAAAAATc/LMLqSsiXAyg/s320/gauss0_1i.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336520903989874" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLKLAkHTI/AAAAAAAAATU/hLNtaTgkcCE/s1600-h/ftshift_ri.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdLKLAkHTI/AAAAAAAAATU/hLNtaTgkcCE/s320/ftshift_ri.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336519533796658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdLJyt8T_I/AAAAAAAAATM/s_Y5LGkXNNY/s1600-h/ftshift_ii.bmp"&gt;&lt;img style="cursor: pointer; width: 120px; height: 120px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdLJyt8T_I/AAAAAAAAATM/s_Y5LGkXNNY/s320/ftshift_ii.bmp" alt="" id="BLOGGER_PHOTO_ID_5361336513013239794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The image to the left are the gaussian dots, center are the real parts and to the right are the imaginary parts. It can be observed that both the two Gaussian dots (inverted and not) have the same imaginary parts but different real parts. For this case, the apertures have the same odd signals since they have the same imaginary components.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdQJsDRR3I/AAAAAAAAAWs/Y_GvBqIdYNg/s1600-h/FTlog_fingerprint3.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 156px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdQJsDRR3I/AAAAAAAAAWs/Y_GvBqIdYNg/s320/FTlog_fingerprint3.jpg" alt="" id="BLOGGER_PHOTO_ID_5361342008781784946" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2UDLM2I/AAAAAAAAATE/ZrIBHXEST80/s1600-h/fingerprint3.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 156px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2UDLM2I/AAAAAAAAATE/ZrIBHXEST80/s320/fingerprint3.jpg" alt="" id="BLOGGER_PHOTO_ID_5361335078851654498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2OvnVvI/AAAAAAAAAS0/VsYg6xfex0c/s1600-h/mask11.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 156px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2OvnVvI/AAAAAAAAAS0/VsYg6xfex0c/s320/mask11.jpg" alt="" id="BLOGGER_PHOTO_ID_5361335077427435250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2HpY4jI/AAAAAAAAAS8/JEKBjd7Tpqc/s1600-h/enhanced_fingerprint.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 156px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJ2HpY4jI/AAAAAAAAAS8/JEKBjd7Tpqc/s320/enhanced_fingerprint.jpg" alt="" id="BLOGGER_PHOTO_ID_5361335075522273842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Next is to enhance images using FT. This part is to enhance the fingerprint by removing blotches and enhancing the ridges. A mask is used to allow only the desired high frequency patterns for the fingerprints to be enhanced.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdQJI4m_AI/AAAAAAAAAWk/Ckmk3ejSpE0/s1600-h/FTmoon.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 113px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdQJI4m_AI/AAAAAAAAAWk/Ckmk3ejSpE0/s320/FTmoon.jpg" alt="" id="BLOGGER_PHOTO_ID_5361341999341829122" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJNJQEGCI/AAAAAAAAASs/vhZwCdg6-gw/s1600-h/moon_gray.gif"&gt;&lt;img style="cursor: pointer; width: 150px; height: 113px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdJNJQEGCI/AAAAAAAAASs/vhZwCdg6-gw/s320/moon_gray.gif" alt="" id="BLOGGER_PHOTO_ID_5361334371578288162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdJMgvFFoI/AAAAAAAAASc/LijO6RIEIeY/s1600-h/mask_v3.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 113px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdJMgvFFoI/AAAAAAAAASc/LijO6RIEIeY/s320/mask_v3.jpg" alt="" id="BLOGGER_PHOTO_ID_5361334360702523010" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdJMhG4JsI/AAAAAAAAASk/kRV8bXtPiTI/s1600-h/filtered_moon.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 113px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdJMhG4JsI/AAAAAAAAASk/kRV8bXtPiTI/s320/filtered_moon.jpg" alt="" id="BLOGGER_PHOTO_ID_5361334360802338498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In this part, instead of allowing certain high frequency patterns, these high frequency patterns are blocked. This is to limit the repetition of the vertical lines in the image.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdP4VNfnAI/AAAAAAAAAWc/ctAuBUAp4Kk/s1600-h/FTcanvasweave.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 107px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdP4VNfnAI/AAAAAAAAAWc/ctAuBUAp4Kk/s320/FTcanvasweave.jpg" alt="" id="BLOGGER_PHOTO_ID_5361341710592875522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdI4it1YKI/AAAAAAAAASU/1Qm5He_prQo/s1600-h/canvasweave_gray.JPG"&gt;&lt;img style="cursor: pointer; width: 150px; height: 107px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdI4it1YKI/AAAAAAAAASU/1Qm5He_prQo/s320/canvasweave_gray.JPG" alt="" id="BLOGGER_PHOTO_ID_5361334017636786338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdIULrvs6I/AAAAAAAAASE/9_M3vBq6izs/s1600-h/mask_w2.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 107px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SmdIULrvs6I/AAAAAAAAASE/9_M3vBq6izs/s320/mask_w2.jpg" alt="" id="BLOGGER_PHOTO_ID_5361333392978719650" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdIUa-_lGI/AAAAAAAAASM/aHPVlBjy_Kg/s1600-h/filtered_canvasweave.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 106px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SmdIUa-_lGI/AAAAAAAAASM/aHPVlBjy_Kg/s320/filtered_canvasweave.jpg" alt="" id="BLOGGER_PHOTO_ID_5361333397085983842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is also true for the canvass weave filtering. This is a different mask used to filter out the canvasweave.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdIS0aWHxI/AAAAAAAAAR0/2HhlJPI_IaE/s1600-h/mask_w3.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 107px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdIS0aWHxI/AAAAAAAAAR0/2HhlJPI_IaE/s320/mask_w3.jpg" alt="" id="BLOGGER_PHOTO_ID_5361333369551855378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdITup0VgI/AAAAAAAAAR8/QvrWHDFy87o/s1600-h/canvas.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 107px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SmdITup0VgI/AAAAAAAAAR8/QvrWHDFy87o/s320/canvas.jpg" alt="" id="BLOGGER_PHOTO_ID_5361333385186006530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To visualize the canvas weave, just invert the mask pattern and the resulting image will be the canvasweave patterns.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;In this activity, I learned how to filter and enhance images in the FT space. Also, the formation of certain masks to enhance the images is a skill to develop so that important features of the images will not be sacrificed and only the desired patterns will be  filtered.&lt;br /&gt;&lt;br /&gt;I give myself 10 pts for finishing and understanding the activity.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-6293312237815717425?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/6293312237815717425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/activity-7-enhancement-in-frequency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/6293312237815717425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/6293312237815717425'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/activity-7-enhancement-in-frequency.html' title='Activity 7 - Enhancement in the Frequency Domain'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4pFyP-OoZOE/SmdNsTCgncI/AAAAAAAAAWU/0N05hqUA4kw/s72-c/dot.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-1948908765234356799</id><published>2009-07-08T18:58:00.000-07:00</published><updated>2009-08-10T18:04:07.319-07:00</updated><title type='text'>Activity 6 – Properties of the 2D Fourier Transform</title><content type='html'>Activity 6.A Familiarization with FT of different 2D patterns&lt;br /&gt;&lt;div style="text-align: center;"&gt;Below are the 2D patterns used in this activity:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVY6_SpolI/AAAAAAAAAMM/kXgnsTlCgmg/s1600-h/square.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 86px; height: 87px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVY6_SpolI/AAAAAAAAAMM/kXgnsTlCgmg/s320/square.bmp" alt="" id="BLOGGER_PHOTO_ID_5356285102272389714" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;Square&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVPI1cXniI/AAAAAAAAAJU/taCml7QJ4_Y/s1600-h/c_annulus.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 86px; height: 87px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVPI1cXniI/AAAAAAAAAJU/taCml7QJ4_Y/s320/c_annulus.bmp" alt="" id="BLOGGER_PHOTO_ID_5356274345030688290" border="0" /&gt;&lt;/a&gt;Circular annulus&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVPQSmkHGI/AAAAAAAAAJc/10-fddgxENI/s1600-h/sq_annulus_s.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 84px; height: 84px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVPQSmkHGI/AAAAAAAAAJc/10-fddgxENI/s320/sq_annulus_s.bmp" alt="" id="BLOGGER_PHOTO_ID_5356274473117162594" border="0" /&gt;&lt;/a&gt;square annulus&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVPfFC8zYI/AAAAAAAAAJk/QZrTZcnRFc8/s1600-h/y_slits.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 85px; height: 85px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVPfFC8zYI/AAAAAAAAAJk/QZrTZcnRFc8/s320/y_slits.bmp" alt="" id="BLOGGER_PHOTO_ID_5356274727176162690" border="0" /&gt;&lt;/a&gt;two slits&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVPoWtWw1I/AAAAAAAAAJs/2S2ZOIt8xPo/s1600-h/dot.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 84px; height: 84px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVPoWtWw1I/AAAAAAAAAJs/2S2ZOIt8xPo/s320/dot.bmp" alt="" id="BLOGGER_PHOTO_ID_5356274886536250194" border="0" /&gt;&lt;/a&gt;two dots&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Below are the respective FT of the 2D patterns shown above:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVP14NGhDI/AAAAAAAAAJ0/_q40I18g_xM/s1600-h/FTsquare.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 87px; height: 89px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVP14NGhDI/AAAAAAAAAJ0/_q40I18g_xM/s320/FTsquare.jpg" alt="" id="BLOGGER_PHOTO_ID_5356275118866072626" border="0" /&gt;&lt;/a&gt;FT of Square&lt;br /&gt;The FT of a square aperture is a Bessel function intensity symmetric with x and y axes.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVQX2kbERI/AAAAAAAAAJ8/0S5xs3zFWBM/s1600-h/FTc_annulus.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 85px; height: 87px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVQX2kbERI/AAAAAAAAAJ8/0S5xs3zFWBM/s320/FTc_annulus.jpg" alt="" id="BLOGGER_PHOTO_ID_5356275702542569746" border="0" /&gt;&lt;/a&gt;FT of circular annulus&lt;br /&gt;The FT of a circular annulus is a Bessel function intensity that is radially symmetric with origin.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVQm7hIOsI/AAAAAAAAAKE/uoEkH3USadM/s1600-h/FTsq_annulus.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 88px; height: 88px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVQm7hIOsI/AAAAAAAAAKE/uoEkH3USadM/s320/FTsq_annulus.jpg" alt="" id="BLOGGER_PHOTO_ID_5356275961568967362" border="0" /&gt;&lt;/a&gt;FT of square annulus&lt;br /&gt;This is similar with that of the square pattern only that there are other far-side intensities and smaller amplitude intensity at the origin.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVQ5gDy6xI/AAAAAAAAAKM/rZZXjb0i_tw/s1600-h/FTslit.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 90px; height: 90px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVQ5gDy6xI/AAAAAAAAAKM/rZZXjb0i_tw/s320/FTslit.jpg" alt="" id="BLOGGER_PHOTO_ID_5356276280615693074" border="0" /&gt;&lt;/a&gt;FT of two slits along y direction&lt;br /&gt;The FT is at the opposite direction of the aperture. That is in this example, the slit is along the y direction but the FT plot is along the x-direction. Also, this FT is similar to the square annulus aperture missing the slit along the x-direction.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVQ9KMP9fI/AAAAAAAAAKU/-dCM-Skhof0/s1600-h/FTdot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 90px; height: 90px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVQ9KMP9fI/AAAAAAAAAKU/-dCM-Skhof0/s320/FTdot.jpg" alt="" id="BLOGGER_PHOTO_ID_5356276343465047538" border="0" /&gt;&lt;/a&gt;FT of two dots&lt;br /&gt;The FT of the two dots along the x-axis is just like a french fries that is oriented along the y-axis. Also, it can be observed that the vertical lines are not purely black and white stripes. It looks like the edges are grayscaling. I suspect that these are somewhat sinusoids in y-axis direction.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Sinusoidal waves pattern&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVRSsLdhaI/AAAAAAAAAKc/dEZT0vOhh5k/s1600-h/sine4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 90px; height: 90px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVRSsLdhaI/AAAAAAAAAKc/dEZT0vOhh5k/s320/sine4.jpg" alt="" id="BLOGGER_PHOTO_ID_5356276713365800354" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;sine pattern&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVRcg5bdcI/AAAAAAAAAKk/KAbZickklTg/s1600-h/FTsine4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 91px; height: 91px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVRcg5bdcI/AAAAAAAAAKk/KAbZickklTg/s320/FTsine4.jpg" alt="" id="BLOGGER_PHOTO_ID_5356276882136069570" border="0" /&gt;&lt;/a&gt;FT of sine pattern f = 4&lt;br /&gt;The FT of the sine pattern oriented horizontally with freq = 4 is represented by two dots along the y axis.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVRgV1xt_I/AAAAAAAAAKs/WECscdsDZuA/s1600-h/FTsine6.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 91px; height: 91px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVRgV1xt_I/AAAAAAAAAKs/WECscdsDZuA/s320/FTsine6.jpg" alt="" id="BLOGGER_PHOTO_ID_5356276947887437810" border="0" /&gt;&lt;/a&gt;FT of sine pattern f = 6&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVRjb-i5VI/AAAAAAAAAK0/2-BGPO1z9oY/s1600-h/FTsine8.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 92px; height: 92px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVRjb-i5VI/AAAAAAAAAK0/2-BGPO1z9oY/s320/FTsine8.jpg" alt="" id="BLOGGER_PHOTO_ID_5356277001074435410" border="0" /&gt;&lt;/a&gt;FT of sine pattern f = 8&lt;br /&gt;As the frequency of the pattern is increased, the separation between the two dots also increased. We can say that the FT is symmetric with the x-axis since our sine pattern is oriented along the x direction. Also, we can say that both x and y axes are frequency units.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVUNAlkcEI/AAAAAAAAALU/sYPz18WBqpo/s1600-h/sine_bias.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 94px; height: 94px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVUNAlkcEI/AAAAAAAAALU/sYPz18WBqpo/s320/sine_bias.jpg" alt="" id="BLOGGER_PHOTO_ID_5356279914299682882" border="0" /&gt;&lt;/a&gt;sine pattern with bias y + 1&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVTowsXNiI/AAAAAAAAALM/tCJl2NycPSM/s1600-h/FTsine_bias.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 94px; height: 94px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVTowsXNiI/AAAAAAAAALM/tCJl2NycPSM/s320/FTsine_bias.jpg" alt="" id="BLOGGER_PHOTO_ID_5356279291557918242" border="0" /&gt;&lt;/a&gt;FT of sine pattern with bias y + 1&lt;br /&gt;Observing the FT of the sine pattern above with see that the original sine wave has frequency = 8 which is represented by the previous result. There is an additional dot at the center of the plot representing 0 frequency. Thus we say that the FT has a property of linear combination since the FT plot shows the FT of sine with f = 8 and FT of the bias with obviously with f = 0 since it does not repeat.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVS0Vwul1I/AAAAAAAAAK8/-PND70-NruA/s1600-h/sine_rot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 94px; height: 94px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVS0Vwul1I/AAAAAAAAAK8/-PND70-NruA/s320/sine_rot.jpg" alt="" id="BLOGGER_PHOTO_ID_5356278390975272786" border="0" /&gt;&lt;/a&gt;rotated sine pattern theta = 30&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVTAxzUhBI/AAAAAAAAALE/hyU84QPwAJM/s1600-h/FTsine_rot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 96px; height: 96px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlVTAxzUhBI/AAAAAAAAALE/hyU84QPwAJM/s320/FTsine_rot.jpg" alt="" id="BLOGGER_PHOTO_ID_5356278604660769810" border="0" /&gt;&lt;/a&gt;FT of rotated sine pattern theta = 30&lt;br /&gt;When the vertically oriented sine pattern is tilted by theta = 30, the spot concentration in the FT plot also tilts with respect to the x axis and the spot spreads along the y direction.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVW5Ct5-OI/AAAAAAAAALc/nk0Q9gcZOvs/s1600-h/sine_xy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 98px; height: 98px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVW5Ct5-OI/AAAAAAAAALc/nk0Q9gcZOvs/s320/sine_xy.jpg" alt="" id="BLOGGER_PHOTO_ID_5356282869809019106" border="0" /&gt;&lt;/a&gt;sine product f = 4&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVW5tnfDKI/AAAAAAAAALs/VQ5TeZm9KCQ/s1600-h/FTsine_XY.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 97px; height: 97px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVW5tnfDKI/AAAAAAAAALs/VQ5TeZm9KCQ/s320/FTsine_XY.jpg" alt="" id="BLOGGER_PHOTO_ID_5356282881324813474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;FT of the above pattern&lt;br /&gt;We can see that the FT follows the superposition since the FT displays that of two sine patterns oriented in opposite direction with same f = 4.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVW5drDvNI/AAAAAAAAALk/XhFtKnWiH9A/s1600-h/sine_xy48.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 97px; height: 97px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVW5drDvNI/AAAAAAAAALk/XhFtKnWiH9A/s320/sine_xy48.jpg" alt="" id="BLOGGER_PHOTO_ID_5356282877044833490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;sine product pattern f = 4, f = 6&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVW57zLRAI/AAAAAAAAAL0/lx23lR64xFE/s1600-h/FTsine_XY48.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 99px; height: 99px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlVW57zLRAI/AAAAAAAAAL0/lx23lR64xFE/s320/FTsine_XY48.jpg" alt="" id="BLOGGER_PHOTO_ID_5356282885131944962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;FT of the above pattern&lt;br /&gt;This is just the same as the previous pattern the difference is just there are two distinct frequencies comprising the mat pattern&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVX_immfMI/AAAAAAAAAL8/cAng9bUSCpw/s1600-h/sine_XY%2Brot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 97px; height: 97px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVX_immfMI/AAAAAAAAAL8/cAng9bUSCpw/s320/sine_XY%2Brot.jpg" alt="" id="BLOGGER_PHOTO_ID_5356284080959159490" border="0" /&gt;&lt;/a&gt;sine product plus two rotated sines theta = 30 &amp;amp; 60 f = 4&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVX_-emIyI/AAAAAAAAAME/09FnBjn6aDI/s1600-h/FTsine_XY%2Brot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 97px; height: 97px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlVX_-emIyI/AAAAAAAAAME/09FnBjn6aDI/s320/FTsine_XY%2Brot.jpg" alt="" id="BLOGGER_PHOTO_ID_5356284088441774882" border="0" /&gt;&lt;/a&gt;FT of the above pattern&lt;br /&gt;The above example is a combination of added sine patterns of the same freq along x and y direction and two rotated sines with theta = 30 and 60.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I give myself 10 points for finishing this activity. Its fun!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-1948908765234356799?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/1948908765234356799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/a6-properties-of-2d-fourier-transform.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1948908765234356799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1948908765234356799'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/a6-properties-of-2d-fourier-transform.html' title='Activity 6 – Properties of the 2D Fourier Transform'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/SlVY6_SpolI/AAAAAAAAAMM/kXgnsTlCgmg/s72-c/square.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-1641064709973459681</id><published>2009-07-06T20:17:00.000-07:00</published><updated>2009-07-08T06:37:50.631-07:00</updated><title type='text'>Activity 5 - Fourier Transform Model of Image Enhancement</title><content type='html'>Image Enhancement through Fourier Transform&lt;br /&gt;&lt;br /&gt;Below is an image of a circle of size 128 x 128 px. It is created using scilab and saved as an image to process.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlK-V9Pv_HI/AAAAAAAAAHE/aPJUrx7FAyk/s1600-h/circle.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlK-V9Pv_HI/AAAAAAAAAHE/aPJUrx7FAyk/s320/circle.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552191324093554" border="0" /&gt;&lt;/a&gt;The Fourier transform of a circle aperture or a lens is a bessel function that is symmetric at the origin. Although in the image it is quite small but if you zoom in the image you see that is just not a spot.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlK-kmLnS7I/AAAAAAAAAHM/Pz7Jg4gzP4E/s1600-h/fftcircle.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlK-kmLnS7I/AAAAAAAAAHM/Pz7Jg4gzP4E/s320/fftcircle.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552442830769074" border="0" /&gt;&lt;/a&gt;Taking twice fft2 of the grayscale image before absolute value results in obtaining a circular image again. However, when this procedure is applied to a letter A aperture, it can be noticed that there is flipping from the original aperture.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK-8HOwH4I/AAAAAAAAAHU/LD1NWax8uk0/s1600-h/fftA.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK-8HOwH4I/AAAAAAAAAHU/LD1NWax8uk0/s320/fftA.bmp" alt="" id="BLOGGER_PHOTO_ID_5355552846839291778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the next activity, convolution of two functions is investigated. A circular aperture image is to be convolved with a VIP pattern (as shown below) of the same size.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_LqEtlzI/AAAAAAAAAHc/PJLzzs_nLg0/s1600-h/vip.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_LqEtlzI/AAAAAAAAAHc/PJLzzs_nLg0/s320/vip.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553113890461490" border="0" /&gt;&lt;/a&gt; That is, the fftshifted circular image pattern is element wise multiplied to the fft2 of the VIP pattern image. After getting the inverse fft, the resulting pattern is a flipped image along the diagonal and is distorted a little by the circular aperture.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_W5mICQI/AAAAAAAAAHk/NkZNJPtHC-A/s1600-h/conv1.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_W5mICQI/AAAAAAAAAHk/NkZNJPtHC-A/s320/conv1.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553307035699458" border="0" /&gt;&lt;/a&gt;Decreasing the size of the circular pattern results to a more blurring of the VIP pattern. Physically, as you see through smaller holes your vision is impaired.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_iXJ3N7I/AAAAAAAAAHs/ejrFniCtylA/s1600-h/conv2.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_iXJ3N7I/AAAAAAAAAHs/ejrFniCtylA/s320/conv2.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553503948781490" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_oCLQaxI/AAAAAAAAAH0/n9_PrjDWMSM/s1600-h/conv3.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_oCLQaxI/AAAAAAAAAH0/n9_PrjDWMSM/s320/conv3.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553601396697874" border="0" /&gt;&lt;/a&gt;In the next activity, we investigated on how correlation works for in pattern recognition. First we have an image phrase shown below. The objective is to allow a search pattern of the letter A on the phrase image. This is done using correlation. The Fourier transform of A pattern is taken and it is multiplied element wise to the conjugate of the fft of phrase image.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_3mQlBUI/AAAAAAAAAIE/6apB4K8BmFo/s1600-h/phrase.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlK_3mQlBUI/AAAAAAAAAIE/6apB4K8BmFo/s320/phrase.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553868780733762" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_0s96P2I/AAAAAAAAAH8/EP76NadkaOQ/s1600-h/A.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlK_0s96P2I/AAAAAAAAAH8/EP76NadkaOQ/s320/A.bmp" alt="" id="BLOGGER_PHOTO_ID_5355553819041873762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The result is that the letters A in the phrase is highlighted. Thus, the highlight means that there is high correlation between the pattern A and to some of the attributes of phrase image.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlOFPvdHD2I/AAAAAAAAAI8/hQkVWZLfYhg/s1600-h/ftp.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 193px; height: 193px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlOFPvdHD2I/AAAAAAAAAI8/hQkVWZLfYhg/s320/ftp.bmp" alt="" id="BLOGGER_PHOTO_ID_5355770887356747618" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;For the final activity, we do template matching using correlation. Different templates are used like a vertical template = [-1 2 -1; -1 2 -1; -1 2 -1], horizontal and diagonal. The respective templates used are vertical, horizontal, left diagonal, right diagonal and spot for the following processed images. It can be seen that the kind of template used highlights the direction that is in the same direction at.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLAJKPierI/AAAAAAAAAIU/ftXJxfO-wnA/s1600-h/ver.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLAJKPierI/AAAAAAAAAIU/ftXJxfO-wnA/s320/ver.bmp" alt="" id="BLOGGER_PHOTO_ID_5355554170497825458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLANBbO4UI/AAAAAAAAAIc/A0u-Ya201Zc/s1600-h/hor.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLANBbO4UI/AAAAAAAAAIc/A0u-Ya201Zc/s320/hor.bmp" alt="" id="BLOGGER_PHOTO_ID_5355554236850430274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLARdv1l9I/AAAAAAAAAIk/1TSC1SzS5mk/s1600-h/diag_l.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLARdv1l9I/AAAAAAAAAIk/1TSC1SzS5mk/s320/diag_l.bmp" alt="" id="BLOGGER_PHOTO_ID_5355554313172522962" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLAcPqKlbI/AAAAAAAAAI0/S-MfJRicKM4/s1600-h/spot.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 89px; height: 88px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SlLAcPqKlbI/AAAAAAAAAI0/S-MfJRicKM4/s320/spot.bmp" alt="" id="BLOGGER_PHOTO_ID_5355554498369197490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I give myself 10 points for finishing the activity. I would like to acknowledge Mam Jing and Earl for helping me find loopholes in the code. :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-1641064709973459681?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/1641064709973459681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1641064709973459681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1641064709973459681'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/07/blog-post.html' title='Activity 5 - Fourier Transform Model of Image Enhancement'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4pFyP-OoZOE/SlK-V9Pv_HI/AAAAAAAAAHE/aPJUrx7FAyk/s72-c/circle.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-7755221270058167401</id><published>2009-06-22T18:46:00.000-07:00</published><updated>2009-08-07T00:29:17.853-07:00</updated><title type='text'>Activity 3 - Image types</title><content type='html'>In this activity, different types of images are being discussed namely binary, grayscale, indexed and true color images. Their properties are being discussed and sample types of images are presented.&lt;br /&gt;&lt;br /&gt;Below is a binary image.&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkBLtJ4PTjI/AAAAAAAAADM/WutjAcyNE_g/s1600-h/6_m_airpistol.BMP"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 274px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkBLtJ4PTjI/AAAAAAAAADM/WutjAcyNE_g/s320/6_m_airpistol.BMP" alt="" id="BLOGGER_PHOTO_ID_5350359596434148914" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; FileName: 6_m_airpistol.bmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;       FileSize: 237882&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;         Format: BMP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          Width: 1481&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;         Height: 1265&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          Depth: 8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    StorageType: indexed&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; NumberOfColors: 2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; ResolutionUnit: centimeter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    XResolution: 62.990000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    YResolution: 62.990000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;http://www.louiscandell.com/pdf/targets/6_m_airpistol.BMP&lt;/span&gt;&lt;br /&gt;Below is a grayscale image.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SkBIx3W-zGI/AAAAAAAAAC8/EqdmKbqEIn0/s1600-h/gray+parrot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SkBIx3W-zGI/AAAAAAAAAC8/EqdmKbqEIn0/s320/gray+parrot.png" alt="" id="BLOGGER_PHOTO_ID_5350356378827279458" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;FileName: gray parrot.png&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;       FileSize: 29342&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;         Format: PNG&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;          Width: 150&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;         Height: 200&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;          Depth: 8&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    StorageType: indexed&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt; NumberOfColors: 256&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt; ResolutionUnit: centimeter&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    XResolution: 72.000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    YResolution: 72.000000  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(51, 102, 255);font-size:78%;" &gt;http://en.wikipedia.org/wiki/File:Grayscale_8bits_palette_sample_image.png&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Below is a true color image.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SkA88kV8UnI/AAAAAAAAACk/MWFABJxfoZw/s1600-h/pahiyas.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SkA88kV8UnI/AAAAAAAAACk/MWFABJxfoZw/s320/pahiyas.JPG" alt="" id="BLOGGER_PHOTO_ID_5350343368561676914" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; FileName: pahiyas.jpg&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;       FileSize: 27871&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;         Format: JPEG&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          Width: 400&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;         Height: 300&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          Depth: 8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    StorageType: truecolor&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; NumberOfColors: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; ResolutionUnit: inch&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    XResolution: 160.000000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    YResolution: 160.000000&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Below is an indexed image&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SkBFE1xDaaI/AAAAAAAAACs/iOdCfXsXvi0/s1600-h/indexed.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 155px; height: 148px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SkBFE1xDaaI/AAAAAAAAACs/iOdCfXsXvi0/s320/indexed.gif" alt="" id="BLOGGER_PHOTO_ID_5350352306770766242" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt; FileName: indexed.gif&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;       FileSize: 16029&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;         Format: GIF&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;          Width: 155&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;         Height: 148&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;          Depth: 8&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    StorageType: indexed&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt; NumberOfColors: 256&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt; ResolutionUnit: centimeter&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    XResolution: 72.000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;    YResolution: 72.000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;http://www.devx.com/projectcool/article/19997/0/page/8&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;CODE:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:130%;" &gt;imfinfo('6_m_airpistol.bmp', 'verbose');&lt;br /&gt;imfinfo('pahiyas.jpg', 'verbose');&lt;br /&gt;imfinfo('gray parrot.png', 'verbose')&lt;br /&gt;imfinfo('indexed.gif', 'verbose');&lt;br /&gt;&lt;br /&gt;bw = imread('circle.bmp');&lt;br /&gt;gr = imread('gray parrot.png');&lt;br /&gt;in = imread('indexed.gif');&lt;br /&gt;tc = imread('pahiyas.jpg');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Binary images are easy to find in the net since they are images with pixel values of 1 or 0. They are commonly known as black and white images. Also when presented in scilab, they are those with only 2 number of colors. Grayscale images are those images with 256 number of colors and of one layer only unlike truecolor images where they have 3 color channels for red, green and blue. That's why truecolor images are referred to as RGB images. I am not so sure with regards to indexed images since they are somewhat similar with grayscale images although they have additional stored information -- colormap value. Pixel values are based (ranges) only to some colormap values.&lt;br /&gt;&lt;br /&gt;I give myself 9 points for taking all images of different types and also obtaining important information although i am not so sure with the indexed image sample.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:85%;" &gt;&lt;span style="font-size:130%;"&gt;http://docs.gimp.org/2.2/en/gimp-images-in.html&lt;br /&gt;http://www.mathworks.com/access/helpdesk/help/toolbox/images/index.html?&lt;br /&gt;A3 – Image types and basic image enhancement -- manual&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ROI extension&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlG0YoHOr0I/AAAAAAAAAG0/e9Rqp3ONOyE/s1600-h/circles.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 183px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlG0YoHOr0I/AAAAAAAAAG0/e9Rqp3ONOyE/s320/circles.bmp" alt="" id="BLOGGER_PHOTO_ID_5355259767097831234" border="0" /&gt;&lt;/a&gt;&lt;br /&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;FileName: circles.bmp&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;       &lt;/span&gt;FileSize: 179874&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;         &lt;/span&gt;Format: BMP&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;          &lt;/span&gt;Width: 324&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;         &lt;/span&gt;Height: 185&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;          &lt;/span&gt;Depth: 8&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;StorageType: truecolor&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt; &lt;/span&gt;NumberOfColors: 0&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt; &lt;/span&gt;ResolutionUnit: centimeter&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;XResolution: 37.800000&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;YResolution: 37.800000&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlG0pLvStkI/AAAAAAAAAG8/qDImSVfPIYs/s1600-h/circles_gray.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 183px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SlG0pLvStkI/AAAAAAAAAG8/qDImSVfPIYs/s320/circles_gray.bmp" alt="" id="BLOGGER_PHOTO_ID_5355260051539015234" border="0" /&gt;&lt;/a&gt;&lt;br /&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;FileName: circles_gray.bmp&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;       &lt;/span&gt;FileSize: 61018&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;         &lt;/span&gt;Format: BMP&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;          &lt;/span&gt;Width: 324&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;         &lt;/span&gt;Height: 185&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;          &lt;/span&gt;Depth: 8&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;StorageType: indexed&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt; &lt;/span&gt;NumberOfColors: 256&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt; &lt;/span&gt;ResolutionUnit: centimeter&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;XResolution: 37.800000&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(255, 0, 0);" align="center"&gt;&lt;span style=""&gt;    &lt;/span&gt;YResolution: 37.800000&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlGzruoSrTI/AAAAAAAAAGc/atcg0ihq1M0/s1600-h/polygon_hist.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 252px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlGzruoSrTI/AAAAAAAAAGc/atcg0ihq1M0/s320/polygon_hist.JPG" alt="" id="BLOGGER_PHOTO_ID_5355258995753004338" border="0" /&gt;&lt;/a&gt;&lt;br /&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//histogram&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;x = imread('circles_gray.bmp');&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;mx = max(x);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;sz = size(x,1)*size(x,2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;h = [];&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;for i = 1:mx&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;  &lt;/span&gt;f = find(x == i);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;  &lt;/span&gt;h(i) = length(f);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;end&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); plot2d(h/sz) // histogram plot&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Looking at the histogram, it can be noticed that each colored circle has a distinct gray value (ROI’s) and the white background can be easily separated from the ROI’s through proper thresholding. We then convert the image to binary image and select first the ROI with the lowest gray value up to the highest gray value ROI. The following code and set of images demonstrates how I did it. Separating the objects of interest can be done using proper histogram thresholding.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlG0HSZfGTI/AAAAAAAAAGk/5k7YVkyWsso/s1600-h/thres.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 212px; height: 320px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SlG0HSZfGTI/AAAAAAAAAGk/5k7YVkyWsso/s320/thres.bmp" alt="" id="BLOGGER_PHOTO_ID_5355259469211048242" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;/span&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link style="color: rgb(204, 102, 0);" rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//blue&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;xb = im2bw(x,0.12);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(abs(xb-1), 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//blue and red&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;xbr = im2bw(x, 0.22);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(abs(xbr-1), 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//red&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(xr-xbr, 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//blue, red, violet&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;xbrv = im2bw(x, 0.3);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(abs(xbrv-1), 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//violet&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(xbr-xbrv, 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//blue, red, violet, green&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;xbrvg = im2bw(x, 0.8);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(abs(xbrvg-1), 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//green&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(xbrv-xbrvg, 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//blue, red, violet, green, yellow&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;xbrvgy = im2bw(x, 0.94);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(abs(xbrvgy-1), 2);&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;//yellow&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(204, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;scf(); imshow(xbrvg-xbrvgy, 2);&lt;/span&gt;&lt;/p&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlG0RPgF6PI/AAAAAAAAAGs/0Rio9EEEF3Q/s1600-h/data+colors.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 95px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/SlG0RPgF6PI/AAAAAAAAAGs/0Rio9EEEF3Q/s320/data+colors.bmp" alt="" id="BLOGGER_PHOTO_ID_5355259640232143090" border="0" /&gt;&lt;/a&gt;&lt;br /&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 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///E:%5CDOCUME%7E1%5Cvergara%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&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: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:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	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-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:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Since the sum of the individual color’s analytic area matches with all colors, then it must be correct. Also, the obtained total individual color’s area using Green’s is comparable with all color’s area. Thus, the validity of the code is exemplified with less than 1% error.&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-7755221270058167401?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/7755221270058167401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-3-image-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7755221270058167401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/7755221270058167401'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-3-image-types.html' title='Activity 3 - Image types'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4pFyP-OoZOE/SkBLtJ4PTjI/AAAAAAAAADM/WutjAcyNE_g/s72-c/6_m_airpistol.BMP' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-4069732122039785212</id><published>2009-06-22T18:39:00.001-07:00</published><updated>2009-07-03T06:56:28.876-07:00</updated><title type='text'>Activity 2 - Area Estimation for images with defined edges edges</title><content type='html'>Using the Green's Theorem, areas of some polygons are obtained in square pixels unit. This analytically estimates the area of the polygon by summing all areas of smaller triangles constituting the polygon.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SkLtFpMUgmI/AAAAAAAAAD8/Y0FYb50WajM/s1600-h/greens.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 313px; height: 86px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SkLtFpMUgmI/AAAAAAAAAD8/Y0FYb50WajM/s320/greens.JPG" alt="" id="BLOGGER_PHOTO_ID_5351099988482228834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/SkLqbuEE-cI/AAAAAAAAAD0/EgZlKrxCK8o/s1600-h/circle.bmp"&gt;Images used in the activity:&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 233px; height: 218px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/SkLqbuEE-cI/AAAAAAAAAD0/EgZlKrxCK8o/s320/circle.bmp" alt="" id="BLOGGER_PHOTO_ID_5351097069212072386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkLqYVuY02I/AAAAAAAAADs/3JgS1E7eHE8/s1600-h/rhom.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 297px; height: 263px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkLqYVuY02I/AAAAAAAAADs/3JgS1E7eHE8/s320/rhom.bmp" alt="" id="BLOGGER_PHOTO_ID_5351097011139040098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SkLqUK3D7jI/AAAAAAAAADk/5BJzQsLW7cw/s1600-h/rect.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 288px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SkLqUK3D7jI/AAAAAAAAADk/5BJzQsLW7cw/s320/rect.bmp" alt="" id="BLOGGER_PHOTO_ID_5351096939503152690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkLp7H3hSoI/AAAAAAAAADc/4F56kWoGjEU/s1600-h/t1.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 288px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/SkLp7H3hSoI/AAAAAAAAADc/4F56kWoGjEU/s320/t1.bmp" alt="" id="BLOGGER_PHOTO_ID_5351096509203040898" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sky-BobMQaI/AAAAAAAAAEM/u6xB1KBCEO0/s1600-h/conc.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 178px; height: 164px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sky-BobMQaI/AAAAAAAAAEM/u6xB1KBCEO0/s320/conc.bmp" alt="" id="BLOGGER_PHOTO_ID_5353862992277291426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Area Comparison:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the analytical way of obtaining the area of the white region, I just summed up all the pixels since this is a binary image pixel will only have values of 1 or 0 with 1 representing the white area and 0 as black. Thus I can obtain the area analytically and compare the results with that of Green's theorem. The results are posted below:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sky_3jrQfZI/AAAAAAAAAEk/ydwj_9HRCtg/s1600-h/data.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 78px;" src="http://1.bp.blogspot.com/_4pFyP-OoZOE/Sky_3jrQfZI/AAAAAAAAAEk/ydwj_9HRCtg/s320/data.JPG" alt="" id="BLOGGER_PHOTO_ID_5353865018227064210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;[pol,map] = imread('I.bmp');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;polbw = im2bw(pol,map,0.1);&lt;br /&gt;&lt;br /&gt;[x, y] = follow(polbw);&lt;br /&gt;plot2d(x,y)&lt;br /&gt;sz = size(x,1);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;xi = x(1:sz -1);&lt;br /&gt;yi = y(1:sz -1);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;xi1 = x(2:sz);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;yi1 = y(2:sz);&lt;br /&gt;&lt;br /&gt;area = 0.5 * sum(xi.*yi1 - yi.*xi1) + (sz/2)&lt;br /&gt;areat = sum(polbw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;err = 100 - ((areat - area) / areat) * 100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Above is the code used to implement the Green's Theorem. It is then vectorized and limited the use of for loops to improve the computing time of the code. It is just a simple code to solve Green's.&lt;br /&gt;&lt;br /&gt;The obtained accuracy is very significant since it is at 98 - 100 % accurate in estimating the area. Also, the algorithm has a correction factor added to the computed area of &lt;span style="color: rgb(153, 153, 0);font-size:85%;" &gt;(sz/2)&lt;/span&gt; because it covers the contour plot from the &lt;span style="font-style: italic; color: rgb(153, 153, 0);"&gt;follow&lt;/span&gt; function. This contour is still part of the original area and a small correction has to be added.&lt;br /&gt;&lt;br /&gt;The code is limited to regions only with one filled area. The code does not apply to polygons like a "doughnut" since the &lt;span style="font-style: italic; color: rgb(204, 153, 51);"&gt;follow&lt;/span&gt; function of scilab considers only the first connected contour like. In this case, the inner contour for this region will be neglected and a wrong calculated area will be obtained.&lt;br /&gt;&lt;br /&gt;I give myself 10 points for satisfying the objectives of the activity.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Extension:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Estimating UP-Diliman's total land cover&lt;br /&gt;&lt;br /&gt;I obtained a UP Diliman map from &lt;span style="font-style: italic; color: rgb(51, 204, 0);"&gt;Wikimapia&lt;/span&gt;. To make it easier, I mouse-over the UP area and its boundary higlighted in &lt;span style="color: rgb(255, 204, 0);"&gt;yellow color&lt;/span&gt;. I then have the page &lt;span style="color: rgb(204, 153, 51);"&gt;print-screened&lt;/span&gt;. Using &lt;span style="color: rgb(51, 204, 0);"&gt;Gimp&lt;/span&gt;, I manipulated the image so that only the UP area will be left. I used the &lt;span style="color: rgb(204, 153, 51);"&gt;select by color&lt;/span&gt; tool (subtract), added an alpha channel and copied the selected part. Visit &lt;span style="color: rgb(51, 102, 255);"&gt;http://www.gimp.org/tutorials/Changing_Background_Color_2&lt;/span&gt; for detailed steps. Since I am not skilled in gimp, i used morphological operations in &lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;Matlab&lt;/span&gt; to enhance more the image to fill in the holes. Specifically I used&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt; imclose&lt;/span&gt; function to "fill" the map. I finally have a filled-in UP Diliman map and have to invert the color so that white is inside the contour. The following images will illustrate more of the steps.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sk4J_pTBV1I/AAAAAAAAAFU/BZsQ3QoXi3o/s1600-h/UP.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 199px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/Sk4J_pTBV1I/AAAAAAAAAFU/BZsQ3QoXi3o/s320/UP.jpg" alt="" id="BLOGGER_PHOTO_ID_5354227996012140370" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sk4KL1BOfBI/AAAAAAAAAFc/PolQWWEzH4s/s1600-h/UP1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://2.bp.blogspot.com/_4pFyP-OoZOE/Sk4KL1BOfBI/AAAAAAAAAFc/PolQWWEzH4s/s320/UP1.jpg" alt="" id="BLOGGER_PHOTO_ID_5354228205317159954" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk4KaMriIuI/AAAAAAAAAFk/N9-O7ctOWww/s1600-h/UP3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk4KaMriIuI/AAAAAAAAAFk/N9-O7ctOWww/s320/UP3.jpg" alt="" id="BLOGGER_PHOTO_ID_5354228452186792674" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk4KvVYZYNI/AAAAAAAAAFs/fdevqui20ps/s1600-h/UP4.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk4KvVYZYNI/AAAAAAAAAFs/fdevqui20ps/s320/UP4.bmp" alt="" id="BLOGGER_PHOTO_ID_5354228815299698898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, the final image can now be processed for area estimation in square pixel units. To convert this in square meters, a conversion factor must be obtained. From the print-screened image, I determined how many pixels there are in 500 m after loading it in&lt;span style="color: rgb(0, 153, 0);"&gt; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;Paint&lt;/span&gt;. This can be seen at the lower left part of the image (scale).&lt;br /&gt;&lt;br /&gt;I obtained a conversion ratio of &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;106 px:500 m&lt;/span&gt; and computed UP Diliman area summary:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; area  =    215179.5 sq px&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; areat  =    215469. sq px&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; err  =    0.1343581 %&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; up_area_m2  =    4787724.7 sq m&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; up_area_h  =    &lt;span style="color: rgb(51, 102, 255);"&gt;478.77247 hectares&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 153, 51);"&gt; accuracy  =    &lt;span style="color: rgb(204, 0, 0);"&gt;97.114092 %&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;I can say that the algorithm is very good in the area estimation comparing with the reported &lt;span style="color: rgb(51, 51, 255);"&gt;493 hectares&lt;/span&gt; UP Diliman land cover.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-4069732122039785212?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/4069732122039785212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-2-area-estimation-for-images.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/4069732122039785212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/4069732122039785212'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-2-area-estimation-for-images.html' title='Activity 2 - Area Estimation for images with defined edges edges'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4pFyP-OoZOE/SkLtFpMUgmI/AAAAAAAAAD8/Y0FYb50WajM/s72-c/greens.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-8051411741275288340</id><published>2009-06-17T19:11:00.000-07:00</published><updated>2009-07-14T20:56:37.153-07:00</updated><title type='text'>Activity 1 - Digital Scanning</title><content type='html'>Objective: To reproduce a scanned plot using ratio and proportion of pixel values and its corresponding physical values&lt;br /&gt;&lt;br /&gt;Softwares: OpenOffice.org Calc, Paint and Nero Photoshop&lt;br /&gt;&lt;br /&gt;Procedure:&lt;ol&gt;&lt;li&gt;We looked for a one-plot graph in the library, photocopied it and scanned it.&lt;/li&gt;&lt;li&gt;We opened the image using paint and check if the axes of the graph are in a perpendicular position with respect to the image itself. If not, we used Nero Photoshop to rotate the graph in such a way that the axes are in a right angle position.&lt;/li&gt;&lt;li&gt;After that, we obtained the pixel location of the origin. From my image, it is at (2465, 1637) with the corresponding physical value of (0, 15).&lt;/li&gt;&lt;li&gt;Next is to obtain how many pixels correspond to a physical value both in the x and y tick marks. To do this, I obtained several data and get the average of the pixel values both in x and y axes. On the average, I obtained a 91.7 pixel values for 60 x-physical values and 69.83 pixel values for 5 y-physical values.&lt;/li&gt;&lt;li&gt;Then, we collected pixel locations of points along the graph and tabulated them in Spreadsheet. Pixel locations are seen at the lower right part of the Paint window. There are at least 20 data points collected.&lt;/li&gt;&lt;li&gt;We compute the x and y-factor multipliers using (physical value/pixel value) or (60/91.17) for x and (5/69.83) for y. This will be used in the conversion process.&lt;/li&gt;&lt;li&gt;Conversion of the obtained pixel locations involves shifting and flipping of graph. For the x-axis, we use the equation:&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: center;"&gt;x_new = ((x-xorigin) * xfactor) + xphysorigin&lt;br /&gt;&lt;div style="text-align: left;"&gt;          while for the y-axis, we follow:&lt;br /&gt;&lt;div style="text-align: center;"&gt;y_new = (((-1 * y) + yorigin) * yfactor) + yphysorigin&lt;br /&gt;&lt;div style="text-align: left;"&gt;          where&lt;br /&gt;&lt;div style="text-align: center;"&gt;x and y - pixel points along the graph&lt;br /&gt;xorigin and yorigin - x and y pixel location of origin (2465, 1637)&lt;br /&gt;xfactor and y factor - pre-computed from above ((60/91.17), (5/69.83))&lt;br /&gt;xphsyorigin and yphysorigin - x and y physical values of origin (0,15).&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;From there, we can now reproduce the scanned plot by plotting the x_new and y_new. We want also to check if we got a good new plot so we compare it with the original. We overlay the original graph on the plot chart. We do the following steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Crop only the chart area of the original graph excluding tick mark labels and titles. Only the x and y axes box should be included. Save it as another image. This will be used to overlay in the plot area.&lt;/li&gt;&lt;li&gt;Insert any image in the Spreadsheet, right click it and select Area-Bitmaps-Import. Import the image that should be overlayed on the graph. Save the current bitmap file and overwrite the existing file. Close the spreadsheet application and try filling the chart (reconstructed plot) with the saved bitmap image. It should now then appear on the list of bitmaps.&lt;/li&gt;&lt;li&gt;Uncheck the tile button and check autofit. That should do the overlaying of image on the graph.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4pFyP-OoZOE/SjoJhLYPuTI/AAAAAAAAACE/wuG2tYULOoY/s1600-h/blog+plot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://4.bp.blogspot.com/_4pFyP-OoZOE/SjoJhLYPuTI/AAAAAAAAACE/wuG2tYULOoY/s320/blog+plot.jpg" alt="" id="BLOGGER_PHOTO_ID_5348597973050702130" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;The graph above is the superimposed plots of the reconstructed (green) and the original plot (black). It can be seen that the reconstructed plot is very similar with the scanned graph. I give myself 10 points.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-8051411741275288340?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/8051411741275288340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-1-digital-scanning.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/8051411741275288340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/8051411741275288340'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/activity-1-digital-scanning.html' title='Activity 1 - Digital Scanning'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4pFyP-OoZOE/SjoJhLYPuTI/AAAAAAAAACE/wuG2tYULOoY/s72-c/blog+plot.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1071117363222736718.post-1416462946236709570</id><published>2009-06-15T19:46:00.000-07:00</published><updated>2009-06-15T19:48:26.882-07:00</updated><title type='text'>url name 'plagiarized'</title><content type='html'>ang url kong i-am-not-jonnocon.blogger.com ay hango sa i-am-yonin ni yonin dionisio na kaibigan ko sa yakal!&lt;br /&gt;&lt;br /&gt;mabuhay blogger na ako!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1071117363222736718-1416462946236709570?l=i-am-not-jonnocon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-am-not-jonnocon.blogspot.com/feeds/1416462946236709570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/url-name-plagiarized.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1416462946236709570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1071117363222736718/posts/default/1416462946236709570'/><link rel='alternate' type='text/html' href='http://i-am-not-jonnocon.blogspot.com/2009/06/url-name-plagiarized.html' title='url name &apos;plagiarized&apos;'/><author><name>jannu</name><uri>http://www.blogger.com/profile/04209704016509588148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_4pFyP-OoZOE/Sk0BdIxnbPI/AAAAAAAAAE0/prw8iT-gRZE/S220/s6300613.jpg'/></author><thr:total>0</thr:total></entry></feed>
