Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Jul 10, 2017

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ контрастности изобраТСния

Гистограмма

Гистограмма являСтся графичСским прСдставлСниСм распрСдСлСния интСнсивности изобраТСния. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΎΠ½ прСдставляСт количСство пиксСлСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рассматриваСмого значСния интСнсивности.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ рисункС ось X прСдставляСт Ρ‚ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± (Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ слСва ΠΈ Π±Π΅Π»Ρ‹ΠΉ справа), Π° ось Y прСдставляСт количСство пиксСлСй Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π—Π΄Π΅ΡΡŒ гистограмма ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство пиксСлСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня яркости (ΠΎΡ‚ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄ΠΎ Π±Π΅Π»ΠΎΠ³ΠΎ), Π° ΠΊΠΎΠ³Π΄Π° пиксСлСй большС, ΠΏΠΈΠΊ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ яркости Π²Ρ‹ΡˆΠ΅.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

ЦвСтовая гистограмма изобраТСния прСдставляСт количСство пиксСлСй Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΊ красному, Π·Π΅Π»Π΅Π½ΠΎΠΌΡƒ ΠΈ синСму ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ изобраТСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ измСнСниям Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ баланса изобраТСния. Однако, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сначала прСобразуСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ пространство, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ пространство HSL / HSV, Ρ‚ΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ ΠΊ ΠΊΠ°Π½Π°Π»Ρƒ яркости ΠΈΠ»ΠΈ значСния Π±Π΅Π· измСнСния ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ° ΠΈ насыщСнности изобраТСния.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ гистограммы

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ гистограммы отличаСтся ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ выравнивания гистограммы Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вычисляСт нСсколько гистограмм, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ участку изобраТСния, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ… для пСрСраспрСдСлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ яркости изобраТСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ локального контраста ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ опрСдСлСния ΠΊΡ€Π°Π΅Π² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ области изобраТСния.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

ΠšΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅

Contrast Limited AHE (CLAHE) отличаСтся ΠΎΡ‚ эквалайзинга Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ гистограммы ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ контраста. Π’ случаС CLAHE ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ограничСния контраста примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ окрСстности, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выводится функция прСобразования. CLAHE Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для прСдотвращСния Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ усилСния ΡˆΡƒΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

F#, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ контраста изобраТСния ΠΏΡƒΡ‚Π΅ΠΌ выравнивания гистограмм

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ выравнивания гистограмм (ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ контраста) часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для увСличСния качСства изобраТСния. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно понятиС гистограммы, тСория Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для Π΅Π΅ выравнивания, практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Для облСгчСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenCV. Π’Π°ΠΊΠΆΠ΅, сдСлаСм ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ нашСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ встроСн Π² OpenCV.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Гистограмма прСдставляСт ΠΈΠ· сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ h(x), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ суммарноС количСство пиксСлСй, ΡΡ€ΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½Π° x.

Гистограмма h ΠΏΠΎΠ»ΡƒΡ‚ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния I задаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

, Π³Π΄Π΅ m соотвСтствуСт ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ яркости

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ псСвдокод для вычислСния гистограммы.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ гистограмма прСдставляСт ΠΈΠ· сСбя ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½Π° максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ яркости Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° исходном ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Для ΠΏΠΎΠ»ΡƒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ яркостСй Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΡ‚ 0 Π΄ΠΎ 255, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π° гистограммы Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 256. Высота гистограммы ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой, Π½ΠΎ для наглядности ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ гистограммами.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста, гистограмма β€” это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 256 (Π² нашСм случаС), Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС суммарноС количСство Ρ‚ΠΎΡ‡Π΅ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ гистограммы.

Рисунок 1. ГрафичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ гистограммы h(x)

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π—Π΄Π΅ΡΡŒ гистограмма ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Биняя линия β€” это функция распрСдСлСния cdf(x) ΠΈ ΠΎ Π½Π΅ΠΉ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenCV для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠΊΠ½Π°ΠΌΠΈ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡƒΠΆΠ΅ содСрТит Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для выравнивания гистограмм, Ρ‚Π΅ΠΌ интСрСснСС Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сравнСниС. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈΠ· F# ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ OpenCVSharp4.

