ADVANCES IN DIGITAL AND COMPUTER VISION

Σχετικά έγγραφα
ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ. 3η ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ

ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ. 2η ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ADVANCES IN DIGITAL AND COMPUTER VISION

Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών. «Προηγμένα Συστήματα Παραγωγής, Αυτοματισμού και. Ρομποτικής» Assignment 2

ADVANCES IN DIGITAL AND COMPUTER VISION

Areas and Lengths in Polar Coordinates

Areas and Lengths in Polar Coordinates

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Homework 3 Solutions

D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2):91-110, 2004.

ΖΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΔΠΜΣ Προηγμένα Συστήματα Παραγωγής, Αυτοματισμού και Ρομποτικής

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ

Approximation of distance between locations on earth given by latitude and longitude

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

References. Chapter 10 The Hough and Distance Transforms

Instruction Execution Times

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Second Order RLC Filters

Math 6 SL Probability Distributions Practice Test Mark Scheme

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ. 1η ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

Μάθημα: Μηχανική Όραση

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2):91-110, 2004.

Section 9.2 Polar Equations and Graphs

Other Test Constructions: Likelihood Ratio & Bayes Tests

Probability and Random Processes (Part II)

Inverse trigonometric functions & General Solution of Trigonometric Equations

FSM Toolkit Exercises

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Section 7.6 Double and Half Angle Formulas

CHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS

5-1. Industrial Vision. Machine Vision Systems : Image Acquisition Image processing Analysis/Exploitation

CHAPTER 12: PERIMETER, AREA, CIRCUMFERENCE, AND 12.1 INTRODUCTION TO GEOMETRIC 12.2 PERIMETER: SQUARES, RECTANGLES,

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Math221: HW# 1 solutions

Μονοβάθμια Συστήματα: Εξίσωση Κίνησης, Διατύπωση του Προβλήματος και Μέθοδοι Επίλυσης. Απόστολος Σ. Παπαγεωργίου

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

PARTIAL NOTES for 6.1 Trigonometric Identities

Homework 8 Model Solution Section

derivation of the Laplacian from rectangular to spherical coordinates

How to register an account with the Hellenic Community of Sheffield.

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

AREAS AND LENGTHS IN POLAR COORDINATES. 25. Find the area inside the larger loop and outside the smaller loop

The Simply Typed Lambda Calculus

Statistical Inference I Locally most powerful tests

Advances in Digital Imaging and Computer Vision

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

1. Ηλεκτρικό μαύρο κουτί: Αισθητήρας μετατόπισης με βάση τη χωρητικότητα

CHAPTER 101 FOURIER SERIES FOR PERIODIC FUNCTIONS OF PERIOD

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is

Notes on the Open Economy

Integrals in cylindrical, spherical coordinates (Sect. 15.7)

2 Composition. Invertible Mappings

ST5224: Advanced Statistical Theory II

Assignment 1. ι ό αος α ά ς Page1

1) Formulation of the Problem as a Linear Programming Model

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Review Test 3. MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Τελικό Project Εργαστηρίου Ηλεκτρονικών Φίλτρων Χειµερινό Εξάµηνο

ECE 468: Digital Image Processing. Lecture 8

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Parametrized Surfaces

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Spherical Coordinates

Μεταπτυχιακή διατριβή. Ανδρέας Παπαευσταθίου

Models for Probabilistic Programs with an Adversary

Fractional Colorings and Zykov Products of graphs

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

w o = R 1 p. (1) R = p =. = 1

Modbus basic setup notes for IO-Link AL1xxx Master Block

Finite Field Problems: Solutions

Problem Set 3: Solutions

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Μηχανική Μάθηση Hypothesis Testing

Section 8.2 Graphs of Polar Equations

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

6-Aνίχνευση. Ακμών - Περιγράμματος

10/3/ revolution = 360 = 2 π radians = = x. 2π = x = 360 = : Measures of Angles and Rotations

Section 8.3 Trigonometric Equations

Τελική Εξέταση =1 = 0. a b c. Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. HMY 626 Επεξεργασία Εικόνας

Smaller. 6.3 to 100 After 1 minute's application of rated voltage at 20 C, leakage current is. not more than 0.03CV or 4 (µa), whichever is greater.

