You are on page 1of 15

% Grnt Bltleme

clear all; close all; % 1. Resim okuma ve gsterme I = imread('hucre.png'); imshow(I)

% 2. Morfolojik Alm ile arkaplan Belirleme background = imopen(I,strel('disk',15)); figure, imshow(background);

% 3. Yzey olarak Arka Plan grntleme figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]); set(gca,'ydir','reverse');

% 4. Orijinal Image Background Image karma I2 = imsubtract(I,background); figure, imshow(I2);

% 5. Grnt karanlk imadjust ile kontrastn ayarlarz daha iyi gzkr. I3 = imadjust(I2); figure, imshow(I3);

% 6. Eik deeri belirlenerek im2bw fonksiyonu ile binary resme evirilir (level=0.484313725490196)kirlilikler de temizlenir. level = graythresh(I3); bw = im2bw(I3,level); bw = bwareaopen(bw, 50); figure, imshow(bw)

% 7. Grnt nesnelerinin saysn belirlenir [labeled,numObjects] = bwlabel(bw,4); figure, imshow(labeled); impixelregion;

% 8. label2rgb fonksiyonu ile grntdeki nesneleri ayrt etmek kolaydr pseudo_color = label2rgb(labeled, @spring, 'c', 'shuffle'); figure, imshow(pseudo_color);

% Grnt zellikleri lm graindata=regionprops(labeled, 'basic') grain_areas = [graindata.Area]; % 20. etiketli bile?enin alan?n? bulur. graindata (20).Area % Byk dane bulur max([graindata.Area]) % Byk danenin etiketinu bulur biggrain=find([graindata.Area]==479) % Ortalama pirinc tanesi alan?n? bulur ans = 479 ans = 1036 biggrain = 20

mean([graindata.Area]) % Pirinc tane boyutu daglmn gsteren grafik cizdir. hist([graindata.Area],20)

ans = 681.2500

%% Image segmentation clear all; close all; % 1. Resim okuma I = imread('img/ercan.jpg'); I= rgb2gray(I); imshow(I) % 2. Morfolojik Ailis ile arkaplan Belirleme background = imopen(I,strel('disk',15)); figure, imshow(background); % 3. Yzey olarak Arka Plan Yaklasim grntleme figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]); set(gca,'ydir','reverse'); % 4. Orijinal Image Background Image ?karma I2 = imsubtract(I,background); figure, imshow(I2); % 5. Grnt karanlik imadjust ile kontrastini ayarlariz I3 = imadjust(I2); figure, imshow(I3); % 6. Esik degeri belirlenerek im2bw fonksiyonu ile binary resme evirilir % gurultu silinir level = graythresh(I3); bw = im2bw(I3,level); bw = bwareaopen(bw, 50); figure, imshow(bw)

% 7. Grnt nesnelerinin sayisini belirlenir [labeled,numObjects] = bwlabel(bw,4); figure, imshow(labeled); impixelregion; % label2rgb fonksiyonu ile grntdeki nesneleri ayirt etmek kolaydir pseudo_color = label2rgb(labeled, @spring, 'c', 'shuffle'); figure, imshow(pseudo_color); % Grnt zellikleri lm graindata=regionprops(labeled, 'basic'); grain_areas = [graindata.Area]; % 50. etiketli bile?enin alan?n? bulur. graindata (20).Area; % Byk dane bulur max([graindata.Area]) % Byk danenin etiketinu bulur biggrain=find([graindata.Area]==479) % Ortalama pirinc tanesi alan?n? bulur mean([graindata.Area]) % Pirinc tane boyutu da??l?m?n? gsteren hist([graindata.Area],20)

MATLAB ile Grnt leme Part - III Eik Deeri Bulma Nesne zelliklerini lme Rice.tif iindeki nesnelerin saysn buldurma I % Resmi Okuma Grntleme I = imread('rice.tif'); figure, imshow(I); % Eik deeri belirleme ve resmi eikleme level = graythresh(I); display(level); BW = im2bw(I,level);

% Siyah-Beyaz Resmi Grntleme figure, imshow(BW); % Etiketleme [L,n]=BWLabel(BW); display(n);

