<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>tlrobinson.net / blog - Latest Comments in tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson-blog.disqus.com/</link><description></description><language>en</language><lastBuildDate>Tue, 09 Dec 2008 09:56:13 -0000</lastBuildDate><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-4288688</link><description>It is like multiplying a number with 2. You tell me your number and i will divide it with 2 to get the result. This is not recovery. Recovery should be getting a number without knowing the exact algorithm that the number is made of.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gabulit</dc:creator><pubDate>Tue, 09 Dec 2008 09:56:13 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3224098</link><description>I haven't tried on Windows, but I don't any reason it wouldn't work.&lt;br&gt;&lt;br&gt;I'm not aware of any JS *shells*, but there are lots of JavaScript engines that have command line interpreters, like Rhino, JavaScriptCore (WebKit's), SpiderMonkey, and V8.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tlrobinson</dc:creator><pubDate>Wed, 22 Oct 2008 05:35:30 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3224085</link><description>Thanks. And does that only work in Mac OS X or is this a default for PhotoShop CS3?&lt;br&gt;&lt;br&gt;On a side note, are there any JavaScript shell environments (like Bash, or the DOS batch commandprompt) you are aware of?&lt;br&gt;&lt;br&gt;- Unomi -</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Unomi</dc:creator><pubDate>Wed, 22 Oct 2008 05:30:37 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3223968</link><description>Oops. Forgot to mention that.&lt;br&gt;&lt;br&gt;Photoshop comes with an editor called "ExtendScript Toolkit 2", which is what I used. I believe you can also just open the script from the File -&amp;gt; Scripts menu.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tlrobinson</dc:creator><pubDate>Wed, 22 Oct 2008 05:00:59 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3223734</link><description>I'm sorry, but I can't figure out how the JavaScript is executed. Do you tell PhotoShop to execute the script or is there an JavaScript environment that can load and execute the script?&lt;br&gt;&lt;br&gt;The video is way to quick to see what happens with the jsx file and it what kind of editor this is placed.&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;- Unomi -</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Unomi</dc:creator><pubDate>Wed, 22 Oct 2008 04:08:22 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140612</link><description>&lt;p&gt;@Craiig: Thanks for the suggestion. That might be a good idea, though it's not immediately obvious how I would apply a hill climbing algorithm.&lt;/p&gt;&lt;br&gt;&lt;p&gt;The main problem is that with proportional width fonts the accuracy of all subsequent guesses depends a &lt;em&gt;lot&lt;/em&gt; on the accuracy of the characters guessed so far. Perhaps it could backtrack if it notices the accuracy of even the best guess drops below a certain threshold.&lt;/p&gt;&lt;br&gt;&lt;p&gt;It would definitely help if I could speed up the time for each individual test, but I think I'm pretty much at the mercy of Photoshop and my machine.&lt;/p&gt;&lt;br&gt;&lt;p&gt;I don't remember the specifics of hill climbing algorithms from my AI courses well enough to see how to apply it to this. Any ideas?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tom</dc:creator><pubDate>Wed, 15 Oct 2008 02:38:42 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140613</link><description>&lt;p&gt;Have you looked into using a hill climbing algorithm? Sorry, I didn't look that closely at your code so you may have already done this. &lt;/p&gt;&lt;br&gt;&lt;p&gt;http://en.wikipedia.org/wiki/Hill_climbing&lt;/p&gt;&lt;br&gt;&lt;p&gt;It may help you speed things up a bit and get better accuracy. The idea is to essentially make a quick (random) approximation, and then iteratively 'make it better'.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Craiig</dc:creator><pubDate>Wed, 15 Oct 2008 02:25:44 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140610</link><description>&lt;p&gt;Jejejeje.... &lt;/p&gt;&lt;br&gt;&lt;p&gt;Ojala en algun dia que los gobiernos de: Venezuela, Cuba, Bolivia, etc...  Para despellejarlas esos textos censurados/as por la CIA, USAID, etc., por meter problemas a Venezuela y Bolivia....&lt;/p&gt;&lt;br&gt;&lt;p&gt;Ademas Sin embargo que, sin ningun comentarios como estas...&lt;/p&gt;&lt;br&gt;&lt;p&gt;Ojala que los Gobiernos de Venezuela y Bolivia descubran los papeles secretos informatizados (como emails, fotos, etc.) para desemascarar las garras del imperialismo gringo que lo hizo el 11/04/2002 y el Caso de Bolivia ....&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juancho</dc:creator><pubDate>Sun, 12 Oct 2008 17:08:35 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140599</link><description>&lt;p&gt;very amazing?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">axlenoco</dc:creator><pubDate>Fri, 10 Oct 2008 02:40:22 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140608</link><description>&lt;p&gt;@Justin: I think I left out this step:&lt;/p&gt;&lt;br&gt;&lt;p&gt;"Double-click the Smart Object layer to open it's source document, and adjust the variables listed at the top of the JavaScript to match the names and layers."&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tom</dc:creator><pubDate>Thu, 09 Oct 2008 18:12:04 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140619</link><description>&lt;p&gt;Any one else try to run it?  I tried my own image then tried the one that comes with it.  I keep getting an error on line 149:" app.activeDocument.artLayers[textDocTextLayer].textItem.contents = string;"&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Justin</dc:creator><pubDate>Thu, 09 Oct 2008 15:39:20 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140600</link><description>&lt;p&gt;Making use of ascender/descender information might let you "resync" proportionally-spaced text after an error; spaces may also be visible.&lt;/p&gt;&lt;br&gt;&lt;p&gt;A dictionary-based approach, matching ascender/descender patterns and word length, would probably be a lot more effective, but before long you'll be replicating OCR software :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Liam</dc:creator><pubDate>Thu, 09 Oct 2008 13:19:29 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140620</link><description>&lt;p&gt;So.... Now you just need a rainbow table of every popular font filtered with all popular filtering techniques. &lt;/p&gt;&lt;br&gt;&lt;p&gt;Then set it loose on google images and see what you can find :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">PrettyCool</dc:creator><pubDate>Thu, 09 Oct 2008 12:43:25 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140617</link><description>&lt;p&gt;@Vivin&lt;/p&gt;&lt;br&gt;&lt;p&gt;You don't need any more known text to use Markov chains.  Let's say we know it's English based on the known text, and we've discovered that a letter is 'q' instead of running through all the letters a-u before discovering that the next letter is 'u', we should try 'u' first based on probability.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stuart</dc:creator><pubDate>Thu, 09 Oct 2008 07:43:59 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140616</link><description>&lt;p&gt;This works only for known fonts and known simple blur text.&lt;/p&gt;&lt;br&gt;&lt;p&gt;Blur twice with different blur types scaling text between them or even better, use smudge tool after the blur (or before) and not anykind software is capable to find out what text there has be written.&lt;/p&gt;&lt;br&gt;&lt;p&gt;If I would rate this demostration scale easy:0 and impossible:100, this trick would be just a 1 or 2 when talking about censoring text.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fri13</dc:creator><pubDate>Thu, 09 Oct 2008 07:34:22 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140618</link><description>&lt;p&gt;I don't know if JavaScript allows you to do that, but you should try cross-correlating each blurred character with the blurred image instead. For each character you could find the position of all its occurrences in the image in one pass.&lt;/p&gt;&lt;br&gt;&lt;p&gt;And to save you the googling, cross-correlation is just space-space domain convolution with a reverted (flipped both horizontally and vertically) kernel, the kernel being the letter, and basically in the resulting image a bright peak denotes the detection of a match (although the peak isn't even ideally a sharp peak because its frequency response is mostly the square of the kernel's frequency response, but in your case it shouldn't be much of a problem anyways).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michel Rouzic</dc:creator><pubDate>Thu, 09 Oct 2008 07:33:06 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140621</link><description>&lt;p&gt;It's possible to reverse the black ink process ?????????? use to ?????????? their ??????? too. There are some gentlemen at the door in black suits with mirror shades in a Party Van. I'll just go and tell them they have the wrong address and I'll explain.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tom</dc:creator><pubDate>Thu, 09 Oct 2008 06:40:12 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140606</link><description>&lt;p&gt;@Gabulit:&lt;/p&gt;&lt;br&gt;&lt;p&gt;This algorithm takes a certain type of censored text as input, and enables the user to find out what the original text was. How can you possibly claim that it doesn't recover censored text, when that is exactly what it does?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jib</dc:creator><pubDate>Thu, 09 Oct 2008 04:10:30 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140601</link><description>&lt;p&gt;This method is useless if you don't know the precise algorithm used to blur the text. Since you are using the same filter to blur the text this is not recovering cencored text. This is more likely "Javascript to compare and rank based on similarity".&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gabulit</dc:creator><pubDate>Thu, 09 Oct 2008 03:57:47 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140615</link><description>&lt;p&gt;Pff... There's no wrong way to eat a rhesus.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tommy</dc:creator><pubDate>Wed, 08 Oct 2008 21:36:46 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140598</link><description>&lt;p&gt;@Vivin&lt;/p&gt;&lt;br&gt;&lt;p&gt;more likely as opposed to likelier...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 08 Oct 2008 20:37:26 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140611</link><description>&lt;p&gt;@Stuart&lt;/p&gt;&lt;br&gt;&lt;p&gt;I think you would need a sufficiently large body of pre-existing text to figure out which letters are likelier than others. Also, a Markov chain wouldn't help that much on such small set of letters.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vivin</dc:creator><pubDate>Wed, 08 Oct 2008 19:53:59 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140614</link><description>&lt;p&gt;Blacking out text isn't really an answer on a variable width font, either:&lt;/p&gt;&lt;br&gt;&lt;p&gt;&lt;a href="http://cryptome.org/cia-decrypt.htm" rel="nofollow"&gt;See Here&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian</dc:creator><pubDate>Wed, 08 Oct 2008 19:52:50 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140607</link><description>&lt;p&gt;Ballpark — The easy way to send estimates.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel</dc:creator><pubDate>Wed, 08 Oct 2008 19:39:39 -0000</pubDate></item><item><title>Re: tlrobinson.net / blog  &amp;raquo; Blog Archive   &amp;raquo; Recovering Censored Text Using Photoshop and JavaScript</title><link>http://tlrobinson.net/blog/?p=52#comment-3140602</link><description>&lt;p&gt;You could probably speed it up/increase accuracy by using Markov chains to try more likely next letters before less likely ones.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stuart</dc:creator><pubDate>Wed, 08 Oct 2008 18:54:16 -0000</pubDate></item></channel></rss>