MATLAB中有一个简单的解决方案吗?
答案 0 :(得分:5)
简单回答:NOPE
答案 1 :(得分:1)
对于像这样的简单,你可以运行中值滤波器和ocr。
对于图像中的每个像素,中值滤波器将查看其周围区域(通常为3x3或5x5像素区域),确定该区域中的中值像素值并将像素设置为该中值。在相同颜色的块中不会发生任何事情,整个区域与所考虑的像素颜色相同,因此中值i与当前值相同(或者至少几乎相同,允许轻微的颜色变化。另一方面噪声像素,即在其周围具有不同颜色区域的单个像素将简单地消失,因为该区域的中值将是噪声像素周围的所有像素的颜色。
对于ocr或光学字符识别,我只使用现有的程序/库,在Matlab中编写ocr算法肯定是可能的,但是比编写一个简单的算法要大得多。一小时。您首先需要阅读ocr技术和算法。
答案 2 :(得分:1)
非常简单:将图像读取为灰度,阈值,清理并通过ocr程序运行。
%# read the image
img = imread('http://internationalpropertiesregistry.com/Server/showFile.php?file=%2FUpload%2F02468.gif358455ebc982cb93b98a258fc4d6ee60.gif');
%# threshold
bw = img < 150;
%# clean up
bw = bwareaopen(bw,3,4);
%# look at it - the number 8 is not so pretty, the rest looks reasonable
figure,imshow(bw)
然后,弄清楚是否有可以提供帮助的OCR程序,例如this one
更简单:
%# read the image
[img,map] = imread('http://internationalpropertiesregistry.com/Server/showFile.php?file=%2FUpload%2F02468.gif358455ebc982cb93b98a258fc4d6ee60.gif');
%# display
figure,imshow(img,map)
%# and type out the numbers. It's going to be SO much less work than writing complicated code
答案 3 :(得分:0)
答案 4 :(得分:-1)
您可以咨询this post。我用图示的方法成功地破解了一个更简单的CAPTCHA。