hold on % So later plotting commands plot on % Resmin zerine her bir nesnenin etiketlerini (numaralarn) yazdrma for k=1:n [r,c] = find(L==k); rbar = mean(r); cbar = mean(c); plot(cbar, rbar, 'Marker', 'O', 'MarkerEdgeColor', 'y', ... 'MarkerFaceColor', 'y', 'MarkerSize', 9); text(cbar-4, rbar, num2str(k),'Color','b','FontSize',5); end Rice.tif iindeki nesnelerin saysn buldurma II Resimdeki Nesne zelliklerini lme graindata = regionprops(L,'basic'); display([graindata.Area]); 78x1 struct array with fields: Area graindata(51).Area 296 Centroid 155.3953 102.1791 BoundingBox 142.5000 89.5000 24.0000 26.0000

Renkli Resimler : RGB image Renkli Resimler : Indexed Images Aadaki Balklara Baknz! Region of Interest (roipoly, roifilt2, roifill, ) Colorbar Avifile Texture Mapping .. Resim yiletirme (Image Enhancement) Temel hedefi, belirli bir uygulama iin, resmi orijinal halinden daha iyi duruma getirmektir. X-n grntleri ve uydu grntlerinde ayn iyiletirme yntemlerinin uygulanmas doru olmayabilir. Grnt yiletirme Yntemleri

Uzaysal Alan (Spatial Domain) : Resim dzleminin kendisidir. Pikseller zerinde dorudan ilem yaplr. Frekans Alan (Frequency Domain) : Resmin Fourier dnm zerinde deiiklik yapmaya dayanr. Resim yiletirme : Altyap Resim leme

Nokta leme Ztlk Artrma (Contrast Stretching) M deerinin altndaki pikselleri koyulatrmak, stndeki deerleri beyaza yaklatrmak. zel bir ekli : Eikleme (Thresholding) Temel Gri Dzeyi Dnmleri 1) Negatif Resim (Image Negatives) Resmin gri dzeyleri [0, L-1] aralnda Negatifi s = L-1-r (nokta bazl) Genelde resmin karanlk blgelerindeki beyaz ve gri ayrntlar iyiletirmek, belirginletirmek iin kullanlr. Gri dzeyi dnm fonksiyonlar Temel Gri Dzeyi Dnmleri 2) Log Dnmleri

Resmin gri dzeylerini yaymak (spreading) veya sktrmak (compressing) iin kullanlr. Power-Law transformation daha uygundur. Temel Gri Dzeyi Dnmleri 3) Kuvvet Kural (Power-Law) Dnmleri

Girdi 0 ise sonu gzlemek iin! deiiminin nemi : deiimi Uygulamalar ve rnekler Temel Gri Dzeyi Dnmleri 4) Paral Dorusal (Piecewise Linear) Dnmler Daha ok girdi gerektirir. Baz durumlarda dier yntemler yetersiz kalr. i) Contrast Stretching Transformation : Matlabda Younluk Dnm Matlabda Younluk Dnm imadjust : Gri resimlerde Matlabda Younluk Dnm Temel Gri Dzeyi Dnmleri ii) Gri Dzeyi Dilimleme: Belirli bir gri dzeyi aralnn belirginletirilmesi. Uydu grntlerinde su

blgelerinin, kemiklerdeki atlaklarn belirginletirilmesi. Temel Gri Dzeyi Dnmleri iii) Bit-dzlemi Dilimleme (Bit-plane slicing) Nicemlemede (Quantization) Sktrmada (Compression) Resim yiletirme Gri Dzeyi Dnmleri Histogram leme Aritmetik-Mantksal lemlerle yiletirme Uzaysal Filtreler Varsaylan Tasarm MATLAB ile Grnt leme Part - III Eik Deeri Bulma Nesne zelliklerini lme Rice.tif iindeki nesnelerin saysn buldurma I % Resmi Okuma Grntleme I = imread('rice.tif'); figure, imshow(I); % Eik deeri belirleme ve resmi eikleme level = graythresh(I); display(level); BW = im2bw(I,level); % Siyah-Beyaz Resmi Grntleme figure, imshow(BW); % Etiketleme [L,n]=BWLabel(BW); display(n);

