{"id":439,"date":"2012-01-13T15:50:33","date_gmt":"2012-01-13T20:50:33","guid":{"rendered":"https:\/\/blogs.mathworks.com\/steve\/?p=439"},"modified":"2012-01-13T15:50:33","modified_gmt":"2012-01-13T20:50:33","slug":"five-years-ago-august-september-and-october-2006","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/steve\/2012\/01\/13\/five-years-ago-august-september-and-october-2006\/","title":{"rendered":"Five years ago: August, September, and October 2006"},"content":{"rendered":"<div xmlns:mwsh=\"https:\/\/www.mathworks.com\/namespace\/mcode\/v1\/syntaxhighlight.dtd\" class=\"content\">\r\n   <p>Much of the information I posted in this blog years ago is still useful today. Image processing theory hasn't been completely\r\n      been overturned since then, and I'm still talking about MATLAB after all. For the benefit of readers who have joined the party\r\n      more recently, I will occasionally recap the useful bits that I posted about five years ago.\r\n   <\/p>\r\n   <p>In August, September, and October of 2006 I finally finished (mostly) a long series of posts covering <a href=\"https:\/\/blogs.mathworks.com\/steve\/category\/spatial-transforms\/\">spatial transforms<\/a>. I posed a <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/08\/08\/reader-challenge-custom-spatial-transformations\/\">reader challenge<\/a> to come up with a particularly interesting and creative custom spatial transformation. My favorite <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/08\/22\/responses-to-reader-challenge\/\">submission<\/a> was this one:\r\n   <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/80\/reader_challenge_03.jpg\"> <\/p>\r\n   <p>I told the story of how we <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/08\/11\/discrete-cosine-transforms-jpeg-and-software-compatibility\/\">guessed wrong<\/a> in the early 1990s about which of the several variants of the discrete cosine transform we should use in the Image Processing\r\n      Toolbox.\r\n   <\/p>\r\n   <p>I <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/09\/20\/unusual-red-eye-reduction-technique\/\">poked fun<\/a> at advertising techniques for digital cameras.\r\n   <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/85\/red_eye_reduction_cropped.jpg\"> <\/p>\r\n   <p>I taught about several image processing concepts, including <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/10\/19\/hough-transform-coordinate-system\/\">Hough transforms<\/a>, <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/10\/04\/separable-convolution\/\">separable convolution<\/a>, and <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/10\/23\/nonflat-grayscale-dilation-and-erosion\/\">nonflat grayscale dilation and erosion<\/a>.\r\n   <\/p>\r\n   <p>And I finally ended ten years of public silence about the <a href=\"https:\/\/blogs.mathworks.com\/steve\/2006\/10\/17\/the-story-behind-the-matlab-default-image\/\">MATLAB default image<\/a>.\r\n   <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_03.jpg\"> <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_04.jpg\"> <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_12.jpg\"> <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_13.jpg\"> <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_14.jpg\"> <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_07.jpg\"> <\/p>\r\n   <p>Be sure to check out the <a href=\"https:\/\/blogs.mathworks.com\/steve\/archives\/\">blog archives<\/a> for more oldies but goodies.\r\n   <\/p><script language=\"JavaScript\">\r\n<!--\r\n\r\n    function grabCode_0833acd73e354c1b9da78458dd874d6b() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='0833acd73e354c1b9da78458dd874d6b ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' 0833acd73e354c1b9da78458dd874d6b';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        author = 'Steve Eddins';\r\n        copyright = 'Copyright 2012 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add author and copyright lines at the bottom if specified.\r\n        if ((author.length > 0) || (copyright.length > 0)) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (author.length > 0) {\r\n                d.writeln('% _' + author + '_');\r\n            }\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n      \r\n      d.title = title + ' (MATLAB code)';\r\n      d.close();\r\n      }   \r\n      \r\n-->\r\n<\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_0833acd73e354c1b9da78458dd874d6b()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n            the MATLAB code \r\n            <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; 7.13<br><\/p>\r\n<\/div>\r\n<!--\r\n0833acd73e354c1b9da78458dd874d6b ##### SOURCE BEGIN #####\r\n%%\r\n% Much of the information I posted in this blog years ago is still useful\r\n% today. Image processing theory hasn't been completely been overturned\r\n% since then, and I'm still talking about MATLAB after all. For the benefit\r\n% of readers who have joined the party more recently, I will occasionally\r\n% recap the useful bits that I posted about five years ago.\r\n%\r\n% In August, September, and October of 2006 I finally finished (mostly) a\r\n% long series of posts covering\r\n% <https:\/\/blogs.mathworks.com\/steve\/category\/spatial-transforms\/ spatial\r\n% transforms>. I posed a\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/08\/08\/reader-challenge-custom-spatial-transformations\/\r\n% reader challenge> to come up with a particularly interesting and\r\n% creative custom spatial transformation. My favorite\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/08\/22\/responses-to-reader-challenge\/\r\n% submission> was this one:\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/80\/reader_challenge_03.jpg>>\r\n%\r\n% I told the story of how we\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/08\/11\/discrete-cosine-transforms-jpeg-and-software-compatibility\/\r\n% guessed wrong> in the early 1990s about which of the several variants of\r\n% the discrete cosine transform we should use in the Image Processing\r\n% Toolbox.\r\n%\r\n% I\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/09\/20\/unusual-red-eye-reduction-technique\/\r\n% poked fun> at advertising techniques for digital cameras.\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/85\/red_eye_reduction_cropped.jpg>>\r\n%\r\n% I taught about several image processing concepts, including\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/10\/19\/hough-transform-coordinate-system\/\r\n% Hough transforms>,\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/10\/04\/separable-convolution\/ separable\r\n% convolution>, and\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/10\/23\/nonflat-grayscale-dilation-and-erosion\/\r\n% nonflat grayscale dilation and erosion>.\r\n%\r\n% And I finally ended ten years of public silence about the\r\n% <https:\/\/blogs.mathworks.com\/steve\/2006\/10\/17\/the-story-behind-the-matlab-default-image\/\r\n% MATLAB default image>.\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_03.jpg>>\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_04.jpg>>\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_12.jpg>>\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_13.jpg>>\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_14.jpg>>\r\n%\r\n% <<https:\/\/blogs.mathworks.com\/images\/steve\/87\/default_image_story_07.jpg>>\r\n%\r\n% Be sure to check out the <https:\/\/blogs.mathworks.com\/steve\/archives\/ blog\r\n% archives> for more oldies but goodies.\r\n\r\n##### SOURCE END ##### 0833acd73e354c1b9da78458dd874d6b\r\n-->","protected":false},"excerpt":{"rendered":"<p>\r\n   Much of the information I posted in this blog years ago is still useful today. Image processing theory hasn't been completely\r\n      been overturned since then, and I'm still talking about... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/steve\/2012\/01\/13\/five-years-ago-august-september-and-october-2006\/\">read more >><\/a><\/p>","protected":false},"author":42,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/439"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":3,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/439\/revisions"}],"predecessor-version":[{"id":442,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/439\/revisions\/442"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/media?parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/categories?post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/tags?post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}