Elements of Information Theory

Calculating the propagation delay of coaxial cable

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

Trigonometric Formula Sheet

Second Order Partial Differential Equations

Ανάκτηση Εικόνας βάσει Υφής με χρήση Eye Tracker

Transcript:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΔΠΜΣ ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΓΩΓΗΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ 01 10/02/2017 Unknown ΕΡΓΑΣΙΑ 3 ADVANCES IN DIGITAL AND COMPUTER VISION ΣΠΟΥΔΑΣΤΕΣ: ΓΕΡΜΕΝΗΣ ΕΥΑΓΓΕΛΟΣ (Α.Μ.: ΜΗ77) ΠΑΠΑΔΟΠΟΥΛΟΣ ΓΕΩΡΓΙΟΣ (Α.Μ.:ΜΗ79) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΑΛΕΞΑΝΔΡΟΣ ΜΑΚΡΗΣ ΗΡΑΚΛΕΙΟ 2016

01 10/02/2017 Unknown Exercise 1 - Blob Detection (30%) a) Develop a simple 'blob' detector. The detector takes as arguments an image and the blob radius and return the detected blob positions. The detector should use the LoG filter so the possible detections are the local minima and maxima of the filter response. b) Add an extra parameter to the detector to select either: i) dark blobs, ii) light blobs, or iii) both. c) Ext the detector so instead of a single radius it accepts a range (min, max). Test the detector firstly in the images 'black_dots.jpg', 'white_dots.jpg' and then also in 'coins.tiff' and 'circles_%%.jpg'. Present the results by showing the detected blobs in the initial images. Δημιουργούμε Script Askhsh3_1.m στο οποίο καλούμε την εικόνα στη συνέχεια επιλέγουμε το εύρος ακτίνας R των Blob που θέλουμε να εντοπίσουμε. Έπειτα με την Function BlobSwitch επιλέγουμε το είδος blob που θέλουμε κάθε φορά ( dark, light, both). Η δεύτερη συνάρτηση που καλείται λέγεται Function Blobid και είναι υπεύθυνη για την δημιουργία των blobs κατά συγκεκριμένο εύρος R. Τέλος καλούμε την Function BlobCircles για την οπτικοποίηση των Blobs πάνω στην εικόνα μας Ι. clear;clc;close all; I=imread('black_dots.jpg'); s=size(i); R=51:55; Choose_blob='dark'; %% Blob Detection if s(3)==3 I=rgb2gray(I); % Blob Radius Range % Choose 'dark', 'light' or 'both' [D,L]=BlobSwitch(Choose_blob); % Type of Blob( Dark or Light ) [DB,LB]=Blobid(I,R); % Blob response in Image BlobCircle(I,R,DB,LB,D,L); % Draw Frame and centers of Blob 2

Function BlobSwitch Δημιουργήσαμε συνάρτηση BlobSwitch που παίρνει ως όρισμα (input) την μεταβλητή τύπου χαρακτήρα Choose_blob στην οποία ο χρήστης δίνει της επιλογές dark, light και both. Στη συνέχεια με χρήση της εντολής switch θέσαμε τρία διαφορετικά cases για τα αντίστοιχα inputs. Εξάγω (output) από την συνάρτηση του επιλογέα τις μεταβλητές ( D, L ) που παίρνουν τιμές 0 ή 1 αναλόγως. function [ D,L ] = BlobSwitch( Choose_blob ) switch Choose_blob case 'dark' D=1;L=0; case 'light' D=0;L=1; case 'both' D=1;L=1; Function Blobid Για την δημιουργία της συνάρτησης Blobid πήραμε ως ορίσματα την εικόνα Ι και το εύρος R ακτίνας Blob. Στη συνέχεια υπολογίσαμε φίλτρο Laplacian of Gaussian με κατάλληλο kernel και (σ). Φιλτράραμε την εικόνα με το LoG, έγινε scale normalize και δημιουργήσαμε δύο πίνακες LB,DB binary με όριο (threshold) κατάλληλο για την αποδοχή αντίστοιχα Dark η Light Blobs. Τέλος εξήγαμε από την συνάρτηση τους binary(thresholded) πίνακες [DB,LB]. function [ DB,LB ] = Blobid ( I,R ) I=im2double(I); %% Blob identification for j=1:length(r); hsize=round((r(j)/sqrt(2))*6); %Filter size (σ x 6)for better response sigma=hsize/6; h=fspecial('log',hsize,sigma); %LoG Filter Blob(:,:,j)=imfilter(I,h); %Image Filtered Bnorm(:,:,j)=Blob(:,:,j)/max(max(Blob(:,:,j)));% Scale Normalize LB(:,:,j)=Bnorm(:,:,j)<=-0.54; %Binary/Threshold Light blobs DB(:,:,j)=Bnorm(:,:,j)>=0.48; %Binary/Threshold Dark Blobs 3

Function BlobCircle Στην συνάρτηση BlobCircle εισήγαμε ως ορίσματα την εικόνα Ι, την ακτίνα Blob (R),τους binary πίνακες ( DB, LB ) που πήραμε ως έξοδο από την συνάρτηση Blobid και το συνδυασμό ( D, L) του επιλογέα BlobSwitch. Βάση του D, L χρησιμοποιείται κατάλληλα η συνάρτηση regionprops(boundingbox) κάθε φορά για την εύρεση των κέντρων των blobs.τέλος δημιουργούμε την γραφική απεικόνιση των επιλεγμένων blobs με χρήση της βοηθητικής συνάρτησης SetCircles. function [ output_args ] = BlobCircle( I,R,DB,LB,D,L ) %% Dark Blobs if D==1 S1=regionprops(DB); Coord=cat(1,S1.BoundingBox); %BoundindgBox struct Array[Coordinates(x,y),width] xcnt1=coord(:,1)+coord(:,4)/2; %Xcenter of every BoundingBox(Circle) ycnt1=coord(:,2)+coord(:,5)/2; %Ycenter of every BoundingBox(Circle) r1=coord(:,3)+min(r); %Radius of Circle r1=round(r1); value=255; for t=1:size(r1); I=SetCircle(I,r1(t),xcnt1(t),ycnt1(t),value); %Draw Circle %% Light Blobs if L==1 S2=regionprops(LB); Coord2=cat(1,S2.BoundingBox); xcnt2=coord2(:,1)+coord2(:,4)/2; ycnt2=coord2(:,2)+coord2(:,5)/2; r2=coord2(:,3)+min(r); r2=round(r2); r2=r2/2; value=255; for t=1:size(r2); I=SetCircle(I,r2(t),xcnt2(t),ycnt2(t),value); %% Blob Circles and Centers plot imshow(i) hold on if D==1 plot(xcnt1,ycnt1,'*c'); if L==1 plot(xcnt2,ycnt2,'*r'); Ακολουθούν δείγματα εικόνων 4

02 10/02/2017 Unknown Εικόνα 1.1 : Detection of Both Dark & Light Blobs Εικόνα 1.2 : Detection of Both Dark & Light Blobs 5

02 10/02/2017 Unknown Exercise 2 Edge Detection (70%) a) Develop a system that detects circular objects of known radius r in an image. For their detection you should implement the Hough transform. Visualize the detected objects on the initial image. Test your system using the images 'coins.tiff' and 'circles_%%.jpg'. b) Ext your system to detect circular objects within a given radius interval rmin-rmax. c) Use the gradient orientation to rer your system more robust to noise. d) Evaluate the final detector on the image 'circles_05.jpg'. To that evaluate the precision and recall metrics for various detection thresholds and plot the precision-recall curve. A detection should be considered as correct if the ratio of overlap between the detection bounding box and the groundtruth bounding box divided by the area of the detection bounding box is above 0.8. The groundtruth bounding boxes are provided ('circles_05_gt.mat'). Δημιουργούμε Script Askhsh3_2.m κατά το οπoίο καλούμε την εικόνα. Αρχικά ορίζουμε τα Threshold (thres1) και (thres2), στην συνέχεια προετοιμάζουμε την εικόνα για τον χώρο Hough με χρήση κατάλληλων φίλτρων και προσδιορίζουμε το εύρος ακτινών r. Έπειτα καλούμε την συνάρτηση HoughCircle, η οποία κατασκευάζει τον χώρο Hough βάση της SetCircle ή καλούμε την ΗoughGrad με βάση τον προσανατολισμό του Gradient. Γίνετε κανονικοποίηση με την Function HoughNorm και εντοπισμός του κέντρου των κύκλων με την Function Center. Τέλος κάνουμε την γραφική αναπαράσταση των κύκλων με την βοήθεια της συνάρτησης SetCircle από τον φάκελο Help Function. clc;clear;close all %% Thresholds for thres1=0.4 for thres2=0.5 %% Hough Tranform I=imread('circles_05.jpg'); if (size(i,3)==3); I=rgb2gray(I); I=im2double(I); I=imsharpen(I); Ie=edge(I); s=size(ie); r=17:19; %Radius Range 6