hold on % So later plotting commands plot on % Resmin zerine her bir nesnenin etiketlerini (numaralarn) yazdrma for k=1:n [r,c] = find(L==k); rbar = mean(r); cbar = mean(c); plot(cbar, rbar, 'Marker', 'O', 'MarkerEdgeColor', 'y', ... 'MarkerFaceColor', 'y', 'MarkerSize', 9); text(cbar-4, rbar, num2str(k),'Color','b','FontSize',5); end

Rice.tif iindeki nesnelerin saysn buldurma II Resimdeki Nesne zelliklerini lme graindata = regionprops(L,'basic'); display([graindata.Area]); 78x1 struct array with fields: Area graindata(51).Area 296 Centroid 155.3953 102.1791 BoundingBox 142.5000 89.5000 24.0000 26.0000

Renkli Resimler : RGB image Renkli Resimler : Indexed Images Aadaki Balklara Baknz! Region of Interest (roipoly, roifilt2, roifill, ) Colorbar Avifile Texture Mapping .. Resim yiletirme (Image Enhancement) Temel hedefi, belirli bir uygulama iin, resmi orijinal halinden daha iyi duruma getirmektir. X-n grntleri ve uydu grntlerinde ayn iyiletirme yntemlerinin uygulanmas doru olmayabilir. Grnt yiletirme Yntemleri Uzaysal Alan (Spatial Domain) : Resim dzleminin kendisidir. Pikseller zerinde dorudan ilem yaplr. Frekans Alan (Frequency Domain) : Resmin Fourier dnm zerinde deiiklik yapmaya dayanr. Resim yiletirme : Altyap Resim leme

Nokta leme Ztlk Artrma (Contrast Stretching) M deerinin altndaki pikselleri koyulatrmak, stndeki deerleri beyaza yaklatrmak. zel bir ekli : Eikleme (Thresholding) Temel Gri Dzeyi Dnmleri 1) Negatif Resim (Image Negatives) Resmin gri dzeyleri [0, L-1] aralnda Negatifi s = L-1-r (nokta bazl) Genelde resmin karanlk blgelerindeki beyaz ve gri ayrntlar iyiletirmek, belirginletirmek iin kullanlr. Gri dzeyi dnm fonksiyonlar Temel Gri Dzeyi Dnmleri

2) Log Dnmleri

Resmin gri dzeylerini yaymak (spreading) veya sktrmak (compressing) iin kullanlr. Power-Law transformation daha uygundur. Temel Gri Dzeyi Dnmleri 3) Kuvvet Kural (Power-Law) Dnmleri

Girdi 0 ise sonu gzlemek iin! deiiminin nemi : deiimi Uygulamalar ve rnekler Temel Gri Dzeyi Dnmleri 4) Paral Dorusal (Piecewise Linear) Dnmler Daha ok girdi gerektirir. Baz durumlarda dier yntemler yetersiz kalr. i) Contrast Stretching Transformation : Matlabda Younluk Dnm Matlabda Younluk Dnm imadjust : Gri resimlerde Matlabda Younluk Dnm Temel Gri Dzeyi Dnmleri ii) Gri Dzeyi Dilimleme: Belirli bir gri dzeyi aralnn belirginletirilmesi. Uydu grntlerinde su blgelerinin, kemiklerdeki atlaklarn belirginletirilmesi. Temel Gri Dzeyi Dnmleri iii) Bit-dzlemi Dilimleme (Bit-plane slicing) Nicemlemede (Quantization) Sktrmada (Compression) Resim yiletirme Gri Dzeyi Dnmleri Histogram leme Aritmetik-Mantksal lemlerle yiletirme Uzaysal Filtreler Image Enhancement in the Frequency Domain Fonksiyonlarn sin/cos toplam eklinde ifade edilmesi MATLAB ile Grnt leme Part - III Eik Deeri Bulma Nesne zelliklerini lme Rice.tif iindeki nesnelerin saysn buldurma I % Resmi Okuma Grntleme I = imread('rice.tif'); figure, imshow(I);

% Eik deeri belirleme ve resmi eikleme level = graythresh(I); display(level); BW = im2bw(I,level); % Siyah-Beyaz Resmi Grntleme figure, imshow(BW); % Etiketleme [L,n]=BWLabel(BW); display(n);

