24.07.2013 Views

Ödev 1 - Histogram ve Varyans Hesaplama - Başkent Üniversitesi

Ödev 1 - Histogram ve Varyans Hesaplama - Başkent Üniversitesi

Ödev 1 - Histogram ve Varyans Hesaplama - Başkent Üniversitesi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Histogram</strong> <strong>ve</strong> <strong>Varyans</strong> <strong>Hesaplama</strong><br />

1. <strong>Ödev</strong><br />

26.02.2007<br />

<strong>Başkent</strong> Üni<strong>ve</strong>rsitesi<br />

Bilgisayar Mühendisliği Bölümü<br />

İmge İşleme Dersi (Bil 411)<br />

20394676 - Ümit Burak USGURLU


<strong>Histogram</strong> bir imgedeki pikselleri oluşturan renklerin tonlarının dağılımını gösteren çizgedir. Kırmızı, yeşil <strong>ve</strong><br />

mavi (KVM) değerlerinin 8 bitlik aralık içinde hangi tonlarının daha baskın olduğunu gösterir.<br />

<strong>Ödev</strong> için “Lena” resmi kullanıldı <strong>ve</strong> C#’da yazılan uygulama ile tonların dağılımı çıkartıldı. Daha sonra bu<br />

değerler kullanılarak Microsoft Excel’de histogram çizgesi çizdirildi.<br />

Ton K Y M Gri Ton K Y M Gri Ton K Y M Gri<br />

0 0 0 0 0 85 1177 1475 2834 973 170 1250 414 797 1464<br />

1 0 0 0 0 86 1269 1513 2960 983 171 1403 483 784 1385<br />

2 0 0 0 0 87 1332 1537 2962 999 172 1534 504 746 1348<br />

3 0 11 0 0 88 1446 1813 2940 1024 173 1639 473 721 1287<br />

4 0 65 0 0 89 1487 1863 2911 1006 174 1682 474 725 1194<br />

5 0 111 0 0 90 1457 1681 2949 976 175 1776 452 673 1024<br />

6 0 164 0 0 91 1574 1885 3107 971 176 1874 621 674 985<br />

7 0 261 0 0 92 1585 2170 2983 1058 177 1769 587 629 876<br />

8 0 308 7 0 93 1591 1907 2922 1087 178 1582 512 633 828<br />

9 0 431 0 0 94 1557 2008 3045 1133 179 1743 611 641 847<br />

10 0 537 0 0 95 1569 1948 3017 1087 180 1441 652 632 795<br />

11 0 682 0 0 96 1660 2325 2738 1226 181 1477 723 652 739<br />

12 0 846 1 0 97 1648 2094 2826 1257 182 1483 645 580 831<br />

13 0 912 0 0 98 1420 1713 2700 1267 183 1409 656 599 859<br />

14 0 1074 0 0 99 1559 2084 2818 1376 184 1437 850 575 826<br />

15 0 1350 0 0 100 1418 1670 2710 1496 185 1449 777 583 869<br />

16 0 1480 0 0 101 1384 1811 2618 1606 186 1389 720 580 742<br />

17 0 1681 0 0 102 1319 1720 2559 1752 187 1479 719 511 803<br />

18 0 1621 0 0 103 1342 1743 2777 1967 188 1592 812 525 785<br />

19 0 2064 0 0 104 1156 1603 2611 2057 189 1655 741 471 768<br />

20 0 1835 0 0 105 1120 1693 2643 2116 190 1657 646 421 828<br />

21 0 2048 0 0 106 955 1386 2597 2203 191 1666 703 393 878<br />

22 0 1989 0 0 107 969 1515 2582 2090 192 1857 778 297 869<br />

23 0 1911 0 0 108 828 1639 2622 2028 193 1896 767 330 890<br />

24 0 2258 0 0 109 782 1542 2560 1982 194 1813 611 274 901<br />

25 0 2129 0 0 110 752 1588 2538 1945 195 1979 800 219 1045<br />

26 0 1748 0 0 111 737 1540 2558 1856 196 1814 699 191 1004<br />

27 0 1776 0 0 112 719 1784 2531 1710 197 1956 795 183 1094<br />

28 0 1850 0 0 113 700 1751 2517 1542 198 1928 781 166 1118<br />

29 0 1687 0 0 114 628 1425 2660 1513 199 2055 830 152 1245<br />

