32
Slikovna analiza Slikovna analiza primjeri primjene u grafičkoj primjeri primjene u grafičkoj tehnologiji tehnologiji ImageJ ImageJ Primjena i ispitivanje grafičkih materijala Primjena i ispitivanje grafičkih materijala

Slikovna analiza ImageJ Automatizacija naredbi

Embed Size (px)

Citation preview

Page 1: Slikovna analiza ImageJ Automatizacija naredbi

Slikovna analiza Slikovna analiza ––

primjeri primjene u grafičkoj primjeri primjene u grafičkoj

tehnologijitehnologiji

ImageJImageJ

Primjena i ispitivanje grafičkih materijalaPrimjena i ispitivanje grafičkih materijala

Page 2: Slikovna analiza ImageJ Automatizacija naredbi

Slikovna obrada i analizaSlikovna obrada i analiza

eng. image processing and analysisračunalna obrada i analiza digitalne slike

obrada slike:ulazni parametar je slikaizlazni parametar je slika (modificirana)

analiza slike:ulazni parametar je slikaizlazni parametar je informacija (rezultat mjerenja)

Page 3: Slikovna analiza ImageJ Automatizacija naredbi

Grafička i papirna industrijaGrafička i papirna industrija

u grafičkoj industriji i industriji proizvodnje papira slikovna analiza koristi se kod analize npr.

formacije papiranečistoća u papirustrukture i sastava papira i premaza u presjeku (z-smjeru)topografije (hrapavosti) papira i premazakontaktnog kutapenetracije bojeprašine i čupanja

geometrije rasterske točkenejednakomjernosti u tisku (mottling)bleeding, wicking, sattelites“missing dots”kalibracija

Page 4: Slikovna analiza ImageJ Automatizacija naredbi

Digitalna slika (image)Digitalna slika (image)

slika je niz, mreža ili matrica (array, matrix) slikovnih elemenata - piksela

Page 5: Slikovna analiza ImageJ Automatizacija naredbi

Digitalna slika (image)Digitalna slika (image)

x

yelement (točka)

I = f(x,y)I = intenzitetx,y = koordinate elementa

Page 6: Slikovna analiza ImageJ Automatizacija naredbi

Faze obrade i analize slikeFaze obrade i analize slike

prihvat i digitalizacija – skener, foto kamere, optička oprema; video karticaobrada i analiza slike – računalo, programska oprema

ImageJ software

Page 7: Slikovna analiza ImageJ Automatizacija naredbi

ImageJImageJ

Rasband, W.S., ImageJ, U. S. National Institutes of Health, Maryland, USA, http://rsb.info.nih.gov/ij/,1997-2006implementiran u Javibesplatanopen-sourcemoguća nadogradnja i prilagođavanje putem plugina

koristi se za: kreaciju, vizualizaciju, obradu, procesiranje, analizu... slikakoristan u znanstvenom i istraživačkom radu

Page 8: Slikovna analiza ImageJ Automatizacija naredbi

Instalacija i osnove sučeljaInstalacija i osnove sučelja

http://rsb.info.nih.gov/ij/odabir platforme (Windows, Mac, Linux, Web Applet)radi na bilo kojoj platformi koja ima JRE (Java runtime enviroment)

open, save, new

adjust, color, stacks, transform

copy, cut, edit images, draw, selection

point and arithmetic operations, filters

particle analysis, statistics, histograms, plotting, set scale

manage and execute plugins, macros

Page 9: Slikovna analiza ImageJ Automatizacija naredbi

Makro naredbeMakro naredbe

makro naredbe (macros) su nizovi naredbi/jednostavni programi koji omogućavaju automatizirano izvođenje funkcijaniz naredbi zapisan je u .txt datoteci kao “običan” tekst, u makro jeziku (baziran na Javi) koji se interpretira u ImageJ-u omogućuju implementaciju automatiziranih naredbi povezivanjem postojećih funkcija u ImageJ-uza pisanje jednostavnih makro naredbi dobro znanje Jave nije potrebnodeveloper resources na ImageJ web stranici http://rsb.info.nih.gov/ij/developer/index.html

Page 10: Slikovna analiza ImageJ Automatizacija naredbi

Primjeri slikovne analizePrimjeri slikovne analize

Primjer 1: ANALIZA ČESTICA PRAŠINE

Primjer 2: ANALIZA ČESTICA BOJE (RECIKLACIJA)

Primjer 3: NEJEDNAKOMJERNOST OTISKA (MOTTLING)

Primjer 4: HRAPAVOST PO IGT METODI

Page 11: Slikovna analiza ImageJ Automatizacija naredbi

Analiza čestica prašineAnaliza čestica prašine

analiza i kvantifikacija čestica (particle analysis) na uzorcima otisaka testa za prašinu na papiru (IGT Fluff)standardna procedura određivanja rezultata prašine na papiru po IGT-u je subjektivna – oslanja se na osobnu procjenu, vizualna metodaslikovna analiza pruža mogućnost objektivne analize – treba biti jednostavna za korištenje, ponovljiva i brzo izvediva