hold on % So later plotting commands plot on % Resmin zerine her bir nesnenin etiketlerini (numaralarn) yazdrma for k=1:n [r,c] = find(L==k); rbar = mean(r); cbar = mean(c); plot(cbar, rbar, 'Marker', 'O', 'MarkerEdgeColor', 'y', ... 'MarkerFaceColor', 'y', 'MarkerSize', 9); text(cbar-4, rbar, num2str(k),'Color','b','FontSize',5); end Rice.tif iindeki nesnelerin saysn buldurma II Resimdeki Nesne zelliklerini lme graindata = regionprops(L,'basic'); display([graindata.Area]); 78x1 struct array with fields: Area graindata(51).Area 296 Centroid 155.3953 102.1791 BoundingBox 142.5000 89.5000 24.0000 26.0000

Renkli Resimler : RGB image Renkli Resimler : Indexed Images Aadaki Balklara Baknz! Region of Interest (roipoly, roifilt2, roifill, ) Colorbar Avifile Texture Mapping

.. Resim yiletirme (Image Enhancement) Temel hedefi, belirli bir uygulama iin, resmi orijinal halinden daha iyi duruma getirmektir. X-n grntleri ve uydu grntlerinde ayn iyiletirme ynte

Tarmda Saysal Grnt leme Uygulamalar lker Ongun DIP@Agriculture retim ncesi Toprak nceleme Sulama Gereksinimi Yzey lme retim Ynetimi Kzlberisi-Grnenin tesi Frekans dkse, havakresel girim fazladr. Grntler, grnr k frekans aralnn altnda alnr. Sis, pus, buu etkileri giderilerek ayrntlar net olarak elde edilir. Yapay renklendirme uygulanr. Yapay Renklendirme Grnt bilgisi, grnr k aralna getirilir. retim ncesi Uygulamalar Toprak ve rts zerine ayrntl bilgi salanabilir. retim ncesi Uygulamalar Girdi Ynetimi iin yzey lmeleri hassasiyetle yaplabilir. retim Aamas Uygulamalar Verim izleme srecinde yapay renklendirilmi IR grntler belirleyicidir. retim Aamas Uygulamalar Gbre yararlanm ve ykanm izlenerek gbre girdi maliyetleri nemli miktarda drlebilir. retim Aamas Uygulamalar Sulama iin gerekli dzeltici nlemlerin alnmas salanabilir. retim Sonras Uygulamalar Snflama Ayklama Sayma (tartma) Paketleme rnek MATLAB Uygulamas Kark durumdaki msr ve pamuk tohumlarnn belirlenmesi ve saym isteniyor. ki tohum trnn renklerinin farkl olmasndan yararlanlarak ayrm yaplabilir rnek MATLAB Uygulamas kym=imread('sun2.jpg') %resim krmz ve mavi bileenlerine ayrlyor. k=kym(:,:,1); m=kym(:,:,3);

figure('name','KIRMIZI BLEEN'),imshow(k); figure('name','MAV BLEEN'),imshow(m);

rnek MATLAB Uygulamas %pamuk tohumunda krmz bileen ok az olduundan, %krmz resim eiklenip, negatifi alnarak pamuklar seiliyor. p=imadjust(k,[0.43 0.44],[1 0]); figure('name','Pamuklar'),imshow(p); %tohumlar btnletiriliyor. p_filled=imfill(p); figure('name','Dolu Pamuklar'),imshow(p_filled); %temas eden tohumlar ayrlyor. se1=strel('disk',2); p_eroded=imerode(p_filled,se1); figure('name','PAMUK TOHUMLARI'), imshow(p_eroded); rnek MATLAB Uygulamas %temas eden tohumlar ayrlyor. se1=strel('disk',2); p_eroded=imerode(p_filled,se1); figure('name','PAMUK TOHUMLARI'), imshow(p_eroded); %pamuk says belirlenir ve gsterilir. [P,pam_say]=bwlabel(p_eroded); display(pam_say); rnek MATLAB Uygulamas %Msrlarda mavi bileen ok azdr. %Krmzdan Mavi karlarak pamuklar ve arkaplan sfrlanr. corn=k-m; figure('name','MISIR'), imshow(corn);