30 0 1605 0 0 115 673 1836 2641 1562 200 2012 816 109 1300<br />

31 0 1661 0 0 116 587 1604 2756 1435 201 2303 912 108 1196<br />

32 0 1355 0 0 117 617 1565 2867 1599 202 2333 843 75 1169<br />

33 0 1360 0 0 118 610 1581 2872 1555 203 2670 851 91 1113<br />

34 0 1189 0 0 119 592 1507 3066 1517 204 2787 847 67 1011<br />

35 0 1278 0 1 120 557 1762 2912 1552 205 3232 788 67 991<br />

36 0 1062 0 0 121 593 1769 3011 1650 206 3154 687 61 875<br />

37 0 1027 0 6 122 552 1448 2813 1591 207 3476 700 56 798<br />

38 0 1052 0 7 123 566 1654 2909 1738 208 3424 573 37 703<br />

39 0 1084 0 24 124 582 1872 2780 1758 209 3516 499 30 618<br />

40 0 1013 0 38 125 559 1914 2745 1884 210 3102 377 27 562<br />

41 0 1026 3 62 126 571 1844 2527 2036 211 3176 388 23 522<br />

42 0 915 2 86 127 520 2103 2097 2115 212 2787 288 19 401<br />

43 0 926 7 128 128 664 1925 2202 2371 213 2885 294 24 318<br />

44 0 1029 14 183 129 650 2023 1984 2488 214 2630 241 18 270<br />

45 0 1013 24 236 130 618 1811 1854 2424 215 2731 201 8 209<br />

46 0 1023 46 307 131 730 2206 1756 2512 216 2664 168 7 170<br />

47 0 875 67 401 132 594 1907 1499 2672 217 2955 167 4 164<br />

48 0 1110 108 511 133 667 1968 1331 2541 218 2955 125 2 148<br />

49 0 1057 137 646 134 675 2026 1237 2522 219 3360 114 1 109


50 0 862 254 792 135 685 2096 1146 2380 220 3554 102 0 102<br />

51 0 1120 347 956 136 771 2032 1027 2286 221 4138 108 0 67<br />

52 0 927 483 1163 137 715 2029 1015 2207 222 3987 68 0 70<br />

53 0 1073 626 1363 138 667 1730 874 2293 223 4057 57 3 47<br />

54 1 1069 785 1651 139 740 1607 905 2195 224 4327 54 1 36<br />

55 0 1004 1135 1809 140 744 1666 839 2406 225 3713 49 1 32<br />

56 1 1275 1262 1953 141 766 1454 866 2573 226 3185 16 0 15<br />

57 1 1274 1631 2107 142 765 1341 808 2660 227 2929 18 0 7<br />

58 1 1129 1756 2187 143 772 1354 849 2691 228 2551 10 0 14<br />

59 8 1266 2201 2252 144 817 1247 801 2860 229 2432 7 0 4<br />

60 6 1495 2355 2277 145 817 1213 870 2802 230 2195 5 0 8<br />

61 10 1548 2514 2269 146 744 942 791 2780 231 2256 9 0 1<br />

62 9 1591 2767 2114 147 806 1152 801 2685 232 1960 2 0 0<br />

63 20 2046 2943 2121 148 760 931 796 2728 233 2126 1 0 1<br />

64 37 1706 2958 1942 149 777 1080 770 2732 234 2186 1 0 1<br />

65 32 1998 2921 1899 150 812 981 757 2885 235 2265 0 0 0<br />

66 41 1704 2876 1680 151 797 904 889 2906 236 2417 2 0 0<br />

67 53 2022 2907 1607 152 799 1006 838 2976 237 2445 0 0 1<br />

68 74 1705 2869 1446 153 861 1003 863 3066 238 2282 0 0 0<br />

69 103 1800 2873 1352 154 814 814 914 3183 239 1826 0 0 0<br />

70 132 1674 2899 1290 155 910 779 868 3060 240 1972 0 0 1<br />

71 179 1766 3043 1121 156 907 848 844 2911 241 1456 0 0 0<br />

72 193 1593 2919 1061 157 918 817 880 2801 242 1137 1 0 0<br />

73 242 1711 3041 987 158 888 756 967 2555 243 986 0 0 0<br />

74 238 1474 3107 978 159 1011 828 972 2371 244 748 0 0 0<br />

75 336 1491 3238 944 160 879 690 837 2283 245 749 2 0 0<br />

