- Resource Information
Abstract
Käesoleva projekti ülesandeks on pilditöötlus ja eristatavate objektide lugemine pildil MATLAB tarkvara abil. MATLAB (ingl. väljendist matrix laboratory) on numbriline andmetöötluskeskkond, mille arendajaks on MathWorks. Õpilastel on võimalik sooritada seda tegevust iseseisvalt või paaristegevusena (2 õpilast). Ülesandes tuleb sisestada kõik käsud samas järjekorras, kui need on ette antud.

Algne pilt
(Allikas: https://www.instructables.com/Image-Processing-and-Counting-using-MATLAB/)
Learning Outcomes
Õpilased õpivad MATLAB tarkvara abil pilte töötlema.
- Meeskonnas töötamine
- Meeskonna töö korraldamine ja ülesannete jagamine
- Aja kasutamise planeerimine
- MATLAB kasutamine
- Pildi töötlemine MATLAB abil
Other Instructions
7 sammuga saavutate digitaalselt töödeldud pildi:
- Pildi sisse lugemine – loetakse sisse pilt, kus objektid eristuvad selgelt taustast. Funktsioon imread loeb sisse pildi antud asukohast ja kirjutab selle maatriksisse img1. imshow funktsioon kuvab pildi.
img1=imread(‘Lines.jpg’); imshow(img1)
- Pildi teisendamine halltooni – pildilt eemaldatakse värvi andmed, et sellelt lihtsamini objekte tuvastada. Käsk rgb2gray teisendab pildi halltoon pildiks ja kirjutab selle maatriksisse img1.
img1=rgb2gray(img1); imshow(img1)
- Pildi lävisegmentimine (ingl. thresholding) – pildile teostatakse lävisegmentimine, ehk pilt muudetakse mustvalgeks etteantud lävendi põhjal. Käsk im2bw muudab valgeks pikslid, mille heledus on üle lävendi, ja mustaks need, mille heledus on alla lävendi. Funktsioon graythresh arvutab pildi põhjal lävendi.
img2=im2bw(img1,graythresh(img1)); imshow(img2)
- Pildi inverteerimine – pilti on võimalik inverteerida ~ operaatoriga. Sel viisil on võimalik pildil muuta mustad pikslid valgeks ja valged pikslid mustaks.
img2=~img2; imshow(img2)
- Objektide piiride leidmine – käsk bwboundaries leiab objektide piirid mustvalgel pildil. text funktsioon kirjutab välja mitu objekti leiti.
B = bwboundaries(img2);
imshow(img2)
text(10,10,strcat(‘color{green}Objects Found:’,num2str(length(B))))
hold on
- Piiride joonistamine – selles sammus joonistatakse kõikidele leitud objektidele ümber piirjooned.
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), ‘g’, ‘LineWidth’, 0.2)
end URL
RESOURCES
Author
Martin Maidla
Language
Estonian
Main Topics
Arts, Science, Technology
Keywords
image processing MATLAB programming