Posted: Sun Dec 16, 2007 2:21 pm
Code breakers can throw a variety of image manipulations at images such as contrast changes, colorization, blurs and sharpens, and most importantly edge detection. All of which are very simple and fast to perform because they are all convolutions or simple linear shifts.
So you have to consider the noise levels of the foreground and background, and the intermixing of non-informational foreground elements. Distortion only goes so far before it's equally unreadable by humans and computers. Humans generally need somewhat high contrast, which unfortunately makes it one step easier for computers.
Also, you have to test your image against many demographics and age ranges, otherwise you may do something to it that makes it difficult for a specific group. You also need to provide alternate verification processes to conform to various legal guidelines in many locales.
As with many things, requiring Javascript for it is a bad idea and leaving any details of it in the data stream such as in a cookie or in the form fields is equally bad.
So you have to consider the noise levels of the foreground and background, and the intermixing of non-informational foreground elements. Distortion only goes so far before it's equally unreadable by humans and computers. Humans generally need somewhat high contrast, which unfortunately makes it one step easier for computers.
Also, you have to test your image against many demographics and age ranges, otherwise you may do something to it that makes it difficult for a specific group. You also need to provide alternate verification processes to conform to various legal guidelines in many locales.
As with many things, requiring Javascript for it is a bad idea and leaving any details of it in the data stream such as in a cookie or in the form fields is equally bad.