clear,clc,close all;
%[fn,pn,fi]=uigetfile('*.jpg;*.bmp','選擇');
i=imread('e:\picture\12.jpg');figure,imshow(i);title('原始影象');
bw=rgb2gray(i);
bw=im2bw(i,graythresh(bw));
bw=double(bw);
bw=edge(bw,'canny');
imshow(bw);title('canny 邊界影象');
[h,t,r]=hough(bw);
figure,imshow(h,,'xdata',t,'ydata',r,'initialmagnification','fit');
xlabel('\theta'),ylabel('\rho');
axis on, axis normal,hold on;
p=houghpeaks(h,4,'threshold',ceil(0.3*max(h(:))));
x=t(p(:,2)); y = r(p(:,1));
plot(x,y,'s','color','white');
lines=houghlines(bw,t,r,p,'fillgap',50,'minlength',7);
figure,imshow(bw),title('直線標識影象');
max_len = 0;
hold on;
for k=1:length(lines)
xy=[lines(k).point1;lines(k).point2];
% 標出線段
plot(xy(:,1),xy(:,2),'linewidth',2,'color','green');
% 標出線段的起始和終端點
plot(xy(1,1),xy(1,2),'x','linewidth',2,'color','yellow');
plot(xy(2,1),xy(2,2),'x','linewidth',2,'color','red');
len=norm(lines(k).point1-lines(k).point2);
len(k)=len;
if (len>max_len)
max_len=len;
xy_long=xy;
endend
% % 強調最長的部分
plot(xy_long(:,1),xy_long(:,2),'linewidth',2,'color','blue');
% [l1 index1]=max(len(:));
% % % 最長線段的起始和終止點
% x1=[lines(index1).point1(1) lines(index1).point2(1)];
% y1=[lines(index1).point1(2) lines(index1).point2(2)];
% % % % 求得線段的斜率
% k1=-(lines(index1).point1(2)-lines(index1).point2(2))/...
% (lines(index1).point1(1)-lines(index1).point2(1))
% angle=atan(k1)*180/pi
% a = imrotate(i,-angle,'bilinear');% imrate 是逆時針的所以取乙個負號
% figure,imshow(a);
k1=-((xy_long(2,2)-xy_long(1,2))/(xy_long(2,1)-xy_long(1,1)))
%k1=-((xy_long(1,2)-xy_long(2,2))/(xy_long(1,1)-xy_long(2,1)))
angle=atan(k1)*180/pi
a = imrotate(i,-angle,'bilinear');% imrate 是逆時針的所以取乙個負號
figure,imshow(a);
車牌校正中水平方向的邊緣提取
1.下面是乙個水平角度除錯比較好的設定 一下是主要幾個引數 cvsobel img,imgs,0,1,3 cverode imgth,imgth,kernelvertical,1 經過試驗驗證,其實用scharr濾波器比sobel濾波器更好,scharr濾波器只是把最後乙個svsobel引數改為 1...
MATLAB實現車牌識別 藍色底 黃色底
matlab實現簡單的車牌識別 很多數學建模或者一些畢業 都會涉及到車牌識別,這裡採用matlab語言進行編寫,較為詳盡的介紹了車牌識別的兩種常用方法 方法 一 簡單定位法 這是自己取的名字,這是對於車牌所處環境顏色不複雜時採用的方法 進行灰度處理 進行影象邊緣檢測和腐蝕,膨脹和平滑影象輪廓,最後去...
gamma校正 伽馬校正的GLSL實現
本文是opengl 4.0 shading language cookbook的學習筆記。在本文我們將介紹使用伽馬校正來提高渲染的影象質量。許多關於opengl和3d圖形學的書會把伽馬校正忽略掉。光照和著色計算的結果沒有修改直接被輸出到螢幕上。這樣產生的影象可能並不是我們期望的。實際上,計算機顯示器...