otisci imaju dimenzije cca. 2 cm širina i 20 cm dužinaanalizu radimo na području otiska 1 cm * 10 cmotisci imaju crnu (tamnu) pozadinu, a čestice prašine su bijele (svijetle)

cilj: napisati makro naredbu koja će potpuno automatizirati proces analize česticaulazni podatak: skenirani otisak, 600dpi, tiff ili bmp

Page 12: Slikovna analiza ImageJ Automatizacija naredbi
Page 13: Slikovna analiza ImageJ Automatizacija naredbi

DigitalizacijaSkeniranjeOdabir ROI-a

SegmentacijaFilteriPragPozadinski šum

Analiza česticaKarakteristike (veličina, oblik)Broj česticaPokrivenost površine (%)

Koraci slikovne analizeKoraci slikovne analize2400 dpi 1200 dpi

600 dpi 300 dpi

200 dpi

600 dpi600 dpi

Page 14: Slikovna analiza ImageJ Automatizacija naredbi

(Invert)(Invert)(Median)(Median)

VLAKNOCirkularnost

mala

Feret-ov promjer

velik

Opseg

velik

Page 15: Slikovna analiza ImageJ Automatizacija naredbi

Fluff_Particle Analysis makro naredbaFluff_Particle Analysis makro naredba

saveSettings(); run("Set Measurements...", "area centroid perimeter fit circularity feret's area_fraction redirect=None decimal=2"); run("Set Scale...", "distance=23.622 known=1 pixel=1 unit=mm global"); w=2360 q=236 makeRectangle(0, 0, q, w); myImageID = getImageID(); setTool(0); beep(); run("Wait For User", "Select Area to Analyze"); if (selectionType () !=0)

exit("Please select rectangle!"); selectImage(myImageID); run("Copy"); run("Internal Clipboard"); setBatchMode(true); run("8-bit"); run("Bandpass Filter...", "filter_large=20 filter_small=2 suppress=None tolerance=5 process"); run("Entropy Threshold"); run("Invert"); setBatchMode(false); run("Analyze Particles...", "size=0.02-Infinity circularity=0.00-1.00 show=Outlines display exclude clear include summarize"); run("Distribution...", "parameter=Area automatic");restoreSettings();

Page 16: Slikovna analiza ImageJ Automatizacija naredbi

Fluff_Particle Analysis makro naredbaFluff_Particle Analysis makro naredba

Page 17: Slikovna analiza ImageJ Automatizacija naredbi

Fluff_Particle Analysis makro naredbaFluff_Particle Analysis makro naredba

Page 18: Slikovna analiza ImageJ Automatizacija naredbi

Fluff_Particle Analysis makro naredbaFluff_Particle Analysis makro naredba

Page 19: Slikovna analiza ImageJ Automatizacija naredbi

Analiza čestica boje (reciklacija)Analiza čestica boje (reciklacija)

analiza čestica (particle analysis) na uzorcima labaratorijskih listova napravljenih od reciklirane pulpesmanjenjem broja i ukupne površine čestica mjeri se uspješnost deinking flotacijeveličina čestica može objasniti uspješnost deinking flotacijeanalizu radimo na odabranom području otiskalabaratorijski listovi se prije analize čestica obrađuju filterima, postavlja im se prag (treshold) i stvara se binarna slika (0 ili 255) – i ovi koraci se po želji mogu uključiti u makro naredbu

cilj: napisati makro naredbu koja će potpuno automatizirati proces ispisa parametara analize čestica po željenim klasama veličineulazni podatak: skenirani otisak, dpi ovisan o vrsti uzorka, tiff ili bmp

Page 20: Slikovna analiza ImageJ Automatizacija naredbi

Obrada slike prije analizeObrada slike prije analize

skenirana .tif slika200 dpiRGB

8-bit slika256 tonova

binarna slika0 ili 1

Page 21: Slikovna analiza ImageJ Automatizacija naredbi

Particle Analysis makro naredbaParticle Analysis makro naredba

saveSettings(); setBatchMode(true);run("Set Measurements...", "area centroid perimeter fit circularity feret's area_fraction display redirect=None decimal=2");Dialog.create("Set Dpi");Dialog.addNumber("Dpi: ", 200);Dialog.show();Dpi = Dialog.getNumber();parseFloat("Dpi");

