{"id":2168,"date":"2012-04-27T14:35:27","date_gmt":"2012-04-27T21:35:27","guid":{"rendered":"http:\/\/mcclanahoochie.com\/blog\/?post_type=portfolio&#038;p=2168"},"modified":"2023-06-10T10:32:42","modified_gmt":"2023-06-10T17:32:42","slug":"opencl-image-pyramid-detail-enhancement","status":"publish","type":"post","link":"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/","title":{"rendered":"Laplacian Pyramid Image Enhancement"},"content":{"rendered":"<p><em>My final project for the Computational Photography class at GaTech.<\/em><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr_detail.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2181\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/pyr_detail\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr_detail.png?fit=128%2C128&amp;ssl=1\" data-orig-size=\"128,128\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"pyr_detail\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr_detail.png?fit=128%2C128&amp;ssl=1\" class=\"alignnone size-full wp-image-2181\" title=\"pyr_detail\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr_detail.png?resize=128%2C128\" alt=\"\" width=\"128\" height=\"128\" \/><\/a><\/p>\n<h1><span style=\"font-size: x-large;\">Multi-scale image contrast\/detail manipulation<\/span><\/h1>\n<p>Operating on images at multiple scales is conventionally done using multi-scale decompositions, such as the Laplacian pyramid [Burt and Adelson 1983].\u00a0Such techniques decompose an image to multiple detail layers at different scales in a pyramid like fashion.<\/p>\n<p>This project demonstrates how a laplacian pyramid based on the bilateral filter [Tomasi and Manduchi 1998; Durand and Dorsey 2002] can be used for exaggerating details in an image.<\/p>\n<p>I made a simple program in <em>OpenCL<\/em> that allows for interactively manipulating images at 3 different detail layers and the color base layer.<\/p>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-size: x-large;\">Media<\/span><\/h1>\n<p>Read the\u00a0<strong><a href=\"https:\/\/docs.google.com\/presentation\/pub?id=1K7qToUyTQZARMgCU8WnORgl8OzVgDD_yjTnjGrXUBHE&amp;start=false&amp;loop=false&amp;delayms=3000\" target=\"_blank\" rel=\"noopener\">Class Slides<\/a><\/strong> for more explanation!<\/p>\n<p>Watch the\u00a0<strong><a title=\"Demo Video\" href=\"http:\/\/www.youtube.com\/watch?v=WstBpPgM8_M \" target=\"_blank\" rel=\"noopener\">Demo Video<\/a><\/strong> to see the program in action!<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/WstBpPgM8_M?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span><\/p>\n<h1><\/h1>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-size: x-large;\">Excerpt from my class slides<\/span><\/h1>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2175\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/pyr-diagram-3-g\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?fit=1366%2C1198&amp;ssl=1\" data-orig-size=\"1366,1198\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"pyr-diagram-3-g\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?fit=1024%2C898&amp;ssl=1\" class=\"alignnone size-large wp-image-2175\" title=\"pyr-diagram-3-g\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g-1024x898.png?resize=584%2C512\" alt=\"\" width=\"584\" height=\"512\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?resize=1024%2C898&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?resize=300%2C263&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?resize=342%2C300&amp;ssl=1 342w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-diagram-3-g.png?w=1366&amp;ssl=1 1366w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2176\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/pyr-enhancement\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?fit=1366%2C981&amp;ssl=1\" data-orig-size=\"1366,981\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"pyr-enhancement\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?fit=1024%2C735&amp;ssl=1\" class=\"alignnone size-large wp-image-2176\" title=\"pyr-enhancement\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement-1024x735.png?resize=584%2C419\" alt=\"\" width=\"584\" height=\"419\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?resize=1024%2C735&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?resize=300%2C215&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?resize=417%2C300&amp;ssl=1 417w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-enhancement.png?w=1366&amp;ssl=1 1366w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2177\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/pyr-reconstruction\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png?fit=1366%2C2062&amp;ssl=1\" data-orig-size=\"1366,2062\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"pyr-reconstruction\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png?fit=678%2C1024&amp;ssl=1\" class=\"alignnone size-large wp-image-2177\" title=\"pyr-reconstruction\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction-678x1024.png?resize=584%2C882\" alt=\"\" width=\"584\" height=\"882\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png?resize=678%2C1024&amp;ssl=1 678w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png?resize=198%2C300&amp;ssl=1 198w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/pyr-reconstruction.png?w=1366&amp;ssl=1 1366w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-size: x-large;\">Example<\/span><\/h1>\n<figure id=\"attachment_2178\" aria-describedby=\"caption-attachment-2178\" style=\"width: 574px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2178\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/stream_orig\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?fit=1400%2C933&amp;ssl=1\" data-orig-size=\"1400,933\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;22&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;NIKON D3100&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1326642739&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;18&quot;,&quot;iso&quot;:&quot;100&quot;,&quot;shutter_speed&quot;:&quot;1&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"stream_orig\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?fit=1024%2C682&amp;ssl=1\" class=\" wp-image-2178\" title=\"stream_orig\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig-1024x682.jpg?resize=584%2C388\" alt=\"Stream - original\" width=\"584\" height=\"388\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?resize=1024%2C682&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?resize=450%2C300&amp;ssl=1 450w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_orig.jpg?w=1400&amp;ssl=1 1400w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><figcaption id=\"caption-attachment-2178\" class=\"wp-caption-text\">Stream &#8211; original<\/figcaption><\/figure>\n<figure id=\"attachment_2179\" aria-describedby=\"caption-attachment-2179\" style=\"width: 574px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2179\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/stream_pyrdetail\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?fit=1400%2C933&amp;ssl=1\" data-orig-size=\"1400,933\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"stream_pyrdetail\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?fit=1024%2C682&amp;ssl=1\" class=\" wp-image-2179\" title=\"stream_pyrdetail\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail-1024x682.jpg?resize=584%2C388\" alt=\"Stream - adjusted\" width=\"584\" height=\"388\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?resize=1024%2C682&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?resize=450%2C300&amp;ssl=1 450w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/stream_pyrdetail.jpg?w=1400&amp;ssl=1 1400w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><figcaption id=\"caption-attachment-2179\" class=\"wp-caption-text\">Stream &#8211; adjusted<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-size: x-large;\">Download:<\/span><\/h1>\n<p><strong>PyrDetail &#8211; <a href=\"http:\/\/dl.dropbox.com\/u\/2686520\/pyr_detail\/pyr_detail_mac.zip\">Mac app<\/a> (64 bit)<\/strong><br \/>\n<strong> PyrDetail &#8211; <a href=\"http:\/\/dl.dropbox.com\/u\/2686520\/pyr_detail\/pyr_detail_linux.zip\" target=\"_blank\" rel=\"noopener\">Linux app<\/a> (64 bit)<\/strong><\/p>\n<p><em>Note 1: <\/em><br \/>\nThese libraries required to run the app on linux:<br \/>\n* <a href=\"http:\/\/sourceforge.net\/projects\/opencvlibrary\/files\/\" target=\"_blank\" rel=\"noopener\">OpenCV<\/a><br \/>\n* <a href=\"http:\/\/qt.nokia.com\/downloads\/downloads#qt-lib\" target=\"_blank\" rel=\"noopener\">Qt<\/a>\u00a0 (OpenCV installs some Qt libs, but just in case)<br \/>\n* OpenCL \u00a0(should already be installed by your graphics card driver)<\/p>\n<p><em>Note 2: <\/em><br \/>\nThe Mac version is more up-to-date (with added pre-smoothing option), and should now run as a drag-n-drop App!<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><strong>Update: 03\/15\/2013<\/strong><br \/>\n<em>New version 0.7<\/em><br \/>\n-Added presets<br \/>\n-Added histogram<br \/>\n-Misc internal tweaks<br \/>\n-(updated Mac Only, linux update will come soon)<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2771\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/screen-shot-2013-03-29-at-12-41-46-pm\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?fit=1111%2C694&amp;ssl=1\" data-orig-size=\"1111,694\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screen Shot 2013-03-29 at 12.41.46 PM\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?fit=1024%2C639&amp;ssl=1\" class=\"aligncenter size-medium wp-image-2771\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM-300x187.png?resize=300%2C187\" alt=\"Screen Shot 2013-03-29 at 12.41.46 PM\" width=\"300\" height=\"187\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?resize=300%2C187&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?resize=1024%2C639&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?resize=480%2C300&amp;ssl=1 480w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.41.46-PM.png?w=1111&amp;ssl=1 1111w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2772\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/screen-shot-2013-03-29-at-12-42-26-pm\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?fit=1111%2C694&amp;ssl=1\" data-orig-size=\"1111,694\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screen Shot 2013-03-29 at 12.42.26 PM\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?fit=1024%2C639&amp;ssl=1\" class=\"aligncenter size-medium wp-image-2772\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM-300x187.png?resize=300%2C187\" alt=\"Screen Shot 2013-03-29 at 12.42.26 PM\" width=\"300\" height=\"187\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?resize=300%2C187&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?resize=1024%2C639&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?resize=480%2C300&amp;ssl=1 480w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/04\/Screen-Shot-2013-03-29-at-12.42.26-PM.png?w=1111&amp;ssl=1 1111w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>(SEO laplacian pyramid image enhancement)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My final project for the Computational Photography class at GaTech. Multi-scale image contrast\/detail manipulation Operating on images at multiple scales is conventionally done using multi-scale decompositions, such as the Laplacian pyramid [Burt and Adelson 1983].\u00a0Such techniques decompose an image to multiple detail layers at different scales in a pyramid like fashion. This project demonstrates how &#8230; <a title=\"Laplacian Pyramid Image Enhancement\" class=\"read-more\" href=\"https:\/\/mcclanahoochie.com\/blog\/2012\/04\/opencl-image-pyramid-detail-enhancement\/\" aria-label=\"Read more about Laplacian Pyramid Image Enhancement\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[58,107,94,103,108,54,105,109,74,106,101,29,104],"class_list":["post-2168","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-computational-photography","tag-detail","tag-enhancement","tag-gpgpu","tag-image-enhancement","tag-image-processing","tag-laplacian","tag-opencl","tag-osx","tag-photo","tag-programming","tag-projects","tag-pyramid"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pZdXI-yY","jetpack-related-posts":[{"id":1966,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/12\/computer-vision-learning-portfolio\/","url_meta":{"origin":2168,"position":0},"title":"Computer Vision Learning Portfolio","author":"mcclanahoochie","date":"December 12, 2011","format":false,"excerpt":"This page constitutes my required\u00a0external\u00a0learning portfolio for CS 7495, Computer Vision, taken in Fall 2011. In it, I discuss what I have learned throughout the course, my activities and findings, how I think I did, and what impact it had on me. About me I am a coffee fanatic that\u2026","rel":"","context":"In \"computer vision\"","block_context":{"text":"computer vision","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/computer-vision\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/12\/chris-raffertys-2-150x150.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1912,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/11\/mini-review-of-topaz-adjust-5\/","url_meta":{"origin":2168,"position":1},"title":"Mini-Review of Topaz Adjust 5","author":"mcclanahoochie","date":"November 24, 2011","format":false,"excerpt":"I recently picked up a copy of Topaz Adjust 5 (released November 15th 2011), and fell in love with it! Here is a simple mini-review and some first impressions of Adjust 5. Topaz Adjust is a photo-editing plug-in developed by Topaz Labs that integrates into editors (such as Photoshop) by\u2026","rel":"","context":"In \"image editing\"","block_context":{"text":"image editing","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/image-editing\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/11\/topaz-labs-logo.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2018,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/12\/last-post-of-2011\/","url_meta":{"origin":2168,"position":2},"title":"Last Post of 2011","author":"mcclanahoochie","date":"December 31, 2011","format":false,"excerpt":"Nothing important here, just some last minute ramblings while reflecting back on 2011... January - Spoke at the ATT Developer's Conference about a few of my Android projects February - Bought my first DSLR: a Nikon D3100 March - Discovered HDR photography April - Released first version of ViewerCV into\u2026","rel":"","context":"In \"life\"","block_context":{"text":"life","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/life\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/lh4.googleusercontent.com\/--3YyhA5zcyE\/Tvo1Ap80SuE\/AAAAAAAAEI0\/nU4TJ4fZq8c\/s160-c\/BestOf2011.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1177,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/04\/real-time-hdr-tonemapping\/","url_meta":{"origin":2168,"position":3},"title":"Single Camera Real Time HDR Tonemapping","author":"mcclanahoochie","date":"April 26, 2011","format":false,"excerpt":"April 2011 \u00a0 Abstract As a final project for my Computational Photography class at Georgia Tech, I created an application that uses a single video camera to create tonemapped HDR images in real time. This project's inspiration comes from Soviet Montage Production's DSLR HDR video. The app runs on Linux\u2026","rel":"","context":"In \"computational photography\"","block_context":{"text":"computational photography","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/computational-photography\/"},"img":{"alt_text":"contrast mapping","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/04\/map-1024x640.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/04\/map-1024x640.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/04\/map-1024x640.png?resize=525%2C300 1.5x"},"classes":[]},{"id":2072,"url":"https:\/\/mcclanahoochie.com\/blog\/2012\/01\/using-gradient-layer-masks-in-gimp\/","url_meta":{"origin":2168,"position":4},"title":"Using Gradient Layer Masks in GIMP","author":"mcclanahoochie","date":"January 29, 2012","format":false,"excerpt":"Some simple notes on how to seamlessly blend images in GIMP using gradient based layer masks. INPUT IMAGES 4 images with only different shutter speeds: PROCESS Open all images as separate layers in a new GIMP canvas: Right click a layer > \"Add layer mask\" > choose default \"White full\u2026","rel":"","context":"In \"computational photography\"","block_context":{"text":"computational photography","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/computational-photography\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/01\/stream-i1-2-150x150.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":516,"url":"https:\/\/mcclanahoochie.com\/blog\/2010\/08\/gimp-national-geographic-script\/","url_meta":{"origin":2168,"position":5},"title":"Awesome National Geographic Script in GIMP","author":"mcclanahoochie","date":"August 21, 2010","format":false,"excerpt":"After installing the new plug-in registry for GIMP, I stumbled upon the amazing National Geographic Script. It is incredible! This script simulates high quality, vivid photos - like the ones from the National Geographic magazine. It uses a configurable mixture of shadow recovery, sharpening, local contrast, and various color overlay\u2026","rel":"","context":"In \"gimp\"","block_context":{"text":"gimp","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/gimp\/"},"img":{"alt_text":"Original Image - Driftwood","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/08\/01540_driftwood_384x240.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/2168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/comments?post=2168"}],"version-history":[{"count":0,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/2168\/revisions"}],"wp:attachment":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/media?parent=2168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/categories?post=2168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/tags?post=2168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}