Ö¸ÕëʽÒDZí×Ô¶¯¶ÁÊýʶ±ðϵͳÉè¼Æ - ͼÎÄ ÏÂÔØ±¾ÎÄ

¹¤ÒµÉú²úÏßÔÚÏß¼ì²âÊý¾ÝÊý×Ö»¯´¦ÀíϵͳÉè¼Æ

ͼ3-10 ±ßÔµ¼ì²â 3.2.2Ö¸Õëʶ±ð

Ö¸ÕëµÄʶ±ð¿ÉÒÔ˵ÊÇʶ±ð¶ÁÊý×îÎªÖØÒªµÄ»·½Ú£¬ÒDZíµÄ¶ÁÊý¶¼ÊÇÓÐÖ¸Õë¾ö¶¨µÄ£¬Ö¸ÕëÔڲɼ¯Í¼ÏñµÄ¹ý³ÌÖлáÁ¬ÐøµÄ±ä»»Ö¸Ïò£¬ÔÚÉãÏñÍ·Óë±íÅÌÎÞÏà¶ÔÔ˶¯µÄÇé¿öÏ£¬ÉãÏñÍ·²É¼¯µ½µÄÖ¸ÕëλÖò»Í¬µÄÁ½·ùͼÏñ£¬Ö¸ÕëÒ²¿ÉÒÔ¿´×÷Ò»ÌõÖ±Ïߣ¬¶øÇÒ±ÈÆäËû¿Ì¶ÈÏß¶¼Òª³¤ºÜ¶à£¬ËùÒÔ¿ÉÒÔ²ÉÓûô·ò±ä»»À´¼ì²âÖ¸Õ룬ÒÔ¼°Ê¶±ðÆäËûµÄ¿Ì¶È¡£

»ô·ò±ä»»ÔÚͼÏñ´¦ÀíÖÐÒ»ÖÖÓ¦Óúܹ㷺µÄʶ±ð¼¸ºÎÐÎ×´µÄ·½·¨£¬ÒÔ»ô·ò±ä»»¶î¡¢ÎªÔ­Àí£¬ÑÜÉú³öÐí¶àÆäËûµÄËã·¨£¬µ«ÊÇ´ÓºÚ°×ͼÏñÖмì²âÖ±Ïß»òÕßÏß¶ÎÊÇ×î»ù±¾µÄ»ô·ò±ä»»¡£±¾Éè¼ÆÖÐÖ¸Õë¼ì²âµÄÖ÷Ҫ˼·Ϊ£¬Ê×ÏÈͨ¹ý»ô·ò¼ì²â¼ì²â³öËùÓеÄÖ±Ïߣ¬°üÀ¨ËùÓеĿ̶ȺÍÖ¸Õ룬¶øÖ¸ÕëÔòÊÇËùÓÐÖ±ÏßÖÐ×µÄ£¬ËùÒÔ£¬½ÓÏÂÀ´Éè¼Æ³ÌÐòÇóÕâЩËù¼ì²â³öµÄÖ±ÏßÖеÄ×µÄÏߣ¬È»ºó¶ÔÖ±ÏߵįðʼλÖýøÐбê¼Ç£¬²¢¶ÔÖ±Ïß½øÐбê¼Ç¡£

ͼ3-11ΪÀûÓûô·ò±ä»»¼ì²âÖ±Ïߣ¬Í¼3-12Ϊ¼ì²â³öµÄÖ¸ÕëͼÏñ£¬Ö¸Õë¼ì²âµÄÖ÷Òª³ÌÐòΪ£º

xlabel('\\theta'), ylabel('\\rho'); axis on, axis normal, hold on;

P = houghpeaks(H,1,'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',5,'MinLength',7); hold on;

figure, imshow(RGB), hold on max_len = 0;

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');

17

¹¤ÒµÉú²úÏßÔÚÏß¼ì²âÊý¾ÝÊý×Ö»¯´¦ÀíϵͳÉè¼Æ

plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); len = norm(lines(k).point1 - lines(k).point2); if ( len > max_len) max_len = len; xy_long = xy; end end

ͼ3-11 »ô·ò±ä»»¼ì²âÖ±Ïß

ͼ3-12 Ö¸Õëʶ±ð

3.2.3¶ÁÊýʶ±ð

ÒDZí±íÅ̵ĶÁÊýʶ±ðÊÇÕû¸ö¶ÁÊýϵͳÖÐ×îÎªÖØÒªµÄµÄ²¿·Ö£¬Ä¿Ç°¶ÁÊýʶ±ðµÄ

18

¹¤ÒµÉú²úÏßÔÚÏß¼ì²âÊý¾ÝÊý×Ö»¯´¦ÀíϵͳÉè¼Æ