Π—Π΄Π΅ΡΡŒ я Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ этот ΠΏΠΎΡ€Ρ‚ Π² Visual Studio, этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. БдСлаю Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Ρ€Π΅ΠΌΠ°Ρ€ΠΊΡƒ, Ρ‡Ρ‚ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ MacOS, послС компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» «runtimes/osx-x64/native/libOpenCvSharpExtern.dylib» Π² ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ ваш Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
Unable to load shared library ‘OpenCvSharpExtern’ or one of its dependencies

Π‘Ρ€Π°Π·Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ гистограмму

ВСрнСмся ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСния, упомянутой Π²Ρ‹ΡˆΠ΅. Она опрСдСляСтся ΠΊΠ°ΠΊ сумма ячССк гистограммы ΠΎΡ‚ нуля Π΄ΠΎ X

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Ѐункция распрСдСлСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠ΅ количСство пиксСлСй ΠΈΠΌΠ΅Π΅Ρ‚ яркости ΠΈΠ· ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° ΠΎΡ‚ нуля Π΄ΠΎ X. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° рисункС 1 (ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° синим Ρ†Π²Π΅Ρ‚ΠΎΠΌ).

Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΡƒΡŽ cdf(x)

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы

На рисункС 1 Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ функция распрСдСлСния распрСдСлСна Π½Π΅ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΠ½Π° Π±Π»ΠΈΠ·ΠΊΠ° Π² Π½ΡƒΠ»ΡŽ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹), ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ΄Π΅Ρ‚ нСбольшой рост ΠΈ Π² послСднСй Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΠΏΡΡ‚ΡŒ Ρ€Π΅Π·ΠΊΠΈΠΉ рост. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выравнивания гистограммы Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ распрСдСлСния Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° возрастала ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ всСм своСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½ΠΎΠΉ гистограммы ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° рисункС 2.

Рисунок 2. ВыровнСнная гистограмма

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π—Π΄Π΅ΡΡŒ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ выглядит гистограмма ΠΈ функция распрСдСлСния послС примСнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° выравнивания гистограммы.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΡ‡Π΅ΠΊ изобраТСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

здСсь
cdf(x) β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСния для Ρ‚ΠΎΡ‡ΠΊΠΈ с ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ X
cdf_min β€” МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСниС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ нуля
pixels β€” ΠžΠ±Ρ‰Π΅Π΅ количСство пиксСлСй Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ
255 β€” максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ яркости Ρ‚ΠΎΡ‡ΠΊΠΈ. Для ΠΏΠΎΠ»ΡƒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ это 255
round β€” функция округлСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ числа Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ значСния

Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½Ρ†ΠΈΡŽ F# для выравнивания гистограммы:

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π±Π΅Ρ€Π΅Ρ‚ исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π΅ гистограмму ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ распрСдСлСния. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ выравнивания гистограммы ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π΅ гистограмму. И для сравнСния, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ OpenCV для выравнивания гистограммы ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Рисунок 3. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… нашим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, встроСнным Π² OpenCV.

Π‘Π»Π΅Π²Π° располоТСно исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (гистограмма Π½ΠΈΠΆΠ΅), посСрСдинС β€” ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ нашим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΈ справа β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ OpenCV.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Подводим ΠΈΡ‚ΠΎΠ³ΠΈ

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, прСдставляя ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ рассказ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ рСализуСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ выравнивания гистограмм ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Основной Ρ†Π΅Π»ΡŒΡŽ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ привСсти ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ исходныС ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ самому, ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ гистограмм Π½Π΅ СдинствСнный, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Но это ΡƒΠΆΠ΅ Ρ‚Π΅ΠΌΠ° Π΄Ρ€ΡƒΠ³ΠΈΡ… выпусков.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π•

ΠžΠ±Π·ΠΎΡ€

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ контраст ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, особСнно ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прСдставлСно ΡƒΠ·ΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности. Благодаря этой настройкС ΠΌΠΎΠΆΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ интСнсивности Π½Π° гистограммС, Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ вСсь Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ интСнсивностСй. Π­Ρ‚ΠΎ позволяСт областям с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ контрастом ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высокий контраст. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого Π·Π° счСт эффСктивного распрСдСлСния часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для сниТСния контрастности изобраТСния.

Π’ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… исслСдованиях, Π³Π΄Π΅ пространствСнная коррСляция Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сигнала (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π”ΠΠš ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹), ΠΌΠ°Π»ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сигнал / ΡˆΡƒΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ затрудняСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ проСкция

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ проСкция (ΠΈΠ»ΠΈ Β«ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β») ΠΈΠ· histogrammed изобраТСния являСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ гистограммы ΠΊ исходному ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π² качСствС справочной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ яркости пиксСлСй.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ пиксСлСй, взятых ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ· всСх Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, функция ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки гистограммы Π² Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ значСниями пиксСлСй Π² этой Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния статистики Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… пиксСлСй ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, гистограмма ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