%grnt eiklenerek msr daneleri bulunur corn_sb=imadjust(corn,[0.20 0.21],[0 1]); figure('name','MISIR DANELER'), imshow(corn_sb); rnek MATLAB Uygulamas %andrma ile msr daneleri birbirinden ayrlr. se2=strel('disk',6); corns=imerode(corn_sb,se2); %msr daneleri saylarak ekrana yazdrlr [C,corn_say]=bwlabel(corns); display(corn_say) rnek MATLAB Uygulamas

Krmz bileen ile mavi bileenin fark alnrken, (2*k)-(1,5*m) eitlii kullanlrsa, msr taneleri daha belirgin olarak ayrlabiliyor. Bu grnt eiklenerek saylabilir. Son not Daha ook almak lazm ;) Dere Tarmda Saysal Grnt leme Uygulamalar lker Ongun DIP@Agriculture retim ncesi Toprak nceleme Sulama Gereksinimi Yzey lme retim Ynetimi Kzlberisi-Grnenin tesi Frekans dkse, havakresel girim fazladr. Grntler, grnr k frekans aralnn altnda alnr. Sis, pus, buu etkileri giderilerek ayrntlar net olarak elde edilir. Yapay renklendirme uygulanr. Yapay Renklendirme Grnt bilgisi, grnr k aralna getirilir. retim ncesi Uygulamalar Toprak ve rts zerine ayrntl bilgi salanabilir. retim ncesi Uygulamalar Girdi Ynetimi iin yzey lmeleri hassasiyetle yaplabilir. retim Aamas Uygulamalar Verim izleme srecinde yapay renklendirilmi IR grntler belirleyicidir. retim Aamas Uygulamalar Gbre yararlanm ve ykanm izlenerek gbre girdi maliyetleri nemli miktarda drlebilir. retim Aamas Uygulamalar Sulama iin gerekli dzeltici nlemlerin alnmas salanabilir. retim Sonras Uygulamalar Snflama Ayklama Sayma (tartma) Paketleme rnek MATLAB Uygulamas Kark durumdaki msr ve pamuk tohumlarnn belirlenmesi ve saym isteniyor. ki tohum trnn renklerinin farkl olmasndan yararlanlarak ayrm yaplabilir rnek MATLAB Uygulamas kym=imread('sun2.jpg') %resim krmz ve mavi bileenlerine ayrlyor. k=kym(:,:,1); m=kym(:,:,3); figure('name','KIRMIZI BLEEN'),imshow(k);

figure('name','MAV BLEEN'),imshow(m);

rnek MATLAB Uygulamas %pamuk tohumunda krmz bileen ok az olduundan, %krmz resim eiklenip, negatifi alnarak pamuklar seiliyor. p=imadjust(k,[0.43 0.44],[1 0]); figure('name','Pamuklar'),imshow(p); %tohumlar btnletiriliyor. p_filled=imfill(p); figure('name','Dolu Pamuklar'),imshow(p_filled); %temas eden tohumlar ayrlyor. se1=strel('disk',2); p_eroded=imerode(p_filled,se1); figure('name','PAMUK TOHUMLARI'), imshow(p_eroded); rnek MATLAB Uygulamas %temas eden tohumlar ayrlyor. se1=strel('disk',2); p_eroded=imerode(p_filled,se1); figure('name','PAMUK TOHUMLARI'), imshow(p_eroded); %pamuk says belirlenir ve gsterilir. [P,pam_say]=bwlabel(p_eroded); display(pam_say); rnek MATLAB Uygulamas %Msrlarda mavi bileen ok azdr. %Krmzdan Mavi karlarak pamuklar ve arkaplan sfrlanr. corn=k-m; figure('name','MISIR'), imshow(corn);

%grnt eiklenerek msr daneleri bulunur corn_sb=imadjust(corn,[0.20 0.21],[0 1]); figure('name','MISIR DANELER'), imshow(corn_sb); rnek MATLAB Uygulamas %andrma ile msr daneleri birbirinden ayrlr. se2=strel('disk',6); corns=imerode(corn_sb,se2); %msr daneleri saylarak ekrana yazdrlr [C,corn_say]=bwlabel(corns); display(corn_say) rnek MATLAB Uygulamas Krmz bileen ile mavi bileenin fark alnrken,

(2*k)-(1,5*m) eitlii kullanlrsa, msr taneleri daha belirgin olarak ayrlabiliyor. Bu grnt eiklenerek saylabilir. Son not Daha ook almak lazm ;)

You might also like