for i=1:length(r) cval=1; %circle value radius=r(i); [ Hough(:,:,i) ] =HoughGrad( s,ie,radius );% Hough gradient based orientation % [ Hough(:,:,i) ]=HoughCircle(s,Ie,cval,radius); % Hough with circle [ HoughN ] = HoughNorm( r,hough,thres1 ); % Hough Scale Normalization [ xc,yc,rc ] = Center( Hough,HoughN,r,thres2 ); %Find Centers %% Draw Circle for n=1:size(xc) value=1; I = SetCircle(I, rc(n),xc(n), yc(n), value); imshow(i) hold on plot(xc,yc,'c*'); % Plot centers in Image Function HoughCircle Δημιουργία της συνάρτησης HoughCircle με εισόδους την μεταβλητή s η οποία εμπεριέχει το μέγεθος της αρχικής εικόνας, την εικόνα Ie που περιέχει τα σημεία που ψηφίζουν στον χώρο Hough, την cval που καθορίζει το μέγεθος στην SetCircle και την radius με ακτίνες των κύκλων που ψάχνουμε. Έπειτα κατασκευάζουμε ένα μηδενικό πίνακα Hough και με την βοήθεια της SetCircle τοποθετούμε τους ψήφους στον χώρο Hough για κάθε σημείο της Ie. Ως έξοδο τελικά παίρνουμε τον πίνακα Hough με τους ψήφους. function [ Hough ] = HoughCircle( s,ie,cval,radius ) Hough=zeros(s(1),s(2)); [y,x]=find(ie>0); %For every edge point in Ie for t=1:size(x) Hcounter=zeros(s(1),s(2)); Hough =Hough+ SetCircle(Hcounter, radius,x(t), y(t), value); 7

Function HoughGrad Για την δημιουργία της HoughGrad εισάγουμε την μεταβλητή s που καθορίζει το μέγεθος της αρχικής εικόνας, την εικόνα Ie με τα σημεία που θα ψηφίσουν στον χώρο Hough και την μεταβλητή r η οποία καθορίζει την ακτίνα του κύκλου που ψάχνουμε. Στη συνέχεια δημιουργούμε μηδενικό πίνακα Hough και υπολογίζουμε την κλίση κάθε σημείου βάση του Gradient. Εν τέλη εξάγουμε τον πίνακα Hough ο οποίος εμπεριέχει τους ψήφους των σημείων βάση του Gradient. function [ Hough ] =HoughGrad( s,ie,r ) %% sobel and gradient calculation Ie=double(Ie); Hough=zeros(s(1),s(2)); sob1=fspecial('sobel');% sobel for x sob2=sob1'; % sobel for y Ix=imfilter(Ie,sob1); Iy=imfilter(Ie,sob2); % Image filtering theta=atan2(iy,ix); % Angle theta of gradient [x,y]=find(theta~=0); for i=1:size(x) X(i,1)=r*cos(theta(x(i),y(i)))+x(i); Y(i,1)=r*sin(theta(x(i),y(i)))+y(i); X=round(X); Y=round(Y); for i=1:size(x) if(x(i)>0 && Y(i)>0 && X(i)<=size(Ie,1) && Y(i)<=size(Ie,2)) %Inside image boundaries Hough(X(i),Y(i))=Hough(X(i),Y(i))+1; Function HoughNorm Για την δημιουργία της HoughNorm εισάγουμε το εύρος των ακτινών r, τον πίνακα του χώρου HoughGrad ή HoughCricle, και ένα όριο Threshold(thres1) πάνω από το οποίο δεχόμαστε πιθανά κέντρα. Τέλος κανονικοποιούμε τον χώρο Hough (Circle ή Grad) και δημιουργούμε το κατώφλι βάση του thres1. Εξάγουμε τον πίνακα HoughΝ. function [ HoughN ] = HoughNorm( r,hough,thres1 ) for i=1:length(r) Hough(:,:,i)=Hough(:,:,i)/max(max(Hough(:,:,i))); %Hough scale normalize HoughN(:,:,i)=Hough(:,:,i)>=thres1; 8