РСализация

которая Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ гистограммой изобраТСния.

Π¦Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

МалСнькоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

ПоказанноС 8-Π±ΠΈΡ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°Ρ… сСрого ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

5255615979617661
62595510494855971
6365661131441046372
6470701261541097169
677368106122886868
6879607077665875
6985645855616583
7087696865737890

Гистограмма для этого изобраТСния ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ЗначСния пиксСлСй с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ счСтом ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ для краткости.

Π¦Π΅Π½ΠΈΡ‚ΡŒΠ‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ¦Π΅Π½ΠΈΡ‚ΡŒΠ‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ¦Π΅Π½ΠΈΡ‚ΡŒΠ‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ¦Π΅Π½ΠΈΡ‚ΡŒΠ‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ¦Π΅Π½ΠΈΡ‚ΡŒΠ‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ
5216427218521131
5536537328711221
5826627518811261
5936717619011441
6016857719411541
6146937811042
6217047921061
6327128311091

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Π°Ρ функция распрСдСлСния (CDF), ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, значСния пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ cdf, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ для краткости.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² исходных Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… 0, Π΄ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ‚ 1 Π΄ΠΎ L-1 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π³Π΄Π΅ cdf (v)> 0. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ 1 Π΄ΠΎ 255 сохраняСт Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ минимального значСния.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° выравнивания для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ 0 Π΄ΠΎ 255 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ:

НапримСр, cdf 78 Ρ€Π°Π²Π½ΠΎ 46. (Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 78 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ строкС 7-Π³ΠΎ столбца.) НормализованноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ становится

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ сдСлано, значСния ΡƒΡ€Π°Π²Π½ΠΎΠ²Π΅ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ изобраТСния бСрутся нСпосрСдствСнно ΠΈΠ· Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ cdf для получСния ΡƒΡ€Π°Π²Π½ΠΎΠ²Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

01253321905317453
57 Π³ΠΎΠ΄321222721920232154
65859323925122765158
73146146247255235154130
97166117231243210117117
117190361461789320170
1302027320125385194
14620613011785166182215

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (52) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π²Π½ΠΎ 0, Π° максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (154) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π²Π½ΠΎ 255.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РусскиС Π‘Π»ΠΎΠ³ΠΈ

[OpenCV-Python] Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы OpenCV

ΠŸΠ΅Ρ€Π΅ΡΠΊΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния ΠΈΠ»ΠΈ изобраТСния с Π·Π°Π΄Π½Π΅ΠΉ подсвСткой ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для увСличСния локального ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ контраста Π·Π° счСт выравнивания гистограммы.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Гистограмма

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ гистограмма? Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ гистограммС ΠΊΠ°ΠΊ ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС ΠΎ распрСдСлСнии яркости изобраТСния. Π­Ρ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊ со значСниями пиксСлСй (ΠΎΡ‚ 0 Π΄ΠΎ 255, Π½Π΅ всСгда) ΠΏΠΎ оси x ΠΈ количСством пиксСлСй, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, ΠΏΠΎ оси y.

Π­Ρ‚ΠΎ просто Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ понимания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Наблюдая Π·Π° гистограммой изобраТСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ контраст, ΡΡ€ΠΊΠΎΡΡ‚ΡŒ ΠΈ распрСдСлСниС яркости изобраТСния. БСгодня ΠΏΠΎΡ‡Ρ‚ΠΈ всС инструмСнты ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° гистограммС. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·Cambridge in Color websiteДля получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ рСкомСндуСтся ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ этот Π²Π΅Π±-сайт.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ гистограмму. (Π­Ρ‚Π° гистограмма построСна с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² градациях сСрого, Π° Π½Π΅ с Ρ†Π²Π΅Ρ‚Π½Ρ‹ΠΌ). ЛСвая Ρ‡Π°ΡΡ‚ΡŒ гистограммы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство Π±ΠΎΠ»Π΅Π΅ Ρ‚Π΅ΠΌΠ½Ρ‹Ρ… пиксСлСй Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π° правая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ яркиС пиксСли. Из гистограммы Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ количСство пиксСлСй Π² Ρ‚Π΅ΠΌΠ½Ρ‹Ρ… областях большС, Ρ‡Π΅ΠΌ Π² свСтлых, Π° количСство срСдних Ρ‚ΠΎΠ½ΠΎΠ² (ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 127) Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС.

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹, связанныС с гистограммой

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ гистограмма, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ. И OpenCV, ΠΈ Numpy ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ использованиСм этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, связанныС с гистограммами.