run("Set Scale...", "distance="+Dpi+" known=25.4 pixel=1 unit=mm

global");

run("Analyze Particles...", "size=0-0.04 circularity=0.00-1.00 show=Nothing exclude clear include");

print("0.00-0.04");n = nResults;sum = 0;for (i=0; i<n; i++)

sum += getResult("Area", i);average = sum/n;getPixelSize(unit, pw, ph);imageSize = getWidth*getHeight*pw*ph;fraction = sum/imageSize;print("Count:", n);print("TotalArea: "+sum+" "+unit+"^2");print("Average Size: "+average+" "+unit+"^2");print("Area Fraction: "+d2s(fraction*100,2)+"%");

Page 22: Slikovna analiza ImageJ Automatizacija naredbi

Particle Analysis makro naredbaParticle Analysis makro naredba

Page 23: Slikovna analiza ImageJ Automatizacija naredbi

Nejednakomjernost otiska (Mottle)Nejednakomjernost otiska (Mottle)

mottle je pojam koji označava nejednakomjernost otiskapostoji veći broj metoda za kvantificiranje nejednakomjernosti otiska, kao i indeksa nejednakomjernostiu ovom primjeru koristila se praktična metoda širine raspona intenziteta prikazanih na histogramu uzorka, a mottle indeks označava se kao NU (nonuniformity number)veći NU označava veći mottlingNU = Ux – Lx, gdje je Ux = prosjek intenziteta iznad mediana i Lx = prosjek intenziteta ispod mediana

cilj: napisati makro naredbu koja će potpuno automatizirati postupak određivanja nejednakomjernosti otiska i kao rezultat dati vrijednost NUulazni podatak: skenirani otisak, veličina uzorka otiska po želji, tiff ili bmp

Page 24: Slikovna analiza ImageJ Automatizacija naredbi

Histogram Mottle makro naredbaHistogram Mottle makro naredba

requires("1.34g");

saveSettings(); setBatchMode(true);run("8-bit");run("Set Measurements...", "mean min median limit redirect=None decimal=2");

Dialog.create("Select Area Dimensions to Evaluate");Dialog.addNumber("Width (px):", 200);Dialog.addNumber("Height (px):", 200);Dialog.show();w = Dialog.getNumber();q = Dialog.getNumber();

makeRectangle(0, 0, q, w);

ID1 = getImageID(); setTool(0); beep(); run("Wait For User", "Select Area to Analyze"); if (selectionType () !=0)

exit("Please select rectangle!");

Page 25: Slikovna analiza ImageJ Automatizacija naredbi

selectImage(ID1); run("Measure");median = getResult("Median");getMinAndMax(min, max);

selectImage(ID1); //run("Threshold...");setThreshold(min, median);run("Measure");mean = getResult("Mean");

Lx = mean;resetThreshold;

selectImage(ID1);//run("Threshold...");setThreshold(median, max);

run("Measure");mean = getResult("Mean");

Ux = mean;resetThreshold;

selectImage(ID1);

NU = (Ux-Lx);showMessage("Histogram Mottle: ", "Non-uniformity number (NU) is: "+NU);title = getTitle();print(title+" NU is: "+NU);restoreSettings();

Page 26: Slikovna analiza ImageJ Automatizacija naredbi

Histogram Mottle makro naredbaHistogram Mottle makro naredba

Page 27: Slikovna analiza ImageJ Automatizacija naredbi

Histogram Mottle makro naredbaHistogram Mottle makro naredba

Page 28: Slikovna analiza ImageJ Automatizacija naredbi

Hrapavost po IGT metodiHrapavost po IGT metodi

hrapavost podloge (papira) važna je za konačnu kvalitetu otiskaIGT Roughness metoda je dinamička metoda određivanja hrapavostiodređena količina vode obojene s trypan plavom bojom (1%) nanese se papir (na mjesto nanosa tekućine nanese se lak i osuši)tekućina se velikom brzinom razvalja između dvije trake identičnog papira koji se testira mrlja koja nastane se izmjeri (njena površina) i uvrsti u formuluR = V (mm3) * 1000 / 2 * A (mm2)

cilj: napisati makro naredbu koja će potpuno automatizirati postupak određivanja hrapavosti papira po IGT W28 metodiulazni podatak: skenirana “mrlja”, 600 dpi, tiff ili bmp

Page 29: Slikovna analiza ImageJ Automatizacija naredbi

IGT Roughness makro naredbaIGT Roughness makro naredba

saveSettings();

Dialog.create("Inputs");Dialog.addNumber("Dpi: ", 600);Dialog.addNumber("V (mm3):", 1);Dialog.show();Dpi = Dialog.getNumber();parseFloat("Dpi");Volumen = Dialog.getNumber();parseFloat("Volumen");

run("Set Measurements...", "area limit redirect=None decimal=2");run("Set Scale...", "distance="+Dpi+" known=25.4 pixel=1 unit=mm

global");

run("Enhance Contrast", "saturated=10");run("8-bit");

//run("Threshold...");setAutoThreshold();run("Analyze Particles...", "size=10-Infinity circularity=0.00-1.00 show=Nothing exclude clear include");

Area = getResult("Area");parseFloat("Area");

R = (Volumen*1000)/(2*Area);showMessage("IGT Roughness: ", "Roughness (R) is: "+R);title = getTitle();print(title+" R is: "+R);restoreSettings();

Page 30: Slikovna analiza ImageJ Automatizacija naredbi

IGT Roughness makro naredbaIGT Roughness makro naredba

Page 31: Slikovna analiza ImageJ Automatizacija naredbi

IGT Roughness makro naredbaIGT Roughness makro naredba

Page 32: Slikovna analiza ImageJ Automatizacija naredbi

IGT Roughness makro naredbaIGT Roughness makro naredba