所以我想看看是否可以通過PHP解決一些個人問題。沒什麼太難的;同一行中的單詞,總是相同顏色的單詞等等,下面是一個例子。用PHP解決captcha問題?個人挑戰?
http://www.simplyshows.com/img.jpg
只是想看看有多難會是。 我的問題是,是否有基於PHP的函數,我可以用它來檢查像素的顏色等像素?我想分開這些字母,然後做一些檢查以確定字母是大寫,小寫還是它可以是(取決於顏色上的座標)
任何人都可以提出任何建議嗎?
所以我想看看是否可以通過PHP解決一些個人問題。沒什麼太難的;同一行中的單詞,總是相同顏色的單詞等等,下面是一個例子。用PHP解決captcha問題?個人挑戰?
http://www.simplyshows.com/img.jpg
只是想看看有多難會是。 我的問題是,是否有基於PHP的函數,我可以用它來檢查像素的顏色等像素?我想分開這些字母,然後做一些檢查以確定字母是大寫,小寫還是它可以是(取決於顏色上的座標)
任何人都可以提出任何建議嗎?
如果您真的有興趣從頭開始解決這個問題,請從像GD和ImageMagick這樣的庫開始。
如果您有興趣通過利用他人的工作更快地完成它,請使用Google或StackOverflow來查看是否有適用於PHP的OCR庫/項目。
最後,我知道你說你只是爲了好玩而做。儘管如此,PHP有很多優勢,但我不認爲我會選擇它用於重型圖像處理和人工智能。如果您發現自己認真對待這些問題,您可能希望考慮爲其他語言提供更強大和更豐富的支持。但是,如果只是爲了好玩,那麼玩得開心!
謝謝,看看,這只是一個有趣的,沒有做一個decaptcher類網站,所以PHP應該很好,謝謝! –
imagecolorat(http://php.net/manual/en/function.imagecolorat.php)是你想要的。
我做了類似的事情,雖然看起來很難有一個解決方案: 正如你可以看到你的圖像中的字母是用spefic顏色寫的,這意味着你的PHP腳本將尋找特定像素十六進制顏色值。 現在想象一下,你有你的驗證碼圖像放大x100 你會看到字母像素化,想象一個大的2維平方陣列每個塊都有一個id(i x j)。 在我附加的圖片中,我已經設法在10x10數組中創建字母「T」,使用每個方塊的ID我可以爲每個字母和數字創建模式。 使用GD庫可以實現很多東西,也懶得問任何其他問題,我剛纔vage你的主框架 GD Library manual
用PHP做這種事情是很把你的服務器變成燒烤的好方法;)如果你想要一些真正可用的東西,那麼最好的方法是使用exec() - 用C或其他方法調用二進制文件,然後從PHP調用它。使用香草PHP的唯一直接方式我能想到的是從圖像中讀取十六進制,並使用生成的「文本文件」來進行分析,但它不會很漂亮。
+1 - 看到解決方案將會非常酷!這肯定會很難。很難。 – JCOC611
是的,好吧,我想把圖像分成5個部分(就像它的5個字母),然後分別處理每一個圖像,並檢查每個圖像中的字母,還在研究中! –
如果在明亮的背景上始終是黑色字體,只需將明亮顏色的像素更改爲白色,並且只有字母。下一步是OCR部分。我用這種方法編寫了一個類似的驗證碼解析器,對字母交叉的情況非常期待。 – CodeZombie