Function Center Για την δημιουργία της Function Center εισάγουμε των πίνακα Hough και HoughN την μεταβλητή r και ένα όριο thres2. Έπειτα καλούμε την συνάρτηση regionprops και βρίσκουμε τα κέντρα των κύκλων. Στην συνέχεια δημιουργούμε συνθήκη που εντοπίζει τυχών επικαλυπτόμενους κύκλους και διαγράφη τον κύκλο με τον μικρότερο αριθμό ψήφων. function [ xc,yc,rc ] = Center( Hough,HoughN,r,thres2) %% Regionprops struct array for centers HoughN=logical(HoughN); K=regionprops(HoughN); point=cat(1,k.centroid); point=round(point); xc=point(:,1); yc=point(:,2); rc=point(:,3)+min(r)-1; rc2=point(:,3); length=size(xc,1); %% Center Localize by Threshold for i=1:length for n=1:length if(xc(i)~=0 && yc(i)~=0 && rc(i)~=0) %For non zero Circle=sqrt((xc(n)-xc(i))^2+(yc(n)-yc(i))^2); %Circle Equation if ( Circle <=(thres2+1)*(rc(i)) && ((i<n) (i>n)) ) if ( Hough(yc(i),xc(i),rc2(i)) > Hough(yc(n),xc(n),rc2(n)) ) xc(i)=0;yc(i)=0;rc(i)=0; else xc(n)=0;yc(n)=0;rc(n)=0; Παρατηρήσεις 03 10/02/2017 Unknown Είναι φανερό ότι με την χρήση του Hough detector εντοπίζονται κύκλοι εύρους ακτινών με μεγάλη ακρίβεια. Επίσης παρατηρείτε πιο γρήγορη απόκριση του HoughGrad detector με αντίστοιχα υψηλό βαθμό ακρίβειας. Ακολουθούν δείγματα εικόνων 9

Εικόνα 2.1 HoughGrad circles_05.jpg for thres1=0.4, thres2=0.5 and r = 17:19 Εικόνα 2.2 : HoughGrad circles_03.jpg for thres1=0.9, thres2=0.6 and r = 73:75 Εικόνα 2.3: HoughGrad circles_01.jpg for thres1=0.9, thres2=0.6 and r = 41:42 10

Εικόνα 2.4 : HoughGrad cioins.tiff for thres1=0.75, thres2=0.5 and r = 22:24 Εικόνα 2.5: HoughGrad for thres1=0.9, thres2=0.6 and r = 27:29 11

Εικόνα 2.1 : HoughGrad for thres1=0.8, thres2=0.6 and r = 28:29 12

Annotations ADVANCES IN DIGITAL AND COMPUTER VISION 01 Unknown Unknown Page 2 10/2/2017 11:21 3/3 02 Unknown Unknown Page 5 10/2/2017 11:22 ++ dark or light only 03 Unknown Unknown Page 9 10/2/2017 11:25 Apo ta paradeigmata sas den fainetai oti mporei epituxws na entopisei kukloys mias aktinas an to euros pou tou dinete einai megalo.

Annotations ADVANCES IN DIGITAL AND COMPUTER VISION 01 Unknown Unknown Page 1 10/2/2017 13:45 B:9/10 02 Unknown Unknown Page 6 10/2/2017 13:46 6/7