CINXE.COM
HD View | stitching and viewing panoramas
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title> HD View | stitching and viewing panoramas</title> <link rel="profile" href="https://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="https://s2.wp.com/wp-content/themes/pub/twentyten/style.css?ver=20190507" /> <link rel="pingback" href="https://hdview.wordpress.com/xmlrpc.php"> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//s1.wp.com' /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//s2.wp.com' /> <link rel='dns-prefetch' href='//af.pubmine.com' /> <link rel='dns-prefetch' href='//s.pubmine.com' /> <link rel='dns-prefetch' href='//x.bidswitch.net' /> <link rel='dns-prefetch' href='//static.criteo.net' /> <link rel='dns-prefetch' href='//ib.adnxs.com' /> <link rel='dns-prefetch' href='//aax.amazon-adsystem.com' /> <link rel='dns-prefetch' href='//bidder.criteo.com' /> <link rel='dns-prefetch' href='//cas.criteo.com' /> <link rel='dns-prefetch' href='//gum.criteo.com' /> <link rel='dns-prefetch' href='//ads.pubmatic.com' /> <link rel='dns-prefetch' href='//gads.pubmatic.com' /> <link rel='dns-prefetch' href='//tpc.googlesyndication.com' /> <link rel='dns-prefetch' href='//ad.doubleclick.net' /> <link rel='dns-prefetch' href='//googleads.g.doubleclick.net' /> <link rel='dns-prefetch' href='//www.googletagservices.com' /> <link rel='dns-prefetch' href='//cdn.switchadhub.com' /> <link rel='dns-prefetch' href='//delivery.g.switchadhub.com' /> <link rel='dns-prefetch' href='//delivery.swid.switchadhub.com' /> <link rel='dns-prefetch' href='//a.teads.tv' /> <link rel='dns-prefetch' href='//prebid.media.net' /> <link rel='dns-prefetch' href='//adserver-us.adtech.advertising.com' /> <link rel='dns-prefetch' href='//fastlane.rubiconproject.com' /> <link rel='dns-prefetch' href='//prebid-server.rubiconproject.com' /> <link rel='dns-prefetch' href='//hb-api.omnitagjs.com' /> <link rel='dns-prefetch' href='//mtrx.go.sonobi.com' /> <link rel='dns-prefetch' href='//apex.go.sonobi.com' /> <link rel='dns-prefetch' href='//u.openx.net' /> <link rel="alternate" type="application/rss+xml" title="HD View » Feed" href="https://hdview.wordpress.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="HD View » Comments Feed" href="https://hdview.wordpress.com/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldonload(); func(); } } } /* ]]> */ </script> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s0.wp.com\/wp-content\/mu-plugins\/wpcom-smileys\/twemoji\/2\/72x72\/","ext":".png","svgUrl":"https:\/\/s0.wp.com\/wp-content\/mu-plugins\/wpcom-smileys\/twemoji\/2\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/s2.wp.com\/wp-includes\/js\/wp-emoji-release.min.js?m=1743165756i&ver=6.8-beta3-60087"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link crossorigin='anonymous' rel='stylesheet' id='all-css-0-1' href='https://s0.wp.com/_static/??-eJyFjd0KwjAMhV/Ims0h80Z8lq6NpVv6w5Ja9vZWUEQEvTw538kHNSuTomAUmCg5lak4HxlqWq22DI7SpGlvmHfwj5Xaqq316nb4WoTy5r11KAxYWpsWj4p0BcGQSQsysGyEv5VBrwuKj05NeoWGfl5+2WeUrM3yzMAlQki2UBP7ePXRCyo2ayJ65e3x7hLO/TiMfXfqjsN8B3CjdQk=&cssminify=yes' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='https://s0.wp.com/_static/??-eJyljkEKwjAQRS9kMm0ISBfiWZJ2iKlpEmYmSm5vdSO4Krj8PN7jw7OquWTBLFBTCzEzhLZPjxR2QggPM+hBW/AtpgV8KvNdpejJUQeWnlDPzCf4LyQ33I6EPhbDilLdW3e9NFGB4nL4y0+CnMQc+Ktft8t4tqOZJmPs+gJ1p2pO&cssminify=yes' type='text/css' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify { text-align:justify; } .has-text-align-justify{text-align:justify;} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-4-1' href='https://s2.wp.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpoZmFkYGRuZGmQBAHPvL0Y=&cssminify=yes' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-6-1' href='https://s2.wp.com/wp-content/plugins/coblocks/2.18.1-simple-rev.4/dist/coblocks-style.css?m=1681832297i&cssminify=yes' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-8-1' href='https://s1.wp.com/_static/??/wp-content/mu-plugins/core-compat/wp-mediaelement.css,/wp-content/mu-plugins/wpcom-bbpress-premium-themes.css?m=1432920480j&cssminify=yes' type='text/css' media='all' /> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--blue: #0066cc;--wp--preset--color--medium-gray: #666;--wp--preset--color--light-gray: #f1f1f1;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-10-1' href='https://s0.wp.com/_static/??/wp-content/themes/pub/twentyten/blocks.css,/wp-content/themes/pub/twentyten/style-wpcom.css?m=1610459589j&cssminify=yes' type='text/css' media='all' /> <style id='akismet-widget-style-inline-css'> .a-stats { --akismet-color-mid-green: #357b49; --akismet-color-white: #fff; --akismet-color-light-grey: #f6f7f7; max-width: 350px; width: auto; } .a-stats * { all: unset; box-sizing: border-box; } .a-stats strong { font-weight: 600; } .a-stats a.a-stats__link, .a-stats a.a-stats__link:visited, .a-stats a.a-stats__link:active { background: var(--akismet-color-mid-green); border: none; box-shadow: none; border-radius: 8px; color: var(--akismet-color-white); cursor: pointer; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; font-weight: 500; padding: 12px; text-align: center; text-decoration: none; transition: all 0.2s ease; } /* Extra specificity to deal with TwentyTwentyOne focus style */ .widget .a-stats a.a-stats__link:focus { background: var(--akismet-color-mid-green); color: var(--akismet-color-white); text-decoration: none; } .a-stats a.a-stats__link:hover { filter: brightness(110%); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); } .a-stats .count { color: var(--akismet-color-white); display: block; font-size: 1.5em; line-height: 1.4; padding: 0 13px; white-space: nowrap; } </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='https://s1.wp.com/_static/??-eJx9jEEOwjAMBD9EcHNoxQXxlhDc4OLYUeOo6u8JEgeQELedlWZgKy6qGIpBbq5wSyQVVryypj4TxPqJx44H+C0lVMcag5HKF7iZA63/1AWthPh4M9QmkPXWGCuQzCRk6GpclRnsjrnftvXE3juv7CWf/XQavR+HaViej7xPTg==&cssminify=yes' type='text/css' media='all' /> <style id='jetpack-global-styles-frontend-style-inline-css'> :root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='https://s2.wp.com/wp-content/themes/h4/global.css?m=1420737423i&cssminify=yes' type='text/css' media='all' /> <script type="text/javascript" id="wpcom-actionbar-placeholder-js-extra"> /* <![CDATA[ */ var actionbardata = {"siteID":"16334388","postID":"0","siteURL":"http:\/\/hdview.wordpress.com","xhrURL":"https:\/\/hdview.wordpress.com\/wp-admin\/admin-ajax.php","nonce":"95491f6cac","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https:\/\/s0.wp.com\/wp-content\/js\/wpcom-proxy-request.js?ver=20211021","i18n":{"followedText":"New posts from this site will now appear in your <a href=\"https:\/\/wordpress.com\/reader\">Reader<\/a>","foldBar":"Collapse this bar","unfoldBar":"Expand this bar","shortLinkCopied":"Shortlink copied to clipboard."}}; /* ]]> */ </script> <script type="text/javascript" id="jetpack-mu-wpcom-settings-js-before"> /* <![CDATA[ */ var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https:\/\/s1.wp.com\/wp-content\/mu-plugins\/jetpack-mu-wpcom-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-mu-wpcom\/src\/build\/"}; /* ]]> */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s1.wp.com/_static/??/wp-content/js/rlt-proxy.js,/wp-content/blog-plugins/wordads-classes/js/cmp/v2/cmp-non-gdpr.js?m=1720530689j'></script> <script type="text/javascript" id="rlt-proxy-js-after"> /* <![CDATA[ */ rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} ); /* ]]> */ </script> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://hdview.wordpress.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress.com" /> <link rel='shortlink' href='https://wp.me/16xjS' /> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="website" /> <meta property="og:title" content="HD View" /> <meta property="og:description" content="stitching and viewing panoramas" /> <meta property="og:url" content="https://hdview.wordpress.com/" /> <meta property="og:site_name" content="HD View" /> <meta property="og:image" content="https://s0.wp.com/i/blank.jpg" /> <meta property="og:image:alt" content="" /> <meta property="og:locale" content="en_US" /> <meta property="fb:app_id" content="249643311490" /> <!-- End Jetpack Open Graph Tags --> <link rel="shortcut icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico" sizes="16x16 24x24 32x32 48x48" /> <link rel="icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico" sizes="16x16 24x24 32x32 48x48" /> <link rel="apple-touch-icon" href="https://s2.wp.com/i/webclip.png" /> <link rel='openid.server' href='https://hdview.wordpress.com/?openidserver=1' /> <link rel='openid.delegate' href='https://hdview.wordpress.com/' /> <link rel="search" type="application/opensearchdescription+xml" href="https://hdview.wordpress.com/osd.xml" title="HD View" /> <link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" /> <meta name="description" content="stitching and viewing panoramas" /> <script type="text/javascript"> /* <![CDATA[ */ var wa_client = {}; wa_client.cmd = []; wa_client.config = { 'blog_id': 16334388, 'blog_language': 'en', 'is_wordads': false, 'hosting_type': 0, 'theme': 'pub/twentyten', '_': { 'title': 'Advertisement', 'privacy_settings': 'Privacy Settings' }, 'formats': [ 'belowpost', 'bottom_sticky', 'sidebar_sticky_right', 'sidebar' ] }; /* ]]> */ </script> <script type="text/javascript"> function __ATA_CC() {var v = document.cookie.match('(^|;) ?personalized-ads-consent=([^;]*)(;|$)');return v ? 1 : 0;} var __ATA_PP = { 'pt': 0, 'ht': 0, 'tn': 'twentyten', 'uloggedin': 0, 'amp': false, 'consent': __ATA_CC(), 'gdpr_applies': false, 'ad': { 'label': { 'text': 'Advertisements' }, 'reportAd': { 'text': 'Report this ad' } }, 'disabled_slot_formats': [ 'MTS', 'DPR' ], 'siteid': 8982, 'blogid': 16334388 }; var __ATA = __ATA || {}; __ATA.cmd = __ATA.cmd || []; __ATA.criteo = __ATA.criteo || {}; __ATA.criteo.cmd = __ATA.criteo.cmd || []; </script> <script type="text/javascript"> (function(){var g=Date.now||function(){return+new Date};function h(a,b){a:{for(var c=a.length,d="string"==typeof a?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:"string"==typeof a?a.charAt(b):a[b]};function k(a,b,c){c=null!=c?"="+encodeURIComponent(String(c)):"";if(b+=c){c=a.indexOf("#");0>c&&(c=a.length);var d=a.indexOf("?");if(0>d||d>c){d=c;var e=""}else e=a.substring(d+1,c);a=[a.substr(0,d),e,a.substr(c)];c=a[1];a[1]=b?c?c+"&"+b:b:c;a=a[0]+(a[1]?"?"+a[1]:"")+a[2]}return a};var l=0;function m(a,b){var c=document.createElement("script");c.src=a;c.onload=function(){b&&b(void 0)};c.onerror=function(){b&&b("error")};a=document.getElementsByTagName("head");var d;a&&0!==a.length?d=a[0]:d=document.documentElement;d.appendChild(c)}function n(a){var b=void 0===b?document.cookie:b;return(b=h(b.split("; "),function(c){return-1!=c.indexOf(a+"=")}))?b.split("=")[1]:""}function p(a){return"string"==typeof a&&0<a.length} function r(a,b,c){b=void 0===b?"":b;c=void 0===c?".":c;var d=[];Object.keys(a).forEach(function(e){var f=a[e],q=typeof f;"object"==q&&null!=f||"function"==q?d.push(r(f,b+e+c)):null!==f&&void 0!==f&&(e=encodeURIComponent(b+e),d.push(e+"="+encodeURIComponent(f)))});return d.filter(p).join("&")}function t(a,b){a||((window.__ATA||{}).config=b.c,m(b.url))}var u=Math.floor(1E13*Math.random()),v=window.__ATA||{};window.__ATA=v;window.__ATA.cmd=v.cmd||[];v.rid=u;v.createdAt=g();var w=window.__ATA||{},x="s.pubmine.com"; w&&w.serverDomain&&(x=w.serverDomain);var y="//"+x+"/conf",z=window.top===window,A=window.__ATA_PP&&window.__ATA_PP.gdpr_applies,B="boolean"===typeof A?Number(A):null,C=window.__ATA_PP||null,D=z?document.referrer?document.referrer:null:null,E=z?window.location.href:document.referrer?document.referrer:null,F,G=n("__ATA_tuuid");F=G?G:null;var H=window.innerWidth+"x"+window.innerHeight,I=n("usprivacy"),J=r({gdpr:B,pp:C,rid:u,src:D,ref:E,tuuid:F,vp:H,us_privacy:I?I:null},"","."); (function(a){var b=void 0===b?"cb":b;l++;var c="callback__"+g().toString(36)+"_"+l.toString(36);a=k(a,b,c);window[c]=function(d){t(void 0,d)};m(a,function(d){d&&t(d)})})(y+"?"+J);}).call(this); </script> <script> var sas_fallback = sas_fallback || []; sas_fallback.push( { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 120,formFactor: \'001\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});</script>", type: 'belowpost' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 310,formFactor: \'001\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});</script>", type: 'inline' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 140,formFactor: \'003\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});</script>", type: 'sidebar' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 110,formFactor: \'002\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});</script>", type: 'top' } ); </script> <script type="text/javascript"> window.doNotSellCallback = function() { var linkElements = [ 'a[href="https://wordpress.com/?ref=footer_blog"]', 'a[href="https://wordpress.com/?ref=footer_website"]', 'a[href="https://wordpress.com/?ref=vertical_footer"]', 'a[href^="https://wordpress.com/?ref=footer_segment_"]', ].join(','); var dnsLink = document.createElement( 'a' ); dnsLink.href = 'https://wordpress.com/advertising-program-optout/'; dnsLink.classList.add( 'do-not-sell-link' ); dnsLink.rel = 'nofollow'; dnsLink.style.marginLeft = '0.5em'; dnsLink.textContent = 'Do Not Sell or Share My Personal Information'; var creditLinks = document.querySelectorAll( linkElements ); if ( 0 === creditLinks.length ) { return false; } Array.prototype.forEach.call( creditLinks, function( el ) { el.insertAdjacentElement( 'afterend', dnsLink ); }); return true; }; </script> <script type="text/javascript"> window.google_analytics_uacct = "UA-52447-2"; </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-52447-2']); _gaq.push(['_gat._anonymizeIp']); _gaq.push(['_setDomainName', 'wordpress.com']); _gaq.push(['_initData']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga); })(); </script> </head> <body class="home blog wp-theme-pubtwentyten customizer-styles-applied single-author jetpack-reblog-enabled has-marketing-bar has-marketing-bar-theme-twenty-ten"> <div id="wrapper" class="hfeed"> <div id="header"> <div id="masthead"> <div id="branding" role="banner"> <h1 id="site-title"> <span> <a href="https://hdview.wordpress.com/" title="HD View" rel="home">HD View</a> </span> </h1> <div id="site-description">stitching and viewing panoramas</div> <a class="home-link" href="https://hdview.wordpress.com/" title="HD View" rel="home"> <img src="https://hdview.wordpress.com/wp-content/uploads/2011/05/cropped-tunnelview.jpg" width="940" height="198" alt="" /> </a> </div><!-- #branding --> <div id="access" role="navigation"> <div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div> <div class="menu"><ul> <li class="current_page_item"><a href="https://hdview.wordpress.com/">Home</a></li><li class="page_item page-item-2"><a href="https://hdview.wordpress.com/about/">About</a></li> </ul></div> </div><!-- #access --> </div><!-- #masthead --> </div><!-- #header --> <div id="main"> <div id="container"> <div id="content" role="main"> <div id="nav-above" class="navigation"> <div class="nav-previous"><a href="https://hdview.wordpress.com/page/2/" ><span class="meta-nav">←</span> Older posts</a></div> <div class="nav-next"></div> </div><!-- #nav-above --> <div id="post-162" class="post-162 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2014/09/09/blink-now-captures-fantastic-low-light-gifs/" rel="bookmark">Blink now captures fantastic low-light GIFs</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2014/09/09/blink-now-captures-fantastic-low-light-gifs/" title="7:47 pm" rel="bookmark"><span class="entry-date">September 9, 2014</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>Today we are releasing an update to the Blink App (<a href="http://lm.facebook.com/l.php?u=http%3A%2F%2Fwww.windowsphone.com%2Fs%3Fappid%3D3e185ac7-2d21-4a74-9cad-3d4729509446&h=AAQF9-sXQ&s=1">available in the Windows Phone store</a>). The update includes a variety of bug fixes and a major new capability. Blink now automatically removes noise from low-light captures. As pointed out in <a href="https://hdview.wordpress.com/2013/12/16/blink-update-available-in-windows-phone-store/">previous posts</a> Blink has always featured an advanced stabilization algorithm. This algorithm makes a hand-held capture look as if it was captured from a stable tripod. Once an image sequence is stabilized we may still see some frame to frame differences in the form of image noise, this is especially apparent in low light conditions. An example of this is the left hand GIF below captured with the previous version of Blink, notice the noise (aka grain) visible in the sequence. The right hand GIF is what the new version of Blink will automatically produce. Notice the almost complete removal of noise in the still regions while maintaining crisp motion in the moving regions.</p> <table border="0" width="920" cellspacing="0" cellpadding="2"> <tbody> <tr> <td valign="top" width="918"><a href="https://hdview.wordpress.com/wp-content/uploads/2014/10/source.gif"><img style="float:none;margin-left:auto;display:block;margin-right:auto;" title="source" src="https://hdview.wordpress.com/wp-content/uploads/2014/10/source_thumb.gif?w=644&h=362" alt="source" width="644" height="362" /></a></td> </tr> <tr> <td valign="top" width="918"><a href="https://hdview.wordpress.com/wp-content/uploads/2014/10/result.gif"><img style="float:none;margin-left:auto;display:block;margin-right:auto;" title="result" src="https://hdview.wordpress.com/wp-content/uploads/2014/10/result_thumb.gif?w=644&h=362" alt="result" width="644" height="362" /></a></td> </tr> </tbody> </table> <p>Several more examples are available on the <a href="http://research.microsoft.com/en-us/um/redmond/projects/blink">Blink site</a>. This noise removal was achieved by a new algorithm that runs after stabilization. Blink automatically analyzes the motion in the scene. Where the motion can be stabilized the algorithm effectively performs a very long exposure by merging the entire Blink sequence, where the motion can’t be stabilized the sequence is left untouched. One way to think of this is optical image stabilization on a region by region basis. Instead of simply stabilizing the entire frame and blurring moving objects, Blink performs the merge selectively. For those interested in the deep details of this technique, it will be presented at the <a href="http://sa2014.siggraph.org/en/">SIGGRAPH Asia conference</a> in December. In the meantime give it a try on your Windows Phones.</p> <p><a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a> on behalf of Blink team</p> <div class="wordads-tag" data-slot-type="belowpost" style="display: none;"></div> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2014/09/09/blink-now-captures-fantastic-low-light-gifs/#comments">2 Comments</a></span> </div><!-- .entry-utility --> </div><!-- #post-162 --> <div id="post-156" class="post-156 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2014/03/19/image-watch-version-1-5-released/" rel="bookmark">Image Watch Version 1.5 Released</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2014/03/19/image-watch-version-1-5-released/" title="2:55 pm" rel="bookmark"><span class="entry-date">March 19, 2014</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p align="justify">We are excited to announce the latest update to <a href="http://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d">Image Watch</a> (Version 1.5). Image Watch is our Visual Studio plug-in for debugging C++ image processing applications. It adds a new control to Visual Studio that displays images in memory as you step through your code in the debugger. </p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2014/03/clip_image002.jpg"><img title="clip_image002" style="float:none;margin-left:auto;display:block;margin-right:auto;border-width:0;" border="0" alt="clip_image002" src="https://hdview.wordpress.com/wp-content/uploads/2014/03/clip_image002_thumb.jpg?w=628&h=396" width="628" height="396"></a> </p> <p align="center"><i>Inspecting an in-memory edge image (at 64x magnification) while debugging.</i> </p> <p align="justify">The latest update includes a number of bug fixes and new features inspired by user feedback in the <a href="http://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d">Image Watch Q&A</a>. For example, pixel values are now shown as text on the pixels themselves when zoomed in all the way (see screenshot). We also added support for visualizing custom bit depth integer formats and 16bit float format. The complete list of changes can be found in our <a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/imagewatchhelp/imagewatchreleasenotes.htm">release notes</a>.</p> <div id="atatags-370373-67ebf9f753638"> <script type="text/javascript"> __ATA.cmd.push(function() { __ATA.initVideoSlot('atatags-370373-67ebf9f753638', { sectionId: '370373', format: 'inread' }); }); </script> </div> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2014/03/19/image-watch-version-1-5-released/#comments">1 Comment</a></span> </div><!-- .entry-utility --> </div><!-- #post-156 --> <div id="post-137" class="post-137 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2013/12/16/blink-update-available-in-windows-phone-store/" rel="bookmark">BLINK update available in Windows Phone Store</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2013/12/16/blink-update-available-in-windows-phone-store/" title="4:49 pm" rel="bookmark"><span class="entry-date">December 16, 2013</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>We are excited to announce the latest update (version 2.2) to the <a href="http://research.microsoft.com/en-us/um/redmond/projects/blink/">BLINK app</a> for Windows Phone 8. You can get the app for windows phone from <a href="http://www.windowsphone.com/en-us/store/app/blink/3e185ac7-2d21-4a74-9cad-3d4729509446">here</a>.</p> <p>The latest update brings a number of new features:</p> <h3><em>Continuous Auto-focus</em></h3> <p>Since BLINK captures frames both before and after the user triggers the capture, one of the issues in the previous version was that users could potentially get a focus sweep in the captured. This could lead to the sequence having a few blurry frames. With the latest version, we added a new feature that does continuous auto-focus – we automatically refocus whenever required. Focus is triggered based on a few different criteria. We now have a fast face tracker running on the phone that is continuously monitoring the preview feed. If we find a suitable face(s) we focus on the face, as the people are presumably the subject of the photograph. We also monitor the phone’s orientation and movement continuously through the phone’s motion sensors and monitor image statistics to see how much the image in view is changing. If no faces are present, a focus is triggered once a reasonable movement of the phone is detected or the statistics of the scene have changed appreciably.</p> <p>We do also retain the ability to manually trigger the autofocus mechanism through the half-press of the dedicated camera button and release, which the user can use if needed.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/12/clip_image002.png"><img style="background-image:none;float:left;padding-top:0;padding-left:0;display:inline;padding-right:0;border:0;" title="clip_image002" alt="clip_image002" src="https://hdview.wordpress.com/wp-content/uploads/2013/12/clip_image002_thumb.png?w=644&h=387" width="644" height="387" align="left" border="0" /></a><i></i></p> <p align="center"><i>Happy developers with faces</i></p> <h3><em>Better Stabilization</em></h3> <p>One of the important aspects of BLINK is the image alignment algorithm that runs right after a capture and stabilizes the frames in the sequence. This has the useful effect of minimizing frame-to-frame changes that could occur from hand shake or other jitter while capturing. The frame-to-frame difference are not noticeable when viewing an individual frame, but can be readily seen as the user scans through the sequence by moving the frame picker or while playing the sequence. In BLINK the stabilization algorithm removes distracting hand shake motion and helps users see the more important changes from frame to frame.</p> <p>With the new update we have significant improvements to the stabilization algorithm. The stabilizer runs by identifying salient image features in each frame and tracking them through the sequence. We now have improved the stabilizer to (a) choose a better subset of features (b) use a more representative model for the change between frames. As a result we get really good stabilization as you can see in the sequence below.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/12/blink_gif.gif"><img style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border:0;" alt="blink_gif" src="https://hdview.wordpress.com/wp-content/uploads/2013/12/blink_gif.gif?w=644&h=362" width="644" height="362" /></a></p> <p align="center"><i>This is a hand held sequence playing back and forth but can you see any motion?</i></p> <h3><em>GIF encoding and upload to Skydrive</em></h3> <p>Once of the highly requested features by users of BLINK is the ability to encode and share the BLINK sequences in the highly popular GIF format We listened, and with this update users will be able to select Skydrive as one of their share destinations and the BLINK sequence will be encoded to a GIF and uploaded to Skydrive. Once on Skydrive, the user can view the GIFs playing through Skydrive’s web viewer or can download the GIF for other uses.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/12/clip_image005.png"><img style="background-image:none;float:left;padding-top:0;padding-left:0;display:inline;padding-right:0;border:0;" title="clip_image005" alt="clip_image005" src="https://hdview.wordpress.com/wp-content/uploads/2013/12/clip_image005_thumb.png?w=644&h=387" width="644" height="387" align="left" border="0" /></a></p> <p align="center"><i>The share screen in BLINK</i></p> <h3><em>Metadata encoding</em></h3> <p>With the new update we also added image metadata encoding in the images that are saved via BLINK. Users will now find the date, time and the location information in the EXIF data (image properties) of the images that they saved through BLINK to the phone camera roll. Users can then use this information for sorting and other purposes.</p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2013/12/16/blink-update-available-in-windows-phone-store/#comments">1 Comment</a></span> </div><!-- .entry-utility --> </div><!-- #post-137 --> <div id="post-129" class="post-129 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2013/05/30/jpegxr-updates/" rel="bookmark">JPEGXR updates</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2013/05/30/jpegxr-updates/" title="10:14 pm" rel="bookmark"><span class="entry-date">May 30, 2013</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>Based on feedback from many collaborators, we are providing a few updates to the previously released JPEGXR software. In this post we are also providing an analysis comparing our JPEGXR implementation to WebP. </p> <ul> <li>In the jxrlib GIT <a href="https://jxrlib.codeplex.com/releases">https://jxrlib.codeplex.com/releases</a>, version 1.1 is now available. This release implements a slightly refined encoder quality. This means that setting the 0 – 100 quality value in the encoder library now translates to different encoder parameters, which should, in most cases, result in improved perceived image quality. The update also includes several community-contributed extensions to perform pixel format conversions. </li> <li>The Photoshop plugins for Windows and Mac have also been updated. The new plugin includes the refined encoder quality implementation and an improved handling of Photoshop alpha layers.</li> </ul> <p>Using our 1.1 JPEGXR encoder, we performed an analysis of JPEGXR with the same methodology as the WebP vs. libjpeg study done by Google (<a title="https://developers.google.com/speed/webp/docs/webp_study#exp2" href="https://developers.google.com/speed/webp/docs/webp_study#exp2">https://developers.google.com/speed/webp/docs/webp_study#exp2</a>). In our analysis we use the same images as in the Google study and encode them via JPEGXR, WebP, and Photoshop’s “Save for Web” JPEG encoder. For each encoder we sweep through 10 quality values* and plot the rate distortion curves (bits per pixel vs. SSIM)**.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_lena_edit.png"><img title="ssim_lena_edit" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="ssim_lena_edit" src="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_lena_edit_thumb.png?w=635&h=484" width="635" height="484"></a></p> <p>Figure 1: Lena</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_kodim19_edit.png"><img title="ssim_kodim19_edit" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="ssim_kodim19_edit" src="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_kodim19_edit_thumb.png?w=633&h=484" width="633" height="484"></a></p> <p>Figure 2: kodim19.png </p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_rgb_or_1200x1200_061_edit.png"><img title="ssim_RGB_OR_1200x1200_061_edit" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="ssim_RGB_OR_1200x1200_061_edit" src="https://hdview.wordpress.com/wp-content/uploads/2013/05/ssim_rgb_or_1200x1200_061_edit_thumb.png?w=635&h=484" width="635" height="484"></a></p> <p>Figure 3: RGB_OR_1200x1200_061.png </p> <p>In these graphs there are several interesting things to point out.</p> <ul> <li>JPEGXR outperforms WebP in the high end of the quality range and equals or marginally beats WebP in the low end of the quality range.</li> <li>Both WebP and JPEGXR handily outperform JPEG at low-quality settings.</li> <li>WebP does not outperform JPEG at high-quality settings (Photoshop quality slider set to 80 or above), while JPEGXR does.</li> <li>In each of the graphs, I have labeled what Photoshop has implemented as quality “50” and quality “0” (on a scale of 0-100). Much of the <a href="https://developers.google.com/speed/webp/docs/webp_study#exp2">Google analysis</a> reports on quality below “50.” I don’t know how many photos are saved out of tools like Photoshop at such low quality, but I would guess not many. In the above “50” portion of the quality range, our JPEGXR implementation clearly outperforms WebP.</li> </ul> <p>Since the last blog post, we’ve been asked several times how JPEGXR compares to WebP. So we are providing the above rate-distortion curves. Of course, this is only one factor, albeit a very important one, to consider. As pointed out in the <a href="https://hdview.wordpress.com/2013/04/11/jpegxr-photoshop-plugin-and-source-code/">last post</a>, JPEGXR has many other interesting features, such as continuous quality from lossless to lossy, alpha channels, HDR, and compressed domain operations. And JPEGXR is an international standard — many of these features are not currently applicable to WebP.</p> <p>–<a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a></p> <p>* sweep from 0 to 100 in steps of 10</p> <p>** pixel-count = width*height*3 (from Google’s scripts), SSIM is the average of red, green, blue </p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2013/05/30/jpegxr-updates/#comments">13 Comments</a></span> </div><!-- .entry-utility --> </div><!-- #post-129 --> <div id="post-116" class="post-116 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2013/04/11/jpegxr-photoshop-plugin-and-source-code/" rel="bookmark">JPEG XR Photoshop Plugin and Source Code</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2013/04/11/jpegxr-photoshop-plugin-and-source-code/" title="7:35 pm" rel="bookmark"><span class="entry-date">April 11, 2013</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p align="justify">Today we are making several JPEG XR announcements:</p> <ul> <li> <div align="justify">An open source library (BSD license) is available at our <a href="https://jxrlib.codeplex.com/">JPEG XR GIT</a>.</div> <li> <div align="justify"><a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/JPEGXR/">Photoshop plugins for Windows and Mac</a> are also available</div> </li> </ul> <p align="justify">JPEG XR is an approved ISO/IEC International standard (its official designation is ISO/IEC 29199-2). See more information in the <a href="http://jpeg.org/newsrel26.html">press release from the JPEG Committee</a>. JPEG XR started its life in Microsoft Research. It publicly first appeared as the HD Photo format, 7 years ago in Windows Vista. Microsoft submitted HD Photo to the JPEG committee and it emerged 2 years later as a new standard. Thanks to the excellent work by the committee, the standardization process resulted in several changes to the original specification. This robust peer review has led to a better product for end users (compared with one entity defining a new format). JPEG XR support is included in many Microsoft products, most importantly Windows 7, Windows 8, and IE10.</p> <p align="justify">For web developers, JPEG XR has a large number of interesting features, see the table below. Some of these are big advantages over other image formats like JPEG, PNG, OpenEXR, and TIFF.</p> <div align="justify"> <table cellspacing="0" cellpadding="2" width="558" align="center" border="0"> <tbody> <tr> <td style="vertical-align:middle;" width="170"> <p><strong>Better Compression</strong></p> </td> <td valign="top" width="386">On average the file size will be 40% smaller than JPEG for similar quality. In addition the compression artifacts in XR are less objectionable than JPEG so there is often more file size savings available.</td> </tr> <tr> <td style="vertical-align:middle;" width="170"><strong>Lossless Mode</strong></td> <td valign="top" width="386">The lossless mode in XR achieves better compression than PNG (especially for natural images).</td> </tr> <tr> <td style="vertical-align:middle;" width="170"><strong>Alpha Channel</strong></td> <td valign="top" width="386">XR supports an alpha channel, unlike JPEG. PNG does support alpha, but, unlike PNG, XR has the capability to compress color lossy and alpha losslessly. This capability results in much smaller file sizes. </td> </tr> <tr> <td style="vertical-align:middle;" width="170"><strong>Extended Bitdepth</strong></td> <td valign="top" width="386">XR supports 8-, 16-, and 32-bit/channel, this means that it can store either RAW images or HDR images without losing precision. This coupled with sophisticated compression achieves smaller file sizes than other formats like TIFF, RAW, or OpenEXR.</td> </tr> <tr> <td style="vertical-align:middle;" width="170"><strong>Progressive Decode</strong></td> <td valign="top" width="386">IE10 leverages the XR progressive download mode.</td> </tr> <tr> <td style="vertical-align:middle;" width="170"><strong>Advanced Decoding Features</strong></td> <td valign="top" width="386"> <ul> <li>XR images can be cropped, rotated, flipped, and resized all in the compressed domain. <li>The tile-based layout of an XR file allows for efficient region-of-interest access.</li> </ul> </td> </tr> </tbody> </table> </div> <p align="justify"> </p> <p align="justify">I’ll end with two simple demonstrations of how XR compares with JPEG.</p> <p align="justify"><a href="https://hdview.wordpress.com/wp-content/uploads/2013/04/p09.png"><img title="P09" style="background-image:none;float:none;padding-top:0;padding-left:0;margin-left:auto;display:block;padding-right:0;margin-right:auto;border-width:0;" border="0" alt="P09" src="https://hdview.wordpress.com/wp-content/uploads/2013/04/p09_thumb.png?w=516&h=345" width="516" height="345"></a></p> <p align="justify">I compressed the picture above using both our Photoshop plugin and Photoshop “Save for Web & Devices …” In each case I set the quality to a fairly low ‘20’ setting. Note that we have tuned the JPEG XR plugin quality sliders to match Photoshop’s JPEG encoder quality slider. This means that for a given setting you should get a comparable ‘quality’ but the JXR file size will always be smaller. In this case the original 32MB uncompressed image compressed to a 703KB JPEG file and a 453KB JXR file (36% savings). Zooming in on an area of the ear we also see that the types of compression artifacts present in the JXR are less apparent than the familiar “blocking” artifacts of JPEG (the rightmost slice is the original).</p> <p style="margin-left:0;"><a href="https://hdview.wordpress.com/wp-content/uploads/2013/04/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="https://hdview.wordpress.com/wp-content/uploads/2013/04/image_thumb2.png?w=865&h=472" width="865" height="472"></a></p> <p>For this same image, I plot a sweep of the quality slider from 100 to 0 for both JPEG and JPEG XR. The X axis is PSNR (a measure of quality) and the Y axis is the amount of compression. Several things to point out here – (1) JPEG XR consistently achieves higher compression (smaller files), and (2) notice the extreme right side of the graph; JPEG XR can achieve higher quality than JPEG. In fact, the quality slider represents a continuous scale of lossless compression at ‘100’ to progressively more lossy.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2013/04/image1.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="https://hdview.wordpress.com/wp-content/uploads/2013/04/image_thumb1.png?w=745&h=537" width="745" height="537"></a></p> <p>This post gives a very quick introduction to JPEG XR. For those who want to learn more, I encourage you to start with the <a href="http://en.wikipedia.org/wiki/JPEG_XR">Wikipedia page</a>, and <a href="http://blogs.msdn.com/b/billcrow/">Bill Crow’s blog</a>. Also, please do give us feedback on our new <a href="https://jxrlib.codeplex.com/">source code</a> and <a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/JPEGXR/">Photoshop plugin</a> releases in the comments below.</p> <p>–<a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a></p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2013/04/11/jpegxr-photoshop-plugin-and-source-code/#comments">38 Comments</a></span> </div><!-- .entry-utility --> </div><!-- #post-116 --> <div id="post-107" class="post-107 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2012/09/30/view-ios6-panoramas-on-photosynth/" rel="bookmark">View iOS6 Panoramas on Photosynth</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2012/09/30/view-ios6-panoramas-on-photosynth/" title="5:55 pm" rel="bookmark"><span class="entry-date">September 30, 2012</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>I was just trying out the new panorama feature built in to iOS6 (available on the iPhone 4S and 5). The resulting panoramas look great, but one thing that I miss compared with Photosynth is the ability to view the result as a true “surround” experience. I was curious if I could work out the geometry of the iOS panoramas so that they could be uploaded to <a href="http://photosynth.net">http://photosynth.net</a>, and then be available to view anywhere–on the web or in the Photosynth App.</p> <p>The quick answer is yes. You need to get the <a href="https://hdview.wordpress.com/2010/11/26/panorama-uploads-from-photoshop/">Photosynth Export Plug-in for Photoshop</a>. When you run the plug-in, select “Cylindrical (Horizontal)” from the “Projection” menu, and determine the “Field of View” of your panorama by taking the width of the image and dividing it by the magic number 53.5.</p> <p>Here are two panoramas that I uploaded using this technique: <a href="http://photosynth.net/view.aspx?cid=effec674-7601-4f1d-ab2b-d7ad0f11fdd8">Seattle 12th Street Bridge</a> and <a href="http://photosynth.net/view.aspx?cid=b79194dc-0238-4374-937d-9259b35a55e9">Seattle Yesler Bridge</a>. If any readers try this out, please send us a link to the result via the comments or on Twitter.</p> <p>That’s it. But, if you want to know where 53.5 comes from, continue reading.</p> <p>The figure below shows the iPhone sweeping out a panorama. I’m assuming that iOS reads the pixels from the camera and “projects” them onto a cylinder in order to form the panorama. The cylinder is represented as the blue path in the figure. The length of this path is equivalent to the width in pixels of the panorama that was captured.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2012/09/fov.png"><img title="FOV" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="FOV" src="https://hdview.wordpress.com/wp-content/uploads/2012/09/fov_thumb.png?w=655&h=397" width="655" height="397"></a></p> <p>What the plug-in needs is the field of view (FOV) in degrees. From geometry we know that </p> <p><em>width = FOV * radius</em></p> <p>What is the radius in this case? It is simply the focal length of the camera. Searching the web, we find that the 4S has a focal length of <em>4.28mm.</em> Now we have a problem of units; we know the focal length in <em>millimeters</em> and the width in <em>pixels</em>. To convert between these units we can find out that the 4S sensor size is 3.42mm wide or 2448 pixels wide. Now we have our conversion; the radius in pixels is </p> <p><em>radius = (2448/3.42) *4.28 = 3064 pixels</em></p> <p>Finally</p> <p><em>FOV = (width / 3064) * (180/<font face="Symbol">p</font><font face="Georgia">) = width/53.5</font></em></p> <p>I haven’t yet found the sensor size and focal length of the iPhone 5, so 53.5 may not be the right number for that phone. Post a comment if you know. I also think that a very similar calculation could be done for the Sony cameras with the sweep panorama feature.</p> <p>–<a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a></p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2012/09/30/view-ios6-panoramas-on-photosynth/#comments">1 Comment</a></span> </div><!-- .entry-utility --> </div><!-- #post-107 --> <div id="post-101" class="post-101 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2011/08/06/microsoft-camera-codec-pack-offers-raw-support-in-windows/" rel="bookmark">Microsoft Camera Codec Pack offers RAW support in Windows</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2011/08/06/microsoft-camera-codec-pack-offers-raw-support-in-windows/" title="9:39 pm" rel="bookmark"><span class="entry-date">August 6, 2011</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p align="justify">Last week the Windows Live Essentials team <a href="http://windowsteamblog.com/windows_live/b/windowslive/archive/2011/07/26/photo-gallery-now-supports-raw-format.aspx">announced</a> the release of the <a href="http://www.microsoft.com/download/en/details.aspx?id=26829">Microsoft Camera Codec Pack</a>. The announcement focused on how the codec pack enables Photo Gallery and Windows Explorer to view RAW images. What wasn’t mentioned is that it also allows any other Windows application to open RAW files. This is important for Image Composite Editor users as there is now a <em>high-quality and free</em> method of importing RAW images into ICE.</p> <p align="justify">I emphasize <em>high-quality and free</em> because ICE has in fact supported RAW images since last year, when I <a href="https://hdview.wordpress.com/2010/06/07/new-version-of-ice-available/">blogged about it</a>. RAW support in Windows, and thus ICE, was available via a “plug-in.” Windows allows any third-party software vendor to extend which image types are supported in the operating system. Based on my own observations of ICE users, the “plug-in” strategy confused many. </p> <p align="justify">One source of these plug-ins is the camera manufacturers, like Canon and Nikon. Unfortunately, they mostly do such a poor job developing and supporting their software that it made Windows, and other applications that relied on it, look bad. We have updated our <a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/codecs.htm">codecs page</a> to reflect this and strongly discourage anyone from installing the Canon or Nikon software. Another source is vendors who sell high-quality and well-supported plug-ins that cost $15 and up. However, many of our users felt that they shouldn’t need to pay for a feature that they <a href="http://arstechnica.com/microsoft/news/2011/07/new-codec-pack-brings-raw-support-to-explorer-live-photo-gallery.ars">expect to be built into a modern operating system</a>. Mostly though, users simply assumed RAW wasn’t supported in Windows. Judging by the reaction from tech journalists (see “Windows Finally Gets RAW Image Support” <a href="http://www.wired.com/gadgetlab/2011/07/microsoft-adds-raw-support-to-windows-at-last">1</a>, <a href="http://www.slashgear.com/windows-finally-gets-raw-image-support-in-photo-gallery-and-explorer-26167623/">2</a>, <a href="http://www.geeky-gadgets.com/raw-photo-format-support-finally-arrives-for-windows-users-video-28-07-2011/">3</a>) this notion was pretty widespread.</p> <p>We have updated the <a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/codecs.htm">WIC Codecs for Image Composite Editor page</a> and added the new Microsoft codec pack to our recommended list. We also still recommend Fast Picture Viewer (FPV) for RAW files that aren’t supported by the Microsoft codec pack. Additionally, FPV is recommended if you have a need to use less common file formats, such as HDR and OpenEXR, in ICE.</p> <p>The new Microsoft codec pack is available here: <a title="http://www.microsoft.com/download/en/details.aspx?id=26829" href="http://www.microsoft.com/download/en/details.aspx?id=26829">http://www.microsoft.com/download/en/details.aspx?id=26829</a>. There is some <a style="text-decoration:none;" href="http://www.microsoft.com/presspass/press/2007/oct07/10-26PhaseOnePR.mspx"><font color="#333333">great technology</font></a> built in. The Windows Live team has built a sophisticated lab for characterizing cameras to ensure high-quality output from the RAW decoding process, and the RAW codec is built to take advantage of multi-core PCs, so it should be very fast.</p> <p>–<a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a></p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2011/08/06/microsoft-camera-codec-pack-offers-raw-support-in-windows/#comments">1 Comment</a></span> </div><!-- .entry-utility --> </div><!-- #post-101 --> <div id="post-99" class="post-99 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2011/05/31/ice-twitter-feed-new-forum-minor-update/" rel="bookmark">ICE twitter feed, new forum, minor update</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2011/05/31/ice-twitter-feed-new-forum-minor-update/" title="12:31 pm" rel="bookmark"><span class="entry-date">May 31, 2011</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>A few quick ICE announcements.</p> <p>We have a new Microsoft ICE specific twitter feed: <a title="http://twitter.com/#!/MicrosoftICE" href="http://twitter.com/#!/MicrosoftICE">http://twitter.com/#!/MicrosoftICE</a> Please follow us to hear the latest ICE related goings on.</p> <p>The ICE forum has moved. It is now at: <a title="http://social.microsoft.com/Forums/en-US/ice/threads" href="http://social.microsoft.com/Forums/en-US/ice/threads">http://social.microsoft.com/Forums/en-US/ice/threads</a></p> <p>A minor update of ICE is available at: <a title="http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/" href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/">http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/</a> Current users should be prompted to update when starting ICE.</p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2011/05/31/ice-twitter-feed-new-forum-minor-update/#respond">Leave a comment</a></span> </div><!-- .entry-utility --> </div><!-- #post-99 --> <div id="post-95" class="post-95 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2011/04/18/panorama-stitching-on-your-iphone/" rel="bookmark">Panorama Stitching on your iPhone</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2011/04/18/panorama-stitching-on-your-iphone/" title="10:59 am" rel="bookmark"><span class="entry-date">April 18, 2011</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>The Photosynth team today <a href="http://www.bing.com/community/site_blogs/b/search/archive/2011/04/18/capture-panoramas-anywhere-you-go-with-the-photosynth-app-and-share-on-bing.aspx">released a beautiful new app</a> for the iPhone. This lets you interactively create panoramas directly on your iPhone. When you enter the app it will show you an interactive preview of what you are capturing – very useful to make sure that you’ve captured everything you want. Then you hit “Finish”, and it renders out a seamlessly stitched result that you can upload to a variety of web services.</p> <p>Of course, you can upload to <a href="http://photosynth.net/explore.aspx?filter=FavoritedDescending&time=Last30Days&type=Panorama&mobileOnly=True">Photosynth.net</a> to get a full immersive viewing experience, but you can also upload a flat version of the image directly to Facebook. In either case this app allows you to share your panorama just moments after capturing it.</p> <p>The app nicely complements the rest of the panorama creation tools available for Photosynth. At the high end, we offer the <a href="https://hdview.wordpress.com/2010/11/26/panorama-uploads-from-photoshop/">Photoshop plugin</a>, which lets you create and edit a panorama with whatever tools you want. For a more automated solution on the PC, we offer <a href="http://research.microsoft.com/en-us/um/redmond/groups/ivm/ice/">Microsoft ICE</a> with direct uploads to Photosynth. And now for the mobile phone, we’re making this app available. In addition to creating panoramas, the app is also a great way to view them. For any panorama that you’ve created using any of the tools above, you can now use the app to view them on the iPhone as a fully interactive surround-video experience.</p> <p>The Photosynth app is available now for iOS (iPhone 4, iPhone 3GS, iPod Touch 4th generation, and iPad 2) in the<a href="http://www.itunes.com/apps/photosynth"> iTunes App Store</a>. </p> <p><em><a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a></em></p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2011/04/18/panorama-stitching-on-your-iphone/#comments">2 Comments</a></span> </div><!-- .entry-utility --> </div><!-- #post-95 --> <div id="post-89" class="post-89 post type-post status-publish format-standard hentry category-uncategorized"> <h2 class="entry-title"><a href="https://hdview.wordpress.com/2011/04/05/microsoft-ice-updatevideo-to-panorama-lens-vignette-improved-blending/" rel="bookmark">Microsoft ICE update–video to panorama, lens vignette, improved blending</a></h2> <div class="entry-meta"> <span class="meta-prep meta-prep-author">Posted on</span> <a href="https://hdview.wordpress.com/2011/04/05/microsoft-ice-updatevideo-to-panorama-lens-vignette-improved-blending/" title="2:29 pm" rel="bookmark"><span class="entry-date">April 5, 2011</span></a> <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="https://hdview.wordpress.com/author/hdview/" title="View all posts by hdview">hdview</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p align="justify">We are pleased to announce our latest update to Microsoft ICE. The download is available by following these links: <a href="http://research.microsoft.com/en-us/downloads/730cd6bb-6450-4e66-8101-a94e71cb0779/default.aspx">ICE for 32 bit Windows</a> -or- <a href="http://research.microsoft.com/en-us/downloads/69699e5a-5c91-4b01-898c-ef012cbb07f7/default.aspx">ICE for 64 bit Windows</a></p> <p align="left">After installing, you will find some exciting new features.</p> <h3><em><font size="3"><font>Stitching From Video</font></font></em></h3> <p align="justify">The first is that ICE can now automatically stitch a panorama directly from video. One fun use of video panoramas is “motion summaries,” like this result that ICE produced:</p> <p align="justify"><a href="http://photosynth.net/view.aspx?cid=44ac4f59-fb84-40fd-a5f3-574750cc0331"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Ski jump 4" border="0" alt="Ski jump 4" src="https://hdview.wordpress.com/wp-content/uploads/2011/04/ski-jump-41.jpg?w=644&h=116" width="644" height="116"></a></p> <p align="left">In this video the photographer was panning the camera to follow the motion of the snowboarder. I used ICE to indicate “Start” and “End” points, and I gave a few hints about which video frames w<a href="https://hdview.wordpress.com/wp-content/uploads/2011/04/videodlg.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border-width:0;margin:10px 0 0 10px;" title="videodlg" border="0" alt="videodlg" align="right" src="https://hdview.wordpress.com/wp-content/uploads/2011/04/videodlg_thumb.png?w=460&h=297" width="460" height="297"></a>ere interesting. The motion tracking and final composition was then done automatically by ICE. You can access this feature by selecting “New Video Panorama” from the File menu. This will bring up the Video Panorama dialog (shown to the right), where you can play or single-step through videos in order to choose start and end points. You can also optionally draw regions of interest on individual video frames to ensure that certain elements are present in the final composition. ICE supports most common video formats (avi, mov, wmv, and more). Of course the results can also be <a href="http://photosynth.net/view.aspx?cid=44ac4f59-fb84-40fd-a5f3-574750cc0331">uploaded to Photosynth</a>. Note that this particular feature is only available for ICE running on Windows 7 (for other versions of Windows this menu item will be disabled).</p> <p align="left">Video is also a great way to quickly capture a panoramic scene. For example, here a two-minute video was automatically <a href="http://photosynth.net/view.aspx?cid=df8c4f39-b3ab-4244-9c69-1cbde38f9591">turned into a panorama</a> (this was shot with a Samsung Focus Windows Phone).</p> <h3><em><font size="3"><font>Automatic Vignette Correction</font></font></em></h3> <p><strong><em><a href="https://hdview.wordpress.com/wp-content/uploads/2011/04/yosemitefallscroporig.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="YosemiteFallsCropOrig" border="0" alt="YosemiteFallsCropOrig" src="https://hdview.wordpress.com/wp-content/uploads/2011/04/yosemitefallscroporig_thumb.jpg?w=384&h=207" width="384" height="207"></a></em></strong></p> <p align="justify"><a href="http://en.wikipedia.org/wiki/Vignetting">Lens vignetting</a> is the effect of the center of a photograph being brighter than the periphery. This effect can be especially apparent when stitching photos. For example, notice the repetitive pattern in the sky in the above panorama. This is caused by lens vignetting in the constituent images. In this ICE update, lens vignetting is automatically detected and removed. The result is shown below.</p> <p><a href="https://hdview.wordpress.com/wp-content/uploads/2011/04/yosemitefallscropdevig.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:left;padding-top:0;border-width:0;" title="YosemiteFallsCropDevig" border="0" alt="YosemiteFallsCropDevig" align="left" src="https://hdview.wordpress.com/wp-content/uploads/2011/04/yosemitefallscropdevig_thumb.jpg?w=384&h=207" width="384" height="207"></a></p> <h3><font size="3"><em><font>Improved Blending</font></em></font></h3> <p align="justify">The new version of ICE has a new blending engine. Previous versions did blending by applying a color adjustment to the panorama source images such that there would be minimal visible differences between them. In some cases, this strategy couldn’t adequately hide the seams. For example, in the panorama below, the seam in the moving water could not be completely hidden by color adjustment alone. In the new version of ICE we still run the color adjustment step, but where this is inadequate, we also do an intelligent fade between the images. This helps a lot in cases like the one below as can be seen in the two breakout panes. Click on the image below to explore it in full resolution on the Photosynth website; you should find it very difficult to discover the seams between images.</p> <p><a href="http://photosynth.net/view.aspx?cid=bf47764e-5e31-4f69-88db-6f438078bff6"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="blending" border="0" alt="blending" src="https://hdview.wordpress.com/wp-content/uploads/2011/04/blending.png?w=640&h=395" width="640" height="395"></a></p> <h3><font size="3"><em><font>And More</font></em></font></h3> <p align="justify">In addition to the above main features, we have also made a few other enhancements: </p> <ul> <ul> <li> <div align="justify">An options dialog to control scratch disk location and ICE memory use.</div> <li> <div align="justify">Enable perspective projection for wide field-of-view panoramas</div> <li> <div align="justify">1/3 less disk usage when stitching large data sets</div> <li> <div align="justify">ICE is now more robust to corrupt metadata in source photos</div> </li> </ul> </ul> <p><em><a href="http://research.microsoft.com/en-us/people/mattu/">Matt Uyttendaele</a> ICE lead </em></p> <p><em>with </em><em>video stitching by: <a href="http://research.microsoft.com/en-us/um/people/neel/">Neel Joshi</a>, <a href="http://research.microsoft.com/en-us/people/ericsto/">Eric Stollnitz</a>, Paramjit Sandhu; </em><em>lens vignette removal by: <a href="http://research.microsoft.com/en-us/people/sbkang/">Sing Bing Kang</a>, Howard Good; and </em><em>improved blending by: <a href="http://research.microsoft.com/en-us/um/people/szeliski/">Rick Szeliski</a>, Drew Steedly</em></p> </div><!-- .entry-content --> <div class="entry-utility"> <span class="cat-links"> <span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://hdview.wordpress.com/category/uncategorized/" rel="category tag">Uncategorized</a> </span> <span class="meta-sep">|</span> <span class="comments-link"><a href="https://hdview.wordpress.com/2011/04/05/microsoft-ice-updatevideo-to-panorama-lens-vignette-improved-blending/#comments">31 Comments</a></span> </div><!-- .entry-utility --> </div><!-- #post-89 --> <div id="nav-below" class="navigation"> <div class="nav-previous"><a href="https://hdview.wordpress.com/page/2/" ><span class="meta-nav">←</span> Older posts</a></div> <div class="nav-next"></div> </div><!-- #nav-below --> </div><!-- #content --> </div><!-- #container --> <div id="primary" class="widget-area" role="complementary"> <ul class="xoxo"> <li id="search-2" class="widget-container widget_search"><form role="search" method="get" id="searchform" class="searchform" action="https://hdview.wordpress.com/"> <div> <label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form></li> <li id="recent-posts-2" class="widget-container widget_recent_entries"> <h3 class="widget-title">Recent Posts</h3> <ul> <li> <a href="https://hdview.wordpress.com/2014/09/09/blink-now-captures-fantastic-low-light-gifs/">Blink now captures fantastic low-light GIFs</a> </li> <li> <a href="https://hdview.wordpress.com/2014/03/19/image-watch-version-1-5-released/">Image Watch Version 1.5 Released</a> </li> <li> <a href="https://hdview.wordpress.com/2013/12/16/blink-update-available-in-windows-phone-store/">BLINK update available in Windows Phone Store</a> </li> <li> <a href="https://hdview.wordpress.com/2013/05/30/jpegxr-updates/">JPEGXR updates</a> </li> <li> <a href="https://hdview.wordpress.com/2013/04/11/jpegxr-photoshop-plugin-and-source-code/">JPEG XR Photoshop Plugin and Source Code</a> </li> </ul> </li><li id="twitter-3" class="widget-container widget_twitter"><h3 class="widget-title"><a href='http://twitter.com/MicrosoftCP'>Microsoft Computational Photography on Twitter</a></h3><a class="twitter-timeline" data-height="600" data-dnt="true" href="https://twitter.com/MicrosoftCP">Tweets by MicrosoftCP</a></li><li id="archives-2" class="widget-container widget_archive"><h3 class="widget-title">Archives</h3> <ul> <li><a href='https://hdview.wordpress.com/2014/09/'>September 2014</a></li> <li><a href='https://hdview.wordpress.com/2014/03/'>March 2014</a></li> <li><a href='https://hdview.wordpress.com/2013/12/'>December 2013</a></li> <li><a href='https://hdview.wordpress.com/2013/05/'>May 2013</a></li> <li><a href='https://hdview.wordpress.com/2013/04/'>April 2013</a></li> <li><a href='https://hdview.wordpress.com/2012/09/'>September 2012</a></li> <li><a href='https://hdview.wordpress.com/2011/08/'>August 2011</a></li> <li><a href='https://hdview.wordpress.com/2011/05/'>May 2011</a></li> <li><a href='https://hdview.wordpress.com/2011/04/'>April 2011</a></li> <li><a href='https://hdview.wordpress.com/2010/11/'>November 2010</a></li> <li><a href='https://hdview.wordpress.com/2010/06/'>June 2010</a></li> <li><a href='https://hdview.wordpress.com/2010/04/'>April 2010</a></li> <li><a href='https://hdview.wordpress.com/2010/03/'>March 2010</a></li> <li><a href='https://hdview.wordpress.com/2009/08/'>August 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/07/'>July 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/06/'>June 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/05/'>May 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/04/'>April 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/03/'>March 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/02/'>February 2009</a></li> <li><a href='https://hdview.wordpress.com/2009/01/'>January 2009</a></li> <li><a href='https://hdview.wordpress.com/2008/12/'>December 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/11/'>November 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/10/'>October 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/09/'>September 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/08/'>August 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/07/'>July 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/06/'>June 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/03/'>March 2008</a></li> <li><a href='https://hdview.wordpress.com/2008/01/'>January 2008</a></li> <li><a href='https://hdview.wordpress.com/2007/11/'>November 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/10/'>October 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/09/'>September 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/08/'>August 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/07/'>July 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/06/'>June 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/05/'>May 2007</a></li> <li><a href='https://hdview.wordpress.com/2007/03/'>March 2007</a></li> </ul> </li><li id="categories-2" class="widget-container widget_categories"><h3 class="widget-title">Categories</h3> <ul> <li class="cat-item cat-item-1"><a href="https://hdview.wordpress.com/category/uncategorized/">Uncategorized</a> </li> </ul> </li><li id="meta-2" class="widget-container widget_meta"><h3 class="widget-title">Meta</h3> <ul> <li><a href="https://wordpress.com/start?ref=wplogin">Register</a></li> <li><a href="https://hdview.wordpress.com/wp-login.php">Log in</a></li> <li><a href="https://hdview.wordpress.com/feed/">Entries feed</a></li> <li><a href="https://hdview.wordpress.com/comments/feed/">Comments feed</a></li> <li><a href="https://wordpress.com/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.com</a></li> </ul> </li><div class="wordads-tag" data-slot-type="sidebar" style="display: none;"></div> </ul> </div><!-- #primary .widget-area --> </div><!-- #main --> <div id="footer" role="contentinfo"> <div id="colophon"> <div id="site-info"> <a href="https://hdview.wordpress.com/" title="HD View" rel="home"> HD View </a> </div><!-- #site-info --> <div id="site-generator"> <a href="https://wordpress.com/?ref=footer_website" rel="nofollow">Create a free website or blog at WordPress.com.</a> </div><!-- #site-generator --> </div><!-- #colophon --> </div><!-- #footer --> </div><!-- #wrapper --> <script type="text/javascript"> var infiniteScroll = {"settings":{"id":"content","ajaxurl":"https:\/\/hdview.wordpress.com\/?infinity=scrolling","type":"scroll","wrapper":true,"wrapper_class":"infinite-wrap","footer":"wrapper","click_handle":"1","text":"Older posts","totop":"Scroll back to top","currentday":"05.04.11","order":"DESC","scripts":[],"styles":[],"google_analytics":false,"offset":1,"history":{"host":"hdview.wordpress.com","path":"\/page\/%d\/","use_trailing_slashes":true,"parameters":""},"query_args":{"error":"","m":"","p":0,"post_parent":"","subpost":"","subpost_id":"","attachment":"","attachment_id":0,"name":"","pagename":"","page_id":0,"second":"","minute":"","hour":"","day":0,"monthnum":0,"year":0,"w":0,"category_name":"","tag":"","cat":"","tag_id":"","author":"","author_name":"","feed":"","tb":"","paged":0,"meta_key":"","meta_value":"","preview":"","s":"","sentence":"","title":"","fields":"","menu_order":"","embed":"","category__in":[],"category__not_in":[],"category__and":[],"post__in":[],"post__not_in":[],"post_name__in":[],"tag__in":[],"tag__not_in":[],"tag__and":[],"tag_slug__in":[],"tag_slug__and":[],"post_parent__in":[],"post_parent__not_in":[],"author__in":[],"author__not_in":[],"search_columns":[],"lazy_load_term_meta":false,"posts_per_page":10,"ignore_sticky_posts":false,"suppress_filters":false,"cache_results":true,"update_post_term_cache":true,"update_menu_item_cache":false,"update_post_meta_cache":true,"post_type":"","nopaging":false,"comments_per_page":"50","no_found_rows":false,"order":"DESC"},"query_before":"2025-04-01 07:36:39","last_post_date":"2011-04-05 14:29:44","body_class":"infinite-scroll neverending","loading_text":"Loading new page","stats":"blog=16334388&v=wpcom&tz=-7&user_id=0&subd=hdview&x_pagetype=infinite"}}; </script> <!-- --> <script type="text/javascript" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=2025147d8bf6c02970a26c6b0c26b0fcfc89796aa30f84307cffd8fd28d2bcca53dd7a" id="grofiles-cards-js"></script> <script type="text/javascript" id="wpgroho-js-extra"> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s2.wp.com/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script> <script> // Initialize and attach hovercards to all gravatars ( function() { function init() { if ( typeof Gravatar === 'undefined' ) { return; } if ( typeof Gravatar.init !== 'function' ) { return; } Gravatar.profile_cb = function ( hash, id ) { WPGroHo.syncProfileData( hash, id ); }; Gravatar.my_hash = WPGroHo.my_hash; Gravatar.init( 'body', '#wp-admin-bar-my-account', { i18n: { 'Edit your profile →': 'Edit your profile →', 'View profile →': 'View profile →', 'Contact': 'Contact', 'Send money': 'Send money', 'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.', 'Profile not found.': 'Profile not found.', 'Too Many Requests.': 'Too Many Requests.', 'Internal Server Error.': 'Internal Server Error.', }, } ); } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } } )(); </script> <div style="display:none"> </div> <div id="infinite-footer"> <div class="container"> <div class="blog-info"> <a id="infinity-blog-title" href="https://hdview.wordpress.com/" rel="home"> HD View </a> </div> <div class="blog-credits"> <a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a> </div> </div> </div><!-- #infinite-footer --> <script type="text/javascript"> ( function() { function init() { document.body.addEventListener( 'is.post-load', function() { if ( typeof __ATA.insertInlineAds === 'function' ) { __ATA.insertInlineAds(); } } ); } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } } )(); </script> <!-- CCPA [start] --> <script type="text/javascript"> ( function () { var setupPrivacy = function() { // Minimal Mozilla Cookie library // https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework var cookieLib = window.cookieLib = {getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,o,n,t,r,i){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var c="";if(n)switch(n.constructor){case Number:c=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:c="; expires="+n;break;case Date:c="; expires="+n.toUTCString()}return"rootDomain"!==r&&".rootDomain"!==r||(r=(".rootDomain"===r?".":"")+document.location.hostname.split(".").slice(-2).join(".")),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+c+(r?"; domain="+r:"")+(t?"; path="+t:"")+(i?"; secure":""),!0}}; // Implement IAB USP API. window.__uspapi = function( command, version, callback ) { // Validate callback. if ( typeof callback !== 'function' ) { return; } // Validate the given command. if ( command !== 'getUSPData' || version !== 1 ) { callback( null, false ); return; } // Check for GPC. If set, override any stored cookie. if ( navigator.globalPrivacyControl ) { callback( { version: 1, uspString: '1YYN' }, true ); return; } // Check for cookie. var consent = cookieLib.getItem( 'usprivacy' ); // Invalid cookie. if ( null === consent ) { callback( null, false ); return; } // Everything checks out. Fire the provided callback with the consent data. callback( { version: 1, uspString: consent }, true ); }; // Initialization. document.addEventListener( 'DOMContentLoaded', function() { // Internal functions. var setDefaultOptInCookie = function() { var value = '1YNN'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 365 * 24 * 60 * 60, '/', domain ); }; var setDefaultOptOutCookie = function() { var value = '1YYN'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain ); }; var setDefaultNotApplicableCookie = function() { var value = '1---'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain ); }; var setCcpaAppliesCookie = function( applies ) { var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'ccpa_applies', applies, 24 * 60 * 60, '/', domain ); } var maybeCallDoNotSellCallback = function() { if ( 'function' === typeof window.doNotSellCallback ) { return window.doNotSellCallback(); } return false; } // Look for usprivacy cookie first. var usprivacyCookie = cookieLib.getItem( 'usprivacy' ); // Found a usprivacy cookie. if ( null !== usprivacyCookie ) { // If the cookie indicates that CCPA does not apply, then bail. if ( '1---' === usprivacyCookie ) { return; } // CCPA applies, so call our callback to add Do Not Sell link to the page. maybeCallDoNotSellCallback(); // We're all done, no more processing needed. return; } // We don't have a usprivacy cookie, so check to see if we have a CCPA applies cookie. var ccpaCookie = cookieLib.getItem( 'ccpa_applies' ); // No CCPA applies cookie found, so we'll need to geolocate if this visitor is from California. // This needs to happen client side because we do not have region geo data in our $SERVER headers, // only country data -- therefore we can't vary cache on the region. if ( null === ccpaCookie ) { var request = new XMLHttpRequest(); request.open( 'GET', 'https://public-api.wordpress.com/geo/', true ); request.onreadystatechange = function () { if ( 4 === this.readyState ) { if ( 200 === this.status ) { // Got a geo response. Parse out the region data. var data = JSON.parse( this.response ); var region = data.region ? data.region.toLowerCase() : ''; var ccpa_applies = ['california', 'colorado', 'connecticut', 'delaware', 'indiana', 'iowa', 'montana', 'new jersey', 'oregon', 'tennessee', 'texas', 'utah', 'virginia'].indexOf( region ) > -1; // Set CCPA applies cookie. This keeps us from having to make a geo request too frequently. setCcpaAppliesCookie( ccpa_applies ); // Check if CCPA applies to set the proper usprivacy cookie. if ( ccpa_applies ) { if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } else { // CCPA does not apply. setDefaultNotApplicableCookie(); } } else { // Could not geo, so let's assume for now that CCPA applies to be safe. setCcpaAppliesCookie( true ); if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } } }; // Send the geo request. request.send(); } else { // We found a CCPA applies cookie. if ( ccpaCookie === 'true' ) { if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } else { // CCPA does not apply. setDefaultNotApplicableCookie(); } } } ); }; // Kickoff initialization. if ( window.defQueue && defQueue.isLOHP && defQueue.isLOHP === 2020 ) { defQueue.items.push( setupPrivacy ); } else { setupPrivacy(); } } )(); </script> <!-- CCPA [end] --> <div class="widget widget_eu_cookie_law_widget"> <div class="hide-on-button ads-active" data-hide-timeout="30" data-consent-expiration="180" id="eu-cookie-law" style="display: none" > <form method="post"> <input type="submit" value="Close and accept" class="accept" /> Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. <br /> To find out more, including how to control cookies, see here: <a href="https://automattic.com/cookies/" rel="nofollow"> Cookie Policy </a> </form> </div> </div> <div id="actionbar" dir="ltr" style="display: none;" class="actnbr-pub-twentyten actnbr-has-follow actnbr-has-actions"> <ul> <li class="actnbr-btn actnbr-hidden"> <a class="actnbr-action actnbr-actn-follow " href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg> <span>Subscribe</span> </a> <a class="actnbr-action actnbr-actn-following no-display" href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg> <span>Subscribed</span> </a> <div class="actnbr-popover tip tip-top-left actnbr-notice" id="follow-bubble"> <div class="tip-arrow"></div> <div class="tip-inner actnbr-follow-bubble"> <ul> <li class="actnbr-sitename"> <a href="https://hdview.wordpress.com"> <img loading='lazy' alt='' src='https://s2.wp.com/i/logo/wpcom-gray-white.png' srcset='https://s2.wp.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /> HD View </a> </li> <div class="actnbr-message no-display"></div> <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;"> <div> <input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address" /> </div> <input type="hidden" name="action" value="subscribe" /> <input type="hidden" name="blog_id" value="16334388" /> <input type="hidden" name="source" value="https://hdview.wordpress.com/" /> <input type="hidden" name="sub-type" value="actionbar-follow" /> <input type="hidden" id="_wpnonce" name="_wpnonce" value="54aaa2f43f" /> <div class="actnbr-button-wrap"> <button type="submit" value="Sign me up"> Sign me up </button> </div> </form> <li class="actnbr-login-nudge"> <div> Already have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fhdview.wordpress.com%2F2014%2F09%2F09%2Fblink-now-captures-fantastic-low-light-gifs%2F&signup_flow=account">Log in now.</a> </div> </li> </ul> </div> </div> </li> <li class="actnbr-ellipsis actnbr-hidden"> <svg class="gridicon gridicons-ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M7 12c0 1.104-.896 2-2 2s-2-.896-2-2 .896-2 2-2 2 .896 2 2zm12-2c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2zm-7 0c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2z"/></g></svg> <div class="actnbr-popover tip tip-top-left actnbr-more"> <div class="tip-arrow"></div> <div class="tip-inner"> <ul> <li class="actnbr-sitename"> <a href="https://hdview.wordpress.com"> <img loading='lazy' alt='' src='https://s2.wp.com/i/logo/wpcom-gray-white.png' srcset='https://s2.wp.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /> HD View </a> </li> <li class="actnbr-folded-follow"> <a class="actnbr-action actnbr-actn-follow " href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg> <span>Subscribe</span> </a> <a class="actnbr-action actnbr-actn-following no-display" href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg> <span>Subscribed</span> </a> </li> <li class="actnbr-signup"><a href="https://wordpress.com/start/">Sign up</a></li> <li class="actnbr-login"><a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fhdview.wordpress.com%2F2014%2F09%2F09%2Fblink-now-captures-fantastic-low-light-gifs%2F&signup_flow=account">Log in</a></li> <li class="flb-report"> <a href="https://wordpress.com/abuse/?report_url=https://hdview.wordpress.com" target="_blank" rel="noopener noreferrer"> Report this content </a> </li> <li class="actnbr-reader"> <a href="https://wordpress.com/reader/feeds/3770310"> View site in Reader </a> </li> <li class="actnbr-subs"> <a href="https://subscribe.wordpress.com/">Manage subscriptions</a> </li> <li class="actnbr-fold"><a href="">Collapse this bar</a></li> </ul> </div> </div> </li> </ul> </div> <script> window.addEventListener( "load", function( event ) { var link = document.createElement( "link" ); link.href = "https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.css?v=20250116"; link.type = "text/css"; link.rel = "stylesheet"; document.head.appendChild( link ); var script = document.createElement( "script" ); script.src = "https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204"; script.defer = true; document.body.appendChild( script ); } ); </script> <div id="jp-carousel-loading-overlay"> <div id="jp-carousel-loading-wrapper"> <span id="jp-carousel-library-loading"> </span> </div> </div> <div class="jp-carousel-overlay" style="display: none;"> <div class="jp-carousel-container"> <!-- The Carousel Swiper --> <div class="jp-carousel-wrap swiper-container jp-carousel-swiper-container jp-carousel-transitions" itemscope itemtype="https://schema.org/ImageGallery"> <div class="jp-carousel swiper-wrapper"></div> <div class="jp-swiper-button-prev swiper-button-prev"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskPrev" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="9" height="12"> <path d="M16.2072 16.59L11.6496 12L16.2072 7.41L14.8041 6L8.8335 12L14.8041 18L16.2072 16.59Z" fill="white"/> </mask> <g mask="url(#maskPrev)"> <rect x="0.579102" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> </div> <div class="jp-swiper-button-next swiper-button-next"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskNext" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="8" height="12"> <path d="M8.59814 16.59L13.1557 12L8.59814 7.41L10.0012 6L15.9718 12L10.0012 18L8.59814 16.59Z" fill="white"/> </mask> <g mask="url(#maskNext)"> <rect x="0.34375" width="23.8822" height="24" fill="#FFFFFF"/> </g> </svg> </div> </div> <!-- The main close buton --> <div class="jp-carousel-close-hint"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskClose" mask-type="alpha" maskUnits="userSpaceOnUse" x="5" y="5" width="15" height="14"> <path d="M19.3166 6.41L17.9135 5L12.3509 10.59L6.78834 5L5.38525 6.41L10.9478 12L5.38525 17.59L6.78834 19L12.3509 13.41L17.9135 19L19.3166 17.59L13.754 12L19.3166 6.41Z" fill="white"/> </mask> <g mask="url(#maskClose)"> <rect x="0.409668" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> </div> <!-- Image info, comments and meta --> <div class="jp-carousel-info"> <div class="jp-carousel-info-footer"> <div class="jp-carousel-pagination-container"> <div class="jp-swiper-pagination swiper-pagination"></div> <div class="jp-carousel-pagination"></div> </div> <div class="jp-carousel-photo-title-container"> <h2 class="jp-carousel-photo-caption"></h2> </div> <div class="jp-carousel-photo-icons-container"> <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-info" aria-label="Toggle photo metadata visibility"> <span class="jp-carousel-icon"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskInfo" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12.7537 2C7.26076 2 2.80273 6.48 2.80273 12C2.80273 17.52 7.26076 22 12.7537 22C18.2466 22 22.7046 17.52 22.7046 12C22.7046 6.48 18.2466 2 12.7537 2ZM11.7586 7V9H13.7488V7H11.7586ZM11.7586 11V17H13.7488V11H11.7586ZM4.79292 12C4.79292 16.41 8.36531 20 12.7537 20C17.142 20 20.7144 16.41 20.7144 12C20.7144 7.59 17.142 4 12.7537 4C8.36531 4 4.79292 7.59 4.79292 12Z" fill="white"/> </mask> <g mask="url(#maskInfo)"> <rect x="0.8125" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> </span> </a> <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-comments" aria-label="Toggle photo comments visibility"> <span class="jp-carousel-icon"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskComments" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.3271 2H20.2486C21.3432 2 22.2388 2.9 22.2388 4V16C22.2388 17.1 21.3432 18 20.2486 18H6.31729L2.33691 22V4C2.33691 2.9 3.2325 2 4.3271 2ZM6.31729 16H20.2486V4H4.3271V18L6.31729 16Z" fill="white"/> </mask> <g mask="url(#maskComments)"> <rect x="0.34668" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> <span class="jp-carousel-has-comments-indicator" aria-label="This image has comments."></span> </span> </a> </div> </div> <div class="jp-carousel-info-extra"> <div class="jp-carousel-info-content-wrapper"> <div class="jp-carousel-photo-title-container"> <h2 class="jp-carousel-photo-title"></h2> </div> <div class="jp-carousel-comments-wrapper"> <div id="jp-carousel-comments-loading"> <span>Loading Comments...</span> </div> <div class="jp-carousel-comments"></div> <div id="jp-carousel-comment-form-container"> <span id="jp-carousel-comment-form-spinner"> </span> <div id="jp-carousel-comment-post-results"></div> <form id="jp-carousel-comment-form"> <label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Write a Comment...</label> <textarea name="comment" class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" id="jp-carousel-comment-form-comment-field" placeholder="Write a Comment..." ></textarea> <div id="jp-carousel-comment-form-submit-and-info-wrapper"> <div id="jp-carousel-comment-form-commenting-as"> <fieldset> <label for="jp-carousel-comment-form-email-field">Email (Required)</label> <input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field" /> </fieldset> <fieldset> <label for="jp-carousel-comment-form-author-field">Name (Required)</label> <input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field" /> </fieldset> <fieldset> <label for="jp-carousel-comment-form-url-field">Website</label> <input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field" /> </fieldset> </div> <input type="submit" name="submit" class="jp-carousel-comment-form-button" id="jp-carousel-comment-form-button-submit" value="Post Comment" /> </div> </form> </div> </div> <div class="jp-carousel-image-meta"> <div class="jp-carousel-title-and-caption"> <div class="jp-carousel-photo-info"> <h3 class="jp-carousel-caption" itemprop="caption description"></h3> </div> <div class="jp-carousel-photo-description"></div> </div> <ul class="jp-carousel-image-exif" style="display: none;"></ul> <a class="jp-carousel-image-download" href="#" target="_blank" style="display: none;"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="3" y="3" width="19" height="18"> <path fill-rule="evenodd" clip-rule="evenodd" d="M5.84615 5V19H19.7775V12H21.7677V19C21.7677 20.1 20.8721 21 19.7775 21H5.84615C4.74159 21 3.85596 20.1 3.85596 19V5C3.85596 3.9 4.74159 3 5.84615 3H12.8118V5H5.84615ZM14.802 5V3H21.7677V10H19.7775V6.41L9.99569 16.24L8.59261 14.83L18.3744 5H14.802Z" fill="white"/> </mask> <g mask="url(#mask0)"> <rect x="0.870605" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> <span class="jp-carousel-download-text"></span> </a> <div class="jp-carousel-image-map" style="display: none;"></div> </div> </div> </div> </div> </div> </div> <link crossorigin='anonymous' rel='stylesheet' id='all-css-0-2' href='https://s2.wp.com/_static/??-eJydzEEKwyAQheEL1Q5JocFFyFmsDkEzjuI4hNy+FJptFln+j8cHezW+cEfukNVU0jWyQMJend/+DaIMuQQlFPCuFRUkkD1WbOajHAifXuQB97Hzcw43vR4Jg1kdEbbjqn7+kufhbUc7vYZxSl9CS2RI&cssminify=yes' type='text/css' media='all' /> <script type="text/javascript" src="https://s1.wp.com/wp-content/js/mobile-useragent-info.js?m=1609849039i&ver=20241018" id="mobile-useragent-info-js" defer="defer" data-wp-strategy="defer"></script> <script crossorigin='anonymous' type='text/javascript' src='https://s2.wp.com/_static/??-eJx9jEEOwjAMBD9EalGoygXxFJQmpnLqOFXtUPF7egCBOHCcWc3COrtQxFAMBi6jm7mOJAprWaKP6gJ7VVRIm/LG7t42SXfwleX6iSiOaApYt7VMhI79CoZ5Zm/44//8JLTZh+nFoFXgShJgqMQRSG4kZOg0LIX5zY8mk2ynl3ze98e2Ox26vk1PWuBTJg=='></script> <script type="text/javascript" src="https://platform.twitter.com/widgets.js?ver=20111117" id="twitter-widgets-js"></script> <script type="text/javascript" id="jetpack-carousel-js-extra"> /* <![CDATA[ */ var jetpackSwiperLibraryPath = {"url":"https:\/\/s2.wp.com\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/_inc\/build\/carousel\/swiper-bundle.min.js"}; var jetpackCarouselStrings = {"widths":[370,700,1000,1200,1400,2000],"is_logged_in":"","lang":"en","ajaxurl":"https:\/\/hdview.wordpress.com\/wp-admin\/admin-ajax.php","nonce":"57734522be","display_exif":"1","display_comments":"1","single_image_gallery":"1","single_image_gallery_media_file":"","background_color":"black","comment":"Comment","post_comment":"Post Comment","write_comment":"Write a Comment...","loading_comments":"Loading Comments...","image_label":"Open image in full-screen.","download_original":"View full size <span class=\"photo-size\">{0}<span class=\"photo-size-times\">\u00d7<\/span>{1}<\/span>","no_comment_text":"Please be sure to submit some text with your comment.","no_comment_email":"Please provide an email address to comment.","no_comment_author":"Please provide your name to comment.","comment_post_error":"Sorry, but there was an error posting your comment. Please try again later.","comment_approved":"Your comment was approved.","comment_unapproved":"Your comment is in moderation.","camera":"Camera","aperture":"Aperture","shutter_speed":"Shutter Speed","focal_length":"Focal Length","copyright":"Copyright","comment_registration":"0","require_name_email":"1","login_url":"https:\/\/hdview.wordpress.com\/wp-login.php?redirect_to=https%3A%2F%2Fhdview.wordpress.com%2F2011%2F04%2F05%2Fmicrosoft-ice-updatevideo-to-panorama-lens-vignette-improved-blending%2F","blog_id":"16334388","meta_data":["camera","aperture","shutter_speed","focal_length","copyright"],"stats_query_args":"blog=16334388&v=wpcom&tz=-7&user_id=0&subd=hdview","is_public":"1"}; /* ]]> */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s1.wp.com/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/carousel/jetpack-carousel.min.js?m=1733916535i'></script> <script type="text/javascript" crossorigin='anonymous' src="https://s0.wp.com/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js?m=1685112397i&ver=14.6-a.0" id="tiled-gallery-js" defer="defer" data-wp-strategy="defer"></script> <script crossorigin='anonymous' type='text/javascript' src='https://s0.wp.com/wp-content/mu-plugins/carousel-wpcom/carousel-wpcom.js?m=1620989527i'></script> <script type="text/javascript"> (function () { var wpcom_reblog = { source: 'toolbar', toggle_reblog_box_flair: function (obj_id, post_id) { // Go to site selector. This will redirect to their blog if they only have one. const postEndpoint = `https://wordpress.com/post`; // Ideally we would use the permalink here, but fortunately this will be replaced with the // post permalink in the editor. const originalURL = `${ document.location.href }?page_id=${ post_id }`; const url = postEndpoint + '?url=' + encodeURIComponent( originalURL ) + '&is_post_share=true' + '&v=5'; const redirect = function () { if ( ! window.open( url, '_blank' ) ) { location.href = url; } }; if ( /Firefox/.test( navigator.userAgent ) ) { setTimeout( redirect, 0 ); } else { redirect(); } }, }; window.wpcom_reblog = wpcom_reblog; })(); </script> <script type="text/javascript"> (function() { var extend = function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { if (!arguments[i]) continue; for (var key in arguments[i]) { if (arguments[i].hasOwnProperty(key)) out[key] = arguments[i][key]; } } return out; }; extend( window.infiniteScroll.settings.scripts, ["jetpack-mu-wpcom-settings","rlt-proxy","cmp-script-stub","wpcom-actionbar-placeholder","grofiles-cards","wpgroho","mobile-useragent-info","wordads-client","eu-cookie-law-script","the-neverending-homepage","twitter-widgets","jetpack-carousel","tiled-gallery","carousel-wpcom"] ); extend( window.infiniteScroll.settings.styles, ["wordads-global","wordads-twentyten","eu-cookie-law-style","free-site-marketing-bar","the-neverending-homepage","wp-block-library","wp-block-library-theme","jetpack-layout-grid","jetpack-ratings","mediaelement","wp-mediaelement","coblocks-frontend","wpcom-core-compat-playlist-styles","wpcom-bbpress2-staff-css","twentyten-block-style","twentyten-wpcom-style","reblogging","geo-location-flair","infinity-twentyten","h4-global","wp-emoji-styles","videopress-video-style","jetpack-sharing-buttons-style","classic-theme-styles","global-styles","akismet-widget-style","jetpack-global-styles-frontend-style","jetpack-carousel-swiper-css","jetpack-carousel","tiled-gallery","core-block-supports-duotone"] ); })(); </script> <span id="infinite-aria" aria-live="polite"></span> <script src="//stats.wp.com/w.js?68" defer></script> <script type="text/javascript"> _tkq = window._tkq || []; _stq = window._stq || []; _tkq.push(['storeContext', {'blog_id':'16334388','blog_tz':'-7','user_lang':'en','blog_lang':'en','user_id':'0'}]); _stq.push(['view', {'blog':'16334388','v':'wpcom','tz':'-7','user_id':'0','subd':'hdview'}]); _stq.push(['extra', {'crypt':'UE5XaGUuOTlwaD85flAmcm1mcmZsaDhkV11YdTdvUG14Q2VDQTR4LlUsLi82dU1mai9BMmM3aVtjbGRnQVlDczZQLyVuUGxMaE89fHgyUkRPP0xDUzNkRmRzUXdoa255NFBURE49fHAsSkR6RUtnUENMZjZ+dkNicVJOSXZCUCxadmJqbUdFSVJaP0pKMj13fkF2L3p+NHcuZnBRd0dmc1M9TUkwUFc/fl9CZk0sSkIlaE5vLUUsNj0lbVBrWEFJbE03SEQyfkJUSXpPJl9hSiwrMnFHSy1EUmY2ZT0vYmtqa0hwNkFubmVlUG1zcHJ3ajM5cFBtUjRwPWlWOVtbfnBjYkh5NHorTS5LRy95NHJJYnU1ZT1rcXxZN0poaHBNPXc1amJtK0RmNTZzODUzZUU9T1h8dThRaC1yLX5NYjBSUyt1OHVpZ0osXXk/eXx4S3ZLWmFBdHZVYT0tW1RhdWs='}]); _stq.push([ 'clickTrackerInit', '16334388', '0' ]); </script> <noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript> <script defer id="bilmur" data-customproperties="{"logged_in":"0","wptheme":"pub\/twentyten","wptheme_is_block":"0"}" data-provider="wordpress.com" data-service="simple" data-site-tz="America/Vancouver" src="/wp-content/js/bilmur-3-4-combined.min.js?i=12&m=202514"></script><div id="marketingbar" class="marketing-bar noskim "><div class="marketing-bar-text">Design a site like this with WordPress.com</div><a class="marketing-bar-button" href="https://wordpress.com/start/?ref=marketing_bar">Get started</a><a class="marketing-bar-link" tabindex="-1" aria-label="Create your website at WordPress.com" href="https://wordpress.com/start/?ref=marketing_bar"></a></div> <script type="text/javascript"> window._tkq = window._tkq || []; window._tkq.push( [ 'recordEvent', 'wpcom_marketing_bar_impression', {"is_current_user_blog_owner":false} ] ); document.querySelectorAll( '#marketingbar > a' ).forEach( link => { link.addEventListener( 'click', ( e ) => { window._tkq.push( [ 'recordEvent', 'wpcom_marketing_bar_cta_click', {"is_current_user_blog_owner":false} ] ); } ); }); </script><script> ( function() { function getMobileUserAgentInfo() { if ( typeof wpcom_mobile_user_agent_info === 'object' ) { wpcom_mobile_user_agent_info.init(); var mobileStatsQueryString = ''; if ( wpcom_mobile_user_agent_info.matchedPlatformName !== false ) { mobileStatsQueryString += '&x_' + 'mobile_platforms' + '=' + wpcom_mobile_user_agent_info.matchedPlatformName; } if ( wpcom_mobile_user_agent_info.matchedUserAgentName !== false ) { mobileStatsQueryString += '&x_' + 'mobile_devices' + '=' + wpcom_mobile_user_agent_info.matchedUserAgentName; } if ( wpcom_mobile_user_agent_info.isIPad() ) { mobileStatsQueryString += '&x_' + 'ipad_views' + '=' + 'views'; } if ( mobileStatsQueryString != '' ) { new Image().src = document.location.protocol + '//pixel.wp.com/g.gif?v=wpcom-no-pv' + mobileStatsQueryString + '&baba=' + Math.random(); } } } document.addEventListener( 'DOMContentLoaded', getMobileUserAgentInfo ); } )(); </script></body> </html>