www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_09_1_edge_corner_houghcircle.m
clear all;clc;close all;imtool close all %% 僄僢僕専弌 %%%%%%%% I = imread('coins.png'); % 夋憸偺撉崬 figure; imshow(I); % 昞帵 %% BWsobel = edge(I,'sobel'); % 僜乕儀儖朄 figure;imshow(BWsobel ); title('sobel'); %% BWcanny = edge(I,'canny'); % 僉儍僯乕朄 figure;imshow(BWcanny); title('canny'); %% 僐乕僫乕専弌 %%%%%%%% I = checkerboard(50,2,2); % 僥僗僩夋憸偺惗惉 figure;imshow(I); %% C = detectHarrisFeatures(I); % Harris僐乕僫乕専弌婍 %C = detectMinEigenFeatures(I); % 嵟彫屌桳抣朄 I1 = insertMarker(I,C,'circle','Size',5,'Color','magenta'); imshow(I1);shg; %% 僙儘僥乕僾丗僴僼曄姺偵傛傞墌偺専弌 %%%%%%%% RGB = imread('tape.png'); figure;imshow(RGB); %% 墌偺専弌 [center, radius] = imfindcircles(RGB,[60 100],'Sensitivity',0.9) %敿宎60~100 %% 墌偲拞怱揰偺昞帵 viscircles(center,radius); % 墌傪昤夋 hold on; plot(center(:,1),center(:,2),'yx','LineWidth',4); hold off; % 拞怱揰昞帵 %% 廔椆 %% 墌専弌 偺捛壛偺僨儌 G = imread('I2_09_1_circlesBrightDarkSquare.png'); % 夋憸偺撉崬傒 figure;imshow(G); % 昞帵 % 攚宨傛傝埫偄墌偺専弌詯鼈艜\帵 [cDark, rDark] = imfindcircles(G,[30 65],'ObjectPolarity','dark') viscircles(cDark, rDark,'LineStyle','--');shg; % 攚宨傛傝柧傞偄墌偺専弌聬鼈艜\帵 [cBright, rBright] = imfindcircles(G,[30 65],'ObjectPolarity','bright','EdgeThreshold',0.2) viscircles(cBright, rBright,'EdgeColor','b');shg; %% [嶲峫] % 墌偺専弌丒墌偲拞怱揰偺昞帵屻丄敿宎抣傪夋憸忋偵彂崬傓 message = sprintf('The estimated radius is %2.1f pixels', radius); text(15,300,sprintf('radius : %2.1f', radius), 'Color','y','FontSize',20); % 墌偲拞怱揰傪夋憸僨乕僞偵彂崬傓応崌 Ir = insertShape(RGB, 'Circle', [center radius], 'Color','red', 'LineWidth',4); Ir = insertShape(Ir, 'FilledCircle', [center 5], 'Color','yellow', 'Opacity',1); imtool(Ir); %% [嶲峫] 墌専弌偺僨儌夋憸偺嶌惉僗僋儕僾僩 G = imread('circlesBrightDark.png'); % 夋憸偺撉崬傒 G1 = insertShape(G,'FilledRectangle',[179,188,90,90],'Color','white','Opacity',1); G1 = insertShape(G1,'FilledRectangle',[50,335,80,80],'Color','black','Opacity',1); imwrite(G1, 'I2_09_1_circlesBrightDarkSquare.png') %% % Copyright 2014 The MathWorks, Inc.