·½·¨¶àÖÖ¶àÑù£¬¾­¹ýÔÚ¹¤³§µÄʵµØ¿¼²ì£¬·¢Ïָù¤³§µÄÓÐЩ²ÄÁÏÉú²ú³µ¼ä»·¾³Ïà¶Ô½Ï²î£¬±íÅÌÄÑÒÔʱ¿Ì±£³ÖÇå½à£¬×ÜÊÇÕ´´øÓдóÁ¿µÄ·Û³¾£¬Í¨¹ý¾àÀë·¨¶ÁÈ¡±íÅ̵ĶÁÊýÏà¶ÔÀ´Ëµ±È½ÏÀ§ÄÑ£¬Ò²²»¹»Îȶ¨£¬¶øÑ¡È¡Í¨¹ýÖ¸Õë½Ç¶ÈÀ´¶ÁÈ¡±íÅÌÊý¾ÝÔò¿ÉÒÔ¸üºÃµÄÊÊÓ¦»·¾³£¬Ìá¸ß¶ÁÊýµÄÎȶ¨ÐÔ¡£¶ÁÊýʶ±ðµÄÖ÷Òª³ÌÐòÈçÏ£º

plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan'); k=(xy(2,2)-xy(1,2))/(xy(2,1)-xy(1,1)); theta=pi/2+atan(k);

if((xy(1,1)+xy(2,1))/2<=N/2)

q=(theta+pi)*180/3.14; else

q=theta*180/3.14; end

shishu=q*c/Q; disp (theta); disp (q);

disp (shishu);

3.3Êý¾ÝÏÔʾ½çÃæµÄÉè¼Æ

±íÅÌÊý¾Ý¶ÁÈ¡³öÀ´ºó£¬ÐèÒªÖ±¹ÛµÄÏÔʾ³öÀ´£¬Õâʱ¾ÍÐèÒª´î½¨Ò»¸öÏÔʾ½çÃæ£¬Èç½ñ£¬ÓжàÖÖÈí¼þ¿ÉʵÏÖ¼ûÃæ´î½¨µÄ¹¦ÄÜ£¬±¾Éè¼ÆÖÐÑ¡ÔñµÄÊÇlabviewͼÐλ¯±à³ÌÈí¼þ£¬labviewÓÐÇ°Ãæ°åÓë³ÌÐò¿òÍ¼Ãæ°å¹¹³É¡£

3.3.1Êý¾ÝÏÔʾ½çÃæµÄÇ°Ãæ°å

Êý¾ÝÏÔʾ½çÃæµÄÇ°Ãæ°åÒ²¾ÍÊÇÎÒÃÇÖ±½Ó¿´µ½µÄÊý¾ÝÏÔʾ½çÃæ£¬Ëü°üÀ¨Êý¾ÝÏÔʾ¡¢Í¼ÏñÏÔʾ¡¢Í¼Ïñ·¾¶¡¢Êý¾Ý±ä»¯ÇúÏßͼÒÔ¼°Ò»Ð©»ù±¾µÄ²ÎÊýÉèÖò¿·Ö£¬ÈçÏÂͼËùʾ¡£

19

¹¤ÒµÉú²úÏßÔÚÏß¼ì²âÊý¾ÝÊý×Ö»¯´¦ÀíϵͳÉè¼Æ

ͼ3-13 Ç°Ãæ°å

¸Ã½çÃæÖУ¬¿ÉÒÔͨ¹ýÊó±ê»òÕß¼üÅÌÊäÈëÒDZíµÄ×î´óÖµºÍ×îСֵ£¬´Ó¶øÌá¸ßÁËÕû¸öÉè¼ÆµÄÊÊÓ¦ÐÔ£¬Í¨¹ýͼÏñÏÔʾ¿Ø¼þ¿ÉÒÔ¿´µ½ÊµÊ±µÄͼÏñ£¬Í¼ÏñÏÂÃæÓëÖ®¶ÔÓ¦µÄÊÇÊý¾ÝÏÔʾ£¬Êý¾ÝÏÔʾÓëͼÏñÏÔʾͬ²½½øÐУ¬¿ÉÒÔ¼°Ê±µÄ·¢ÏÖ¾ÀÕý´íÎó£¬ÍêÉÆÏµÍ³£¬Í¼ÏñÏÔʾÓÒ±ßΪÊý¾Ý±ä»¯ÇúÏßͼ£¬¿ÉÒÔÁ˽⵽Êý¾ÝÔÚ×î½üÒ»¶Îʱ¼äÄڵı仯Çé¿ö£¬Ê±¼ä·¶Î§¿É¸ù¾ÝÐèÒª×ÔÐÐÉèÖ㬽çÃæµÄ×óϽÇΪ·¾¶Ñ¡Ôñ£¬ÓÉÓÚÕû¸öϵͳÔÚ²»Í£µÄÔËת£¬ÎªÁË·Àֹ·¾¶Ñ¡Ôñ¶Ô»°¿ò²»¶ÏµÄµ¯³ö£¬±ØÐëÉèÖÃÒ»¸öĬÈÏ·¾¶£¬ÈÃϵͳ×ÔÐÐѡȡ£¬ÉèÖ÷½·¨ÈçÏÂͼËùʾ¡£

3-14 ĬÈÏ·¾¶ÉèÖÃ

20