Jawaban:
Visualisasi metode Otsu
Algoritme ini secara menyeluruh mencari nilai ambang yang meminimalkan ragam dalam kelas yang didefinisikan sebagai jumlah berbobot ragam kedua kelas.
{\displaystyle \sigma _{w}^{2}(t)=\omega _{0}(t)\sigma _{0}^{2}(t)+\omega _{1}(t)\sigma _{1}^{2}(t)}{\displaystyle \sigma _{w}^{2}(t)=\omega _{0}(t)\sigma _{0}^{2}(t)+\omega _{1}(t)\sigma _{1}^{2}(t)}
Bobot {\displaystyle \omega _{0}}{\displaystyle \omega _{0}} dan {\displaystyle \omega _{1}}{\displaystyle \omega _{1}} adalah peluang kedua kelas dipisahkan oleh nilai ambang {\displaystyle t}{\displaystyle t}. Nilai {\displaystyle \sigma _{0}^{2}}{\displaystyle \sigma _{0}^{2}} dan {\displaystyle \sigma _{1}^{2}}{\displaystyle \sigma _{1}^{2}} adalah ragam kedua kelas.
Peluang kelas {\displaystyle \omega _{0,1}(t)}{\displaystyle \omega _{0,1}(t)} dihitung dari {\displaystyle L}{\displaystyle L} tempat dalam histogram.
{\displaystyle {\begin{aligned}\omega _{0}(t)&=\sum _{i=0}^{t-1}p(i)\\[4pt]\omega _{1}(t)&=\sum _{i=t}^{L-1}p(i)\end{aligned}}}{\displaystyle {\begin{aligned}\omega _{0}(t)&=\sum _{i=0}^{t-1}p(i)\\[4pt]\omega _{1}(t)&=\sum _{i=t}^{L-1}p(i)\end{aligned}}}
Untuk dua kelas, meminimalkan ragam dalam kelas sama dengan memaksimalkan ragam antarkelas:[2]
{\displaystyle {\begin{aligned}\sigma _{b}^{2}(t)&=\sigma ^{2}-\sigma _{w}^{2}(t)\\&=\omega _{0}(\mu _{0}-\mu _{T})^{2}+\omega _{1}(\mu _{1}-\mu _{T})^{2}\\&=\omega _{0}(t)\omega _{1}(t)\left[\mu _{0}(t)-\mu _{1}(t)\right]^{2}\end{aligned}}}{\displaystyle {\begin{aligned}\sigma _{b}^{2}(t)&=\sigma ^{2}-\sigma _{w}^{2}(t)\\&=\omega _{0}(\mu _{0}-\mu _{T})^{2}+\omega _{1}(\mu _{1}-\mu _{T})^{2}\\&=\omega _{0}(t)\omega _{1}(t)\left[\mu _{0}(t)-\mu _{1}(t)\right]^{2}\end{aligned}}}
dengan {\displaystyle \omega }{\displaystyle \omega } adalah peluang kelas dan {\displaystyle \mu }\mu adalah rata-rata kelas. Hubungan nilai {\displaystyle \mu _{0}(t)}{\displaystyle \mu _{0}(t)}, {\displaystyle \mu _{1}(t)}{\displaystyle \mu _{1}(t)}, dan {\displaystyle \mu _{T}}{\displaystyle \mu _{T}} adalah sebagai berikut.
{\displaystyle {\begin{aligned}\mu _{0}(t)&={\frac {\sum _{i=0}^{t-1}ip(i)}{\omega _{0}(t)}}\\[4pt]\mu _{1}(t)&={\frac {\sum _{i=t}^{L-1}ip(i)}{\omega _{1}(t)}}\\\mu _{T}&=\sum _{i=0}^{L-1}ip(i)\end{aligned}}}{\displaystyle {\begin{aligned}\mu _{0}(t)&={\frac {\sum _{i=0}^{t-1}ip(i)}{\omega _{0}(t)}}\\[4pt]\mu _{1}(t)&={\frac {\sum _{i=t}^{L-1}ip(i)}{\omega _{1}(t)}}\\\mu _{T}&=\sum _{i=0}^{L-1}ip(i)\end{aligned}}}
Hubungan berikut dapat dibuktikan dengan mudah.
{\displaystyle {\begin{aligned}\omega _{0}\mu _{0}+\omega _{1}\mu _{1}&=\mu _{T}\\\omega _{0}+\omega _{1}&=1\end{aligned}}}{\displaystyle {\begin{aligned}\omega _{0}\mu _{0}+\omega _{1}\mu _{1}&=\mu _{T}\\\omega _{0}+\omega _{1}&=1\end{aligned}}}
Peluang dan rata-rata kelas dapat dihitung secara iteratif. Cara ini menghasilkan algoritme yang efektif.
Algoritme Sunting
Hitung histogram dan peluang-peluang pada tiap tingkat intensitas.
Hitung nilai awal {\displaystyle \omega _{i}(0)}{\displaystyle \omega _{i}(0)} dan {\displaystyle \mu _{i}(0).}{\displaystyle \mu _{i}(0).}
Hitung semua kemungkinan nilai ambang {\displaystyle t=1,\ldots ,}{\displaystyle t=1,\ldots ,} intensitas maksimal.
Perbarui {\displaystyle \omega _{i}}{\displaystyle \omega _{i}} dan {\displaystyle \mu _{i}.}{\displaystyle \mu _{i}.}
Hitung {\displaystyle \sigma _{b}^{2}(t).}{\displaystyle \sigma _{b}^{2}(t).}
Nilai ambang yang diminta adalah yang menghasilkan {\displaystyle \sigma _{b}^{2}(t)}{\displaystyle \sigma _{b}^{2}(t)} maksimal.
Implementasi Octave atau MATLAB Sunting
cacahHistogram adalah histogram 256 elemen dari citra berderajat keabuan (8 bit). level adalah nilai ambang citra (double).
function ambang = otsu(cacahHistogram)
total = sum(cacahHistogram); % banyak piksel dalam citra
tingkat = size(cacahHistogram, 1);
jumlahB = 0;
wB = 0;
maks = 0.0;
jumlah1 = dot(0:(tingkat - 1), cacahHistogram);
for (ii = 1:tingkat)
wF = total - wB;
if (wB > 0 && wF > 0)
mF = (jumlah1 - jumlahB) / wF;
val = wB * wF * ((jumlahB / wB) - mF) * ((jumlahB / wB) - mF);
if (val >= maks)
ambang = ii;
maks = val;
end;
end;
wB = wB + cacahHistogram(ii);
jumlahB = jumlahB + (ii-1) * cacahHistogram(ii);
end;
end;
Matlab memiliki fungsi graythresh() dan multithresh() dalam Image Processing Toolbox yang menggunakan metode Otsu dan metode multi-Otsu. Octave memiliki fungsi graythresh() dalam paket Image Processing yang secara bawaan menggunakan metode Otsu. Untuk menghitung dengan metode Otsu (khusus), Octave memiliki fungsi otsuthresh()
Penjelasan:
maaf kak kurang tahu, aku belum sampai ini pelajarannya