**只貼出了邊緣檢測以後,至於切割出單個的字母,可根據驗證碼的實際情況進行切割。
主要是聚類分割、中值濾波去噪,二值化,邊緣檢測。
subplot(231);imshow(i,map);title('原始影象');
[y,x,z]=size(i);
d1=zeros(y,x);
d2=d1;
myi=double(i);
i0=zeros(y,x);
for i=1:x
for j=1:y
d1(j,i)=sqrt((myi(j,i,1)-10)^2+(myi(j,i,2)-10)^2+(myi(j,i,3)-10)^2) ;
d2(j,i)=sqrt((myi(j,i,1)-180)^2+(myi(j,i,2)-180)^2+(myi(j,i,3)-180)^2) ;
if d1(j,i)>= d2(j,i)
i0(j,i)=1;
endend
endsubplot(232);imshow(i0);title('聚類分割後的影象');
i2=medfilt2(i0,[2 2]);
subplot(233);imshow(i2);title('b 中值濾波');
i2=im2bw(i2,0.5);
subplot(234);imshow(i2);title('二值化');
eal = 'canny';
bw=edge(i2,eal,[0.093 0.095],1);
subplot(235);imshow(bw);title(strcat(eal,'邊緣檢測後影象'));
垂直投影法分割驗證碼
字元分割的方法太簡單 哈哈,我是故意的,就是想試試看有沒有效果 神經網路也太落後,哪有三層就想搞定這種事情 基於學姐給的建議以及自己查閱資料以後的結論,我會嘗試用更多的演算法來對字元進行分割。分割字元最常用的方法就是 垂直投影法 連通域分析法。其中連通域分析法對於非粘連字元的分割有很好的效果,但是對...
驗證碼 簡單驗證碼識別
這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...
驗證碼一(驗證碼生成)
根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...