{"id":5986,"date":"2023-04-18T10:29:38","date_gmt":"2023-04-18T16:29:38","guid":{"rendered":"https:\/\/www.realtimerendering.com\/blog\/?p=5986"},"modified":"2023-12-14T09:03:24","modified_gmt":"2023-12-14T15:03:24","slug":"coolerer-color-qr-codes","status":"publish","type":"post","link":"https:\/\/www.realtimerendering.com\/blog\/coolerer-color-qr-codes\/","title":{"rendered":"Coolerer Color QR Codes"},"content":{"rendered":"\n<p>It turns out that, at the bottom right of <a href=\"https:\/\/cgv.cs.nthu.edu.tw\/projects\/Recreational_Graphics\/Halftone_QRCodes\"><strong>the project page<\/strong><\/a> I pointed to in <a href=\"https:\/\/www.realtimerendering.com\/blog\/cooler-qr-codes\/\" data-type=\"URL\" data-id=\"https:\/\/www.realtimerendering.com\/blog\/cooler-qr-codes\/\">my previous post<\/a>, there&#8217;s a link to a Windows implementation of their system. I hadn&#8217;t noticed that; thanks to James Hung-Kuo Chu, first author of the work, for the tip-off. He has a nice example of a colored QR code on <a href=\"https:\/\/cgv.cs.nthu.edu.tw\/hkchu\/\">his web page<\/a>.<\/p>\n\n\n\n<p>The Windows program works! Set a URL or text to search, upload a picture, ask for a QR code.<br><br>Here&#8217;s an example. Blur your eyes to help you figure out what well-known computer graphics image it represents. I find you&#8217;ll want to have the QR code be not very large in your camera&#8217;s view for it to be detected as one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/1984_4x.png\"><img loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"540\" src=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/1984_4x.png\" alt=\"\" class=\"wp-image-5987\" srcset=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/1984_4x.png 540w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/1984_4x-300x300.png 300w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/1984_4x-150x150.png 150w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/a><\/figure>\n\n\n\n<p>A smaller one, of me. Again, blur eyes. When changing the size it&#8217;s likely best (?) to &#8220;pixel resize&#8221; (sample and hold, etc.), not resampling.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_eric_2x.png\"><img loading=\"lazy\" decoding=\"async\" width=\"270\" height=\"270\" src=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_eric_2x.png\" alt=\"\" class=\"wp-image-5990\" srcset=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_eric_2x.png 270w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_eric_2x-150x150.png 150w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><\/figure>\n\n\n\n<p>Addendum: James Hung-Kuo Chu, the first author on the paper, noted that using the &#8220;Apply contrast enhancement&#8221; can give a better result. Here&#8217;s one with that:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_contrast_eric_2x.png\"><img loading=\"lazy\" decoding=\"async\" width=\"270\" height=\"270\" src=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_contrast_eric_2x.png\" alt=\"\" class=\"wp-image-5997\" srcset=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_contrast_eric_2x.png 270w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2023\/04\/qr_color_contrast_eric_2x-150x150.png 150w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><\/figure>\n\n\n\n<p>Addendum 5\/28\/2023: I just noticed <a href=\"https:\/\/kk.org\/cooltools\/qr-art-pills-on-the-go-gigabrain\/\">this article<\/a>, pointing to <a href=\"https:\/\/research.swtch.com\/qr\/draw\/\" data-type=\"URL\" data-id=\"https:\/\/research.swtch.com\/qr\/draw\/\">another QR image generator<\/a>. The color one&#8217;s more fun, IMO, but I wanted to scribble down where this other tool is.<br>And addendum 6\/7\/2023: <a href=\"https:\/\/arstechnica.com\/information-technology\/2023\/06\/redditor-creates-working-anime-qr-codes-using-stable-diffusion\/\">this cool QR maker<\/a> guided by Stable Diffusion <em>(thanks to Andrew Glassner for pointing it out)<\/em>. Actual creator tool <a href=\"https:\/\/qrbtf.com\/\" data-type=\"URL\" data-id=\"https:\/\/qrbtf.com\/\">here<\/a>.<br>Also, 12\/14\/2023: <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/27249833\/\">a research topic<\/a> is to make a 2D barcode that tries to be more aesthetically pleasing than a QR code. Me, I think that ship has sailed &#8211; adopting a new barcode format seems unlikely &#8211; but, interesting topic and a view of &#8220;what might have been.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It turns out that, at the bottom right of the project page I pointed to in my previous post, there&#8217;s a link to a Windows implementation of their system. I hadn&#8217;t noticed that; thanks to James Hung-Kuo Chu, first author of the work, for the tip-off. He has a nice example of a colored QR [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5986","post","type-post","status-publish","format-standard","hentry","category-misc"],"_links":{"self":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/comments?post=5986"}],"version-history":[{"count":5,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5986\/revisions"}],"predecessor-version":[{"id":6064,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5986\/revisions\/6064"}],"wp:attachment":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/media?parent=5986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/categories?post=5986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/tags?post=5986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}