76 386 1566 3224 923 161 996 696 924 2202 246 667 0 0 0<br />

77 404 1456 3140 876 162 912 579 901 1932 247 582 0 0 0<br />

78 483 1445 3218 859 163 952 622 924 1691 248 428 1 0 0<br />

79 607 1524 3189 867 164 884 514 830 1601 249 357 0 0 0<br />

80 628 1371 3004 834 165 1074 528 809 1442 250 313 0 0 0<br />

81 771 1545 3030 901 166 977 499 819 1500 251 302 0 0 0<br />

82 785 1278 3078 959 167 1073 506 897 1465 252 242 0 0 0<br />

83 1001 1606 3008 994 168 1040 450 797 1493 253 178 0 0 0<br />

84 1016 1364 2787 952 169 1216 504 802 1432 254 67 0 0 0<br />

255 112 0 0 0<br />

Tabloda da görüldüğü üzere her bir pikselin renk değerlerinin ortalaması alınarak 8bitlik bir gri ton histrogram<br />

elde edildi. Aşağıdaki çizgelerde kullanılan renkler o rengin imge içindeki dağılımını <strong>ve</strong>rmektedir.<br />

Counts<br />

4500<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

0 50 100 150 200 250<br />

Values<br />

Counts<br />

4500<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

0 50 100 150 200 250<br />

Values


Counts<br />

4500<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

Counts<br />

0<br />

0 50 100 150 200 250<br />

4500<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

Values<br />

Counts<br />

4500<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

0 50 100 150 200 250<br />

Values<br />

0 50 100 150 200 250<br />

Values<br />

Pikseller için örnek varyansı (sample variance) elde KYM ortalamasından edilen gri ton değeri kullanılarak<br />

hesaplandı. <strong>Varyans</strong> hesabında aşağıdaki formül kullanıldı.<br />

A ( N × M<br />

)<br />

imge olmak üzere<br />

m<br />

A<br />

=<br />

N M −1<br />

−1<br />

∑∑<br />

i=<br />

0 j=<br />

0<br />

A(<br />

i,<br />

j)<br />

NM<br />

2<br />

σ<br />

örnek ortalaması,<br />

<strong>Varyans</strong> 0,0007476807 olarak aynı programda hesaplatıldı.<br />

Örnek uygulama çıktısı <strong>ve</strong> uygulamanın kaynak kodu aşağıda <strong>ve</strong>rilmiştir.<br />

A<br />

=<br />

N M −1<br />

−1<br />

∑∑<br />

i=<br />

0 j=<br />

0<br />

( A(<br />

i,<br />

j)<br />

− m<br />

NM<br />

A<br />

)<br />

2<br />

örnek varyansı.


long[] redHist = new long[256];<br />

long[] greenHist = new long[256];<br />

long[] blueHist = new long[256];<br />

long[] avgHist = new long[256];<br />

long avgTotal = 0;<br />

int avgCount = 0;<br />

System.Drawing.Bitmap picture = new Bitmap(this.textBoxFile.Text);<br />

for (int i = 0; i < picture.Size.Width; i++)<br />

{<br />

for (int j = 0; j < picture.Size.Height; j++)<br />

{<br />

System.Drawing.Color c = picture.GetPixel(i, j);<br />

redHist[c.R]++;<br />

greenHist[c.G]++;<br />

blueHist[c.B]++;<br />

avgTotal += (int)((c.R + c.G + c.B) / 3);<br />

avgCount++;<br />

avgHist[(int)((c.R + c.G + c.B) / 3)]++;<br />

}<br />

}<br />

float variance = 0;<br />

long avgA<strong>ve</strong>rage = avgTotal / avgCount;<br />

for (int i = 0; i < picture.Size.Width; i++)<br />

{<br />

for (int j = 0; j < picture.Size.Height; j++)<br />

{<br />

System.Drawing.Color c = picture.GetPixel(i, j);<br />

variance=+(float)Math.Pow((int)((c.R + c.G + c.B) / 3) - avgA<strong>ve</strong>rage,<br />

2)/avgCount;<br />

}<br />

}<br />

textBoxVariance.Text = variance.ToString();<br />

for (int i = 0; i < 256; i++)<br />

this.dataGridView1.Rows.Insert(i, i, redHist[i], greenHist[i], blueHist[i],<br />

avgHist[i]);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!