RANGE

Π”Π˜ΠΠŸΠΠ—ΠžΠ: это Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это [0,256], Ρ‚.Π΅. всС значСния интСнсивности.

РасчСт гистограммы Π² OpenCV

OpenCV прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cv.calcHist () для получСния гистограммы. Π”Π°Π²Π°ΠΉΡ‚Π΅ познакомимся с этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

images: это исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° uint8 ΠΈΠ»ΠΈ float32. Π•Π³ΠΎ слСдуСт Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Β«[img]Β».

ΠΊΠ°Π½Π°Π»Ρ‹: ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π­Ρ‚ΠΎ индСкс ΠΊΠ°Π½Π°Π»Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ вычисляСм гистограмму. НапримСр, Ссли Π²Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² градациях сСрого, Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 0. Для Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 0, 1 ΠΈΠ»ΠΈ 2 для расчСта гистограммы синСго, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ красного ΠΊΠ°Π½Π°Π»Π° соотвСтствСнно.

маска: маска изобраТСния. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ гистограмму всСго изобраТСния, ΠΎΠ½Π° обозначаСтся ΠΊΠ°ΠΊ «НСт». Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ гистограмму ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области изобраТСния, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π΅ маску ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ маску.

histSize: это количСство Π½Π°ΡˆΠΈΡ… BINS. Для обозначСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π’ΠΎ всСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΌΡ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ 256.

Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹: Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ [0,256]

НачнСм с ΠΎΠ±Ρ€Π°Π·Ρ†Π° изобраТСния. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ² сСрого ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡƒΡŽ гистограмму.

hist прСдставляСт собой массив 256×1, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ пиксСля Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ пиксСля.

РасчСт гистограммы Π² Numpy

Numpy прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ np.histogram () для статистики гистограмм ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

a: массив для подсчСта

Π±ΠΈΠ½Ρ‹: ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ количСство статистичСских ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±Π°Π»Π»ΠΎΠ², Ρ€Π°Π²Π½Ρ‹Ρ… статистичСскому Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ.

normed: ΠΊΠΎΠ³Π΄Π° Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π΄Π°Π½Π½Ρ‹Ρ… Π² массивС a Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС число нормализуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π²Π½Ρ‹ΠΌ плотности вСроятности ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°.

weights: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ weights Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ bincount ()

Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… значСния,

hist: hist Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ вычислСнии, статистичСский Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°.

bins: Массив, хранящий Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ статистичСского ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°. Когда Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ€Π°Π²Π΅Π½ [0,256], ячСйки содСрТат 257. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Numpy вычисляСт ячСйки ΠΊΠ°ΠΊ 0-0,99, 1-1,99 ΠΈ Ρ‚. Π”., ПослСдний ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π²Π΅Π½ 255-255,99. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ это, ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ 256 Π² ΠΊΠΎΠ½Π΅Ρ† ящиков. Но Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ 256. Достаточно Π΄ΠΎ 255.

НачнСм с ΠΎΠ±Ρ€Π°Π·Ρ†Π° изобраТСния. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ² сСрого ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡƒΡŽ гистограмму.

Π£ Numpy Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° функция, np.bincount (), которая Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 10 Ρ€Π°Π·), Ρ‡Π΅ΠΌ np.histograme (). Для ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ гистограммы Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ minlength = 256 Π² np.bincount. НапримСр, hist = np.bincount (img.ravel (), minlength = 256)

Ѐункция OpenCV быстрСС, Ρ‡Π΅ΠΌ np.histogram () (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 40 Ρ€Π°Π·). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OpenCV, ΠΊΠΎΠ³Π΄Π° рассматриваСтС ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

НарисуйтС гистограмму

1. ИспользованиС Matplotlib

Π’ Matplotlib Π΅ΡΡ‚ΡŒ функция для рисования гистограмм:

Он нСпосрСдствСнно нашСл гистограмму ΠΈ построил Π΅Π΅. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ calcHist () ΠΈΠ»ΠΈ np.histogram () для поиска гистограммы. ВзглянитС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ matplotlib plot для рисования гистограмм, которая ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для рисования гистограмм ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ BGR. Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала Π½Π°ΠΉΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ гистограммы. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅, Ρƒ синСго Ρ†Π²Π΅Ρ‚Π° Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ области высокого значСния Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ (ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ связано с Π½Π΅Π±ΠΎΠΌ).

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ OpenCV

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ гистограммы ΠΈ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° выглядСла ΠΊΠ°ΠΊ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ y, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cv.line () ΠΈΠ»ΠΈ cv.polyline (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π΅ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† OpenCV-Python2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ sampl / python / hist.py.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ маску

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cv.calcHist (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ гистограмму ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹. Но ΠΊΠ°ΠΊ насчСт гистограммы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ части изобраТСния? Π’ области, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ, создайтС замаскированноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ маску.

Биняя линия прСдставляСт собой гистограмму ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ изобраТСния.
ЗСлСная линия прСдставляСт гистограмму послС маски.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы

Рассмотрим ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, значСния пиксСлСй ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, Π±ΠΎΠ»Π΅Π΅ яркоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ всС пиксСли высокими значСниями. Но Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ пиксСли ΠΈΠ· всСх областСй изобраТСния. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ эту гистограмму Π² ΠΎΠ±Π° ΠΊΠΎΠ½Ρ†Π° (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅), это функция выравнивания гистограммы (простыми словами). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ контраст изобраТСния.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

РСкомСндуСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ страницу Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΎ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠΈ гистограмм.Histogram EqualizationΠ§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом большС. Он Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ объяснСниС ΠΈ Π΄Π°Π΅Ρ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ всС ΠΏΠΎΠ½ΡΡ‚ΡŒ послС Π΅Π³ΠΎ прочтСния. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Numpy. ПослС этого ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OpenCV.

Алгоритм выравнивания гистограммы

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ отобраТСния f (I), ΠΈ гистограмма послС отобраТСния Π±ΡƒΠ΄Π΅Ρ‚ плоской. ΠœΠ΅Ρ‚ΠΎΠ΄ нахоТдСния этого отобраТСния Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСния плотности вСроятности, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сначала вычисляСтся кумулятивная функция распрСдСлСния,

Π˜ΡΡ…ΠΎΠ΄Π½ΡƒΡŽ гистограмму h (I) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ распрСдСлСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² класса послС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экзамСна. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ студСнтов, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сопоставлСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ студСнты с ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ 75% ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π±Ρ€Π°Π»ΠΈ большС, Ρ‡Π΅ΠΌ 3/4 учащихся Π² классС? ΠžΡ‚Π²Π΅Ρ‚ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ распрСдСлСния c (I) ΠΈΠ· распрСдСлСния h (I)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ кумулятивной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ распрСдСлСния (CDF): для Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сумма вСроятностСй появлСния всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Ρ‹Ρ… a. F (Π°) = Π  (Ρ…

Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ рСкомСндация

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

URL-Ρ‚ΡƒΡ€

URL-Ρ‚ΡƒΡ€ Π’ΠΎ всСм процСссС ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ процСссы. DNS-Π°Π½Π°Π»ΠΈΠ· Π΄ΠΎΠΌΠ΅Π½Π° TCP соСдинСниС HTTP-запрос Запрос процСссов Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ HTTP Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ страницы Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ соСдинС.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Руководство ΠΏΠΎ ΠΎΠ±Π·ΠΎΡ€Ρƒ ΠΊΠΎΠ΄Π° Π½Π° основС GitLab

Luo Valley P3809 (вопросы массива суффикса)

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

phpMyAdmin сообщаСт ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС

[Π€Π΅Π½ΠΎΠΌΠ΅Π½]: phpMyAdmin сообщаСт ΠΎ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ошибкС: нСобучСнная ошибка: Π²Ρ‹Π·ΠΎΠ² Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mb_detect_encoding () [Анализ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹]: На этой домашнСй страницС слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π»ΠΈ Π±ΠΈΠ±Π»ΠΈ.

Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ локальноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π‘Π»ΡƒΠΌΠ°?

НаТмитС Π²Ρ‹ΡˆΠ΅Π‘ΠΈΠ½Π΅Π΅ ΡΠ»ΠΎΠ²ΠΎΠ£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π²Π΅Π·Π΄Ρƒ НачнСм сСгодняшнСС исслСдованиС

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *