Гистограмма изобраТСния: Гистограмма изобраТСния—ArcGIS Pro | ДокумСнтация

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Гистограмма изобраТСния—ArcGIS Pro | ДокумСнтация

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ

Для гистограммы изобраТСния Π½ΡƒΠΆΠ½Π° ΠΎΠ΄Π½Π° нСпрСрывная Числовая пСрСмСнная ΠΏΠΎ оси x, состоящая ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пиксСлов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° изобраТСния.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

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

ЛогарифмичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

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

НапримСр, распрСдСлСниС со смСщСниСм Π² ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ сторону Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ слСва трансформировано Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС с использованиСм логарифмичСского прСобразования Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ справа:

ЛогарифмичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ значСниям большС нуля.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ значСниям большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΠ½ΠΎΠ²

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ соотвСтствуСт ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΡ€Π½ΡŽ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства записСй Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Числа Π±ΠΈΠ½ΠΎΠ² Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π”Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠ°. ИзмСнСниС количСства столбцов ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ структуру Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Бтатистика

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

Π’Π°Π±Π»ΠΈΡ†Π° Бтатистика, которая отобраТаСтся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ Бвойства Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ статистику для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ числового поля:

  • Π‘Ρ€Π΅Π΄Π½Π΅Π΅
  • МСдиана
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅
  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ
  • ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ
  • Π‘ΡƒΠΌΠΌΠ°
  • ЗначСния NULL
  • АсиммСтрия
  • ЭксцСсс

Если Π½Π° слоС источникС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ имССтся Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ статистики Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ столбСц со статистикой ΠΏΠΎ всСму Π½Π°Π±ΠΎΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со статистикой Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°.

Если слой источник Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ являСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ тСматичСских ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ с полями ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Число Value, число ячССк для Π‘ΡƒΠΌΠΌΡ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ присутствовали вычислСния Π‘ΡƒΠΌΠΌΡ‹ для числа ячССк, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ число ячССк.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ статистики ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ элСмСнты управлСния для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° гистограммС Π»ΠΈΠ½ΠΈΠΉ срСднСго, ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ‹ ΠΈ стандартного отклонСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ для измСнСния ΠΈΡ… Ρ†Π²Π΅Ρ‚Π°.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ статистики ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку ΠΈΠ»ΠΈ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ статистику ΠΈΠ· Бвойств Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ прилоТСния.

Оси

Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ оси Y

Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ оси Y ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ оси Y. Π­Ρ‚ΠΈ значСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ввСдя Π½ΡƒΠΆΠ½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ значСния ΠΏΠΎ оси. Настройки Π³Ρ€Π°Π½ΠΈΡ† оси ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для сохранСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° согласованности Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ для сравнСния. Π©Π΅Π»Ρ‡ΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ сброса Π²Π΅Ρ€Π½Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ значСния оси ΠΊ настройкам ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Числовой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

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

ΠΠ°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅

ΠΠ°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ для ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ способ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ваТнСйшиС значСния. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΠ°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Бвойства Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ значСния. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ тСкст, ΡƒΠΊΠ°Π·Π°Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Надпись.

ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ описаниС

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

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ становится доступной контСкстная Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, которая позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. К ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ форматирования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ относятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ†Π²Π΅Ρ‚Π° ΠΈ стиля ΡˆΡ€ΠΈΡ„Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² осСй, надписСй осСй, тСкста описания ΠΈ тСкста Π»Π΅Π³Π΅Π½Π΄Ρ‹
  • ИзмСнСниС Ρ†Π²Π΅Ρ‚Π°, ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Ρ‚ΠΈΠΏΠ° Π»ΠΈΠ½ΠΈΠΉ сСтки ΠΈ осСй
  • ИзмСнСниС Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ внСшний Π²ΠΈΠ΄ вашСго Π³Ρ€Π°Ρ„ΠΈΠΊΠ° гистограммы, см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ИзмСнСниС внСшнСго Π²ΠΈΠ΄Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

БвязанныС Ρ€Π°Π·Π΄Π΅Π»Ρ‹

ΠžΡ‚Π·Ρ‹Π² ΠΏΠΎ этому Ρ€Π°Π·Π΄Π΅Π»Ρƒ?

Гистограммы ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Skimage-Python

Β  ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Β  Бсылка Π½Π° Π°Π²Ρ‚ΠΎΡ€Π°

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

  • ВоздСйствиС
  • ΠšΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚
  • ДинамичСский Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
  • насыщСниС

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

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ хранятся Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пиксСлСй, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пиксСлСй прСдставляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ интСнсивности Ρ†Π²Π΅Ρ‚Π°. Гистограммы — это частотноС распрСдСлСниС этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

h(i) = the number of pixels in I(image) with the intensity value i

НапримСр, Ссли i = 0, h (0) — это количСство пиксСлСй со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² градациях сСрого

from skimage import io
import matplotlib.pyplot as pltimage = io.imread('~/Desktop/Lenna_gray.png')ax = plt.hist(image. ravel(), bins = 256)
plt.show()Output: Figure-1
Рисунок 1

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Lenna Π² ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°Ρ… сСрого ΠΈ сгСнСрировали Π΅Π³ΠΎ гистограмму с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ matplotlib. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ хранится Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ упорядочСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ravel ().

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

Π’ Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… изобраТСниях Ρƒ нас Π΅ΡΡ‚ΡŒ 3 Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Π½Π°Π»Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… RGB. Π’ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ гистограммС счСтчик интСнсивности прСдставляСт собой сумму всСх Ρ‚Ρ€Π΅Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ².

h(i) = h_red(i) + h_green(i) + h_blue(i)
from skimage import io
import matplotlib.pyplot as pltimage = io.imread('~/Desktop/Lenna.png')
_ = plt.hist(image.ravel(), bins = 256, color = 'orange', )_ = plt.hist(image[:, :, 0].ravel(), bins = 256, color = 'red', alpha = 0.5)_ = plt.hist(image[:, :, 1].ravel(), bins = 256, color = 'Green', alpha = 0.5)_ = plt.hist(image[:, :, 2].ravel(), bins = 256, color = 'Blue', alpha = 0. 5)_ = plt.xlabel('Intensity Value')
_ = plt.ylabel('Count')
_ = plt.legend(['Total', 'Red_Channel', 'Green_Channel', 'Blue_Channel'])
plt.show()Output: Figure-2
Π€ΠΈΠ³ΡƒΡ€Π° 2

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ составляСт ΠΎΡ‚ [0–255] Π² 8-Π±ΠΈΡ‚Π½ΠΎΠΌ прСдставлСнии (2⁸). Но изобраТСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 2¹⁢, 2Β³Β² Π±ΠΈΡ‚ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ интСнсивности высок, ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ интСнсивности Π² гистограммС.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ binning для прСодолСния Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΊΠ²Π°Π½Ρ‚ΡƒΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² нСсколько сСгмСнтов. НапримСр,

if we quantize 0-255 into 8 bins, here our bins will be
0-31, 32-63, 64-95, 96-127, 128-159, 160-191, 192-223, 224-255

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ способ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ интСнсивности Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто Ρ€Π΅ΡˆΠΈΡ‚ΡŒ это,

k = 256 #number of possible integer values in 8 bit representation
b = 8 #number of binsj = floor( (h(i)*b)/k )#j is the bin number of the intensity value at position i

Π΄Π°Π²Π°ΠΉΡ‚Π΅ снова построим гистограмму изобраТСния Π›Π΅Π½Π½Ρ‹ Π² ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°Ρ… сСрого, Π½ΠΎ Π½Π° этот Ρ€Π°Π· с 8 ячСйками,

from skimage import io
import matplotlib.
pyplot as pltimage = io.imread('~/Desktop/Lenna_gray.png')_ = plt.hist(image.ravel(), bins = 8 )
_ = plt.xlabel('Intensity Value')
_ = plt.ylabel('Count')
plt.show()Output: Figure-3
Рис-3

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ гистограмма — это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ гистограмма, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΈΠ· Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ гистограммы. ΠœΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ отсчСты ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния интСнсивности ΠΎΡ‚ 0 Π΄ΠΎ 255, Π° Π·Π°Ρ‚Π΅ΠΌ добавляСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ отсчСт,

if i = 0 then H(i) = h(0)
else H(i) = H(i-1) + h(0)

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ гистограммы ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограмм ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

from skimage import io
import matplotlib.pyplot as pltimage = io.imread('~/Desktop/Lenna_gray.png')_ = plt.hist(image.ravel(), bins = 256, cumulative = True)
_ = plt.xlabel('Intensity Value')
_ = plt.ylabel('Count')
plt.show()Output: Figure-4
Рисунок-4

НадСюсь, Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ гистограмма ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ гистограммы с использованиСм скимадТа.

Π”Π°Π²Π°ΠΉΡ‚Π΅ встрСтимся снова, ΠΈ я расскаТу Π²Π°ΠΌ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях использования гистограмм Π² Image Processing.

гистограмма изобраТСния | НаучныС ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ изобраТСния

Гистограмма изобраТСния являСтся графичСским прСдставлСниСм количСства пиксСлСй Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡ… интСнсивности.

Гистограммы состоят ΠΈΠ· Π±ΠΈΠ½ΠΎΠ² , ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΠ½ прСдставляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности. Гистограмма вычисляСтся ΠΏΡƒΡ‚Π΅ΠΌ изучСния всСх пиксСлСй изобраТСния ΠΈ присвоСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π±ΠΈΠ½Ρƒ Π² зависимости ΠΎΡ‚ интСнсивности пиксСлСй. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π° β€” это количСство Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ пиксСлСй. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΠ½ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСлится вСсь Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ интСнсивности, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ порядка ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΈΠ· числа пиксСлСй.

Гистограммы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сСрого. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ отсСчСниС ΠΈ ΡˆΡƒΠΌ квантования Π² значСниях изобраТСния.

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

Π Π°ΡΡˆΠΈΡ€ΡΡ эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ гистограммы Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прСдставлСния Π΄Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… гистограмм ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅.

Гистограмма Π² мастСрС Essential

Гистограмма изобраТСния вычисляСтся ΠΈ отобраТаСтся Π² Huygens Essential Π² процСссС Π΄Π΅ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΈ. Π­Ρ‚Π°ΠΏ гистограммы Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π²ΠΎ врСмя записи изобраТСния. Π­Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ процСсса Π΄Π΅ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΈ.

Π‘ΠΌ. Β«ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ гистограммы изобраТСния» Π² Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ Essential Deconvolution для получСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… совСтов ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ.

РасчСт гистограммы изобраТСния

Π’ Huygens Professional Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов:

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρƒ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Huygens. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «Гистограмма изобраТСния» Π² мСню Β«ΠŸΡ€Π°Π²ΠΊΠ°Β» (ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Alt+G ). Гистограмма Π±ΡƒΠ΄Π΅Ρ‚ рассчитана с использованиСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΌΠ°Π»Π΅Π½ΡŒΠΊΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ с надписью O справа ΠΎΡ‚ эскиза изобраТСния. Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ гистограмму Π² АнализС. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ ΠΈ Ρ€Π΅ΠΆΠΈΠΌ прСдставлСния.
  3. Tcl-ΠΊΠΎΠΌΠ°Π½Π΄Π°, ввСдСнная нСпосрСдствСнно Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Tcl Π² Π“Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅.:
 история yourImageName 

для значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 yourImageName hist -vAxis lin -perc 25 -tclReturn 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ось находится Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ логарифмичСский ΠΈΠ»ΠΈ сигмовидный), ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ Ρ€Π°Π²Π΅Π½ 25%. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ tclReturn ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ запускС скрипта Tcl Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° для дальнСйшСй ΠΎΡ†Π΅Π½ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ числовыС значСния гистограммы.

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΈΠΆΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ встрСчаСтся Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ кумулятивной частотой. НСкоторыС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 50-Π³ΠΎ процСнтиля ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° наблюдСний мСньшС этого значСния (Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° большС), Ρ‡Ρ‚ΠΎ являСтся просто Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ для ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ‹ . Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ процСнтилями ΡΠ²Π»ΡΡŽΡ‚ΡΡ 5-ΠΉ ΠΈ 95-ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΠΈ, ΠΎΠ±Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ 90-ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ 90% всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ лоТь.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ гистограммы

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ гистограммы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ эскиза Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Huygens Professional. ΠœΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π° Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ…. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ срСдствС просмотра Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ доступ ΠΊ числовому Π°Π½Π°Π»ΠΈΠ·Ρƒ Π½Π° основС пиксСлСй.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ гистограммы Π² тСкстовой строкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -exportData Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ гистограммы (ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Tcl Π² Pro ΠΈΠ»ΠΈ Scripting).

Π‘ΠΌ. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ гистограмм ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ… примСнСния Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…:

  • Π’Ρ‹Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ изобраТСния
  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ
  • Π”Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ гистограммы
  • Π’Π΅ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΎΠΏΡ‹Ρ‚Π° PSF

Гистограммы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² OpenCV. ПониманиС гистограмм изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽβ€¦ | by Raghunath D

ПониманиС гистограмм ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с использованиСм OpenCV

Гистограмма β€” ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ графичСскоС прСдставлСниС распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ…. 9Гистограмма изобраТСния 0003 Π΄Π°Π΅Ρ‚ графичСскоС прСдставлСниС распрСдСлСния интСнсивностСй пиксСлСй Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

Ось X ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная. Π­Ρ‚ΠΎΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ряд ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ . Ось Y ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… Π² этот ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

  • ΠŸΡ€ΠΈ построСнии гистограммы Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ пиксСлСй ΠΏΠΎ оси X ΠΈ частота ΠΏΠΎ оси Y. Как ΠΈ для любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ гистограммы, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, сколько Π±ΠΈΠ½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Гистограмму ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ для ΠΏΠΎΠ»ΡƒΡ‚ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния, Ρ‚Π°ΠΊ ΠΈ для Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ изобраТСния. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π», ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄Π½Π° гистограмма. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Ρƒ нас Π΅ΡΡ‚ΡŒ 3 ΠΊΠ°Π½Π°Π»Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, 3 гистограммы.

ВычислСниС гистограммы изобраТСния ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… свойствах изобраТСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ , ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ .

β†’ Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ гистограммы ΠΊΠ°Π½Π°Π»Π° Hue.

На гистограммС изобраТСния ось x прСдставляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ значСния Ρ†Π²Π΅Ρ‚Π°, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 255, Π° ось y прСдставляСт количСство Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ интСнсивности появляСтся Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

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

OpenCV прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cv2. calcHist для расчСта гистограммы изобраТСния. Подпись ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

 cv2.calcHist(изобраТСния, ΠΊΠ°Π½Π°Π»Ρ‹, маска, Π±ΠΈΠ½Ρ‹, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹) 

Π³Π΄Π΅:
1. ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ гистограммС Π² Π²ΠΈΠ΄Π΅ списка, поэтому, Ссли нашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ находится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ image , ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ [image] ,
2. ΠΊΠ°Π½Π°Π»ΠΎΠ² — это индСкс ΠΊΠ°Π½Π°Π»ΠΎΠ² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΊΠ°ΠΊ список ( [0] для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² градациях сСрого, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» ΠΈ [0] , [1] ΠΈΠ»ΠΈ [2] для Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, синий ΠΈΠ»ΠΈ красный соотвСтствСнно),
3. маска — это маска, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это Π² этом постС),
4. Π±ΠΈΠ½ΠΎΠ² — это список, содСрТащий количСство Π±ΠΈΠ½ΠΎΠ² для использования для ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»,
5. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² — это Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ составляСт [0, 256] Π² случаС Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ пространства RGB (Π³Π΄Π΅ 256 Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ).

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ hist прСдставляСт собой numpy.ndarray с Ρ„ΠΎΡ€ΠΌΠΎΠΉ (n_bins, 1) , Π³Π΄Π΅ hist[i][0] β€” количСство пиксСлСй, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ интСнсивности Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ Π΄ΠΎ -Π³ΠΎ Π±ΠΈΠ½Π°.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ этот интСрфСйс, ΠΎΠ±Π΅Ρ€Π½ΡƒΠ² Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, которая Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вычисляСт гистограмму, Π½ΠΎ ΠΈ рисуСт Π΅Π΅ (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ собираСмся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ количСство Π±ΠΈΠ½ΠΎΠ² Π΄ΠΎ 256 ):

 import cv2 
from matplotlib ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ pyplot ΠΊΠ°ΠΊ plt

def draw_image_histogram (ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°Π½Π°Π»Ρ‹, Ρ†Π²Π΅Ρ‚ = 'k'):
hist = cv2.calcHist ([ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅], ΠΊΠ°Π½Π°Π»Ρ‹, Π½Π΅Ρ‚, [256], [0, 256])
plt.plot(hist, color=color)
plt.xlim([0, 256])

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° гистограммы этих Ρ‚Ρ€Π΅Ρ… ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ гистограммы для ΠΏΠΎΠ»ΡƒΡ‚ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния.

 import cv2 
import matplotlib.pyplot as pltimage = cv2.imread('dark-tones.jpg')gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)histogram = cv2.calcHist([gray_image], [0], None, [256], [0, 256])
plt.plot(histogram, color='k')
plt.show()

Если ΠΌΡ‹ построим гистограмму для всСх ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΈΠ΅ гистограммы :

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ эти Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ посмотрим, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½ΠΈΡ….

  1. Из ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ всС пиксСли ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΎΠ½ΠΈ находятся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [0, 60] .
  2. Из Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ распрСдСлСниС интСнсивности пиксСлСй ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ скошСно ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π΅ΠΌΠ½ΠΎΠΉ сторонС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ составляСт ΠΎΠΊΠΎΠ»ΠΎ 80 , Π½ΠΎ диспСрсия Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС.
  3. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ· послСднСго ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ свСтлСС, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Ρ‚Π΅ΠΌΠ½Ρ‹Ρ… областСй.

Π’ΠΎΡ‚ изобраТСния Π² градациях сСрого с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ гистограммами:

ЦвСтовая гистограмма

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ гистограммам Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

 import cv2 
import matplotlib.pyplot as pltimage = cv2.imread('dark-tones.jpg') for i, col in enumerate(['b', 'g', 'r']):
hist = cv2 .calcHist([ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅], [i], Π½Π΅Ρ‚, [256], [0, 256])
plt.plot(hist, color = col)
plt.xlim([0, 256])

plt.show()

Если ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ гистограммы:

Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ находятся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

  1. Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Π΅ΠΌΠ½ΠΎΠΌΡƒ красному, Π·Π΅Π»Π΅Π½ΠΎΠΌΡƒ ΠΈ синСму. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ задаСтся (0, 0, 0) Π² RGB, присутствуСт Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π² ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠΈ, ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ всС ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΈΠΊΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части оси X. . Π’ любом случаС, это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ†Π΅Π½Π΅Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚ΠΈΠΏΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, учитывая, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ рисуСм Ρ‚Ρ€ΠΈ ΠΊΠ°Π½Π°Π»Π° нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ПозТС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ распрСдСлСниС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ гистограммы .
  2. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠ½ΠΎ-красный ΠΏΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ скалам ΠΈ Π³ΠΎΡ€Π°ΠΌ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ ΠΈ синий ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  3. Из послСднСго Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ссли ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΈΠΊΠΈ всСх ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [0, 30] , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. ВсС Ρ‚Ρ€ΠΈ ΠΊΠ°Π½Π°Π»Π° ΠΈΠΌΠ΅ΡŽΡ‚ высокиС интСнсивности ΠΈ Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ (255, 255, 255) Π² RGB соотвСтствуСт Π±Π΅Π»ΠΎΠΌΡƒ Ρ†Π²Π΅Ρ‚Ρƒ, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π° гистограммС Ρ‚Π°ΠΊΠΎΠ΅ распрСдСлСниС.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ гистограммами:

ΠŸΡ€ΠΎΡ†Π΅ΡΡ выравнивания гистограммы прСдставляСт собой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ изобраТСния для настройки контраста изобраТСния ΠΏΡƒΡ‚Π΅ΠΌ измСнСния гистограммы изобраТСния.

Π˜Π½Ρ‚ΡƒΠΈΡ†ΠΈΡ, стоящая Π·Π° этим процСссом, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ гистограммы с большими ΠΏΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ изобраТСниям с Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ, Π³Π΄Π΅ Ρ„ΠΎΠ½ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ Π»ΠΈΠ±ΠΎ Ρ‚Π΅ΠΌΠ½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ ΠΎΠ±Π° свСтлыС. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы растягиваСт ΠΏΠΈΠΊ ΠΏΠΎ всСму Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ контрастности изобраТСния.

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

OpenCV прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cv2.equalizeHist для выравнивания гистограммы изобраТСния. Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

 cv2.equalizeHist(image) 

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² градациях сСрого:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² градациях сСрого ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π’ΠΎΡ‚ ΠΊΠΎΠ΄:

 def show_grayscale_equalized(image): 
grayscale_image = cv2. cvtColor(image, cv2.COLOR_BGR2GRAY)
eq_grayscale_image = cv2.equalizeHist(grayscale_image)
plt.imshow(eq_grayscalepl_image()) 9t.3show, cmap=0grayscale

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы для Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

Π‘Π°ΠΌΡ‹ΠΉ Π½Π°ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ процСсс ΠΊΠΎ всСм Ρ‚Ρ€Π΅ΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ RGB ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… вмСстС. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот процСсс измСняСт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС Ρ†Π²Π΅Ρ‚Π° ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π΅Π·ΠΊΠΈΠΌ измСнСниям Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ баланса изобраТСния.

 def show_rgb_equalized(ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅): 
ΠΊΠ°Π½Π°Π»ΠΎΠ² = cv2.split(ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)
eq_channels = []
для ch, color in zip(channels, ['B', 'G', 'R']):
eq_channels. append(cv2.equalizeHist(ch))

eq_image = cv2.merge(eq_channels)
eq_image = cv2.cvtColor(eq_image, cv2.COLOR_BGR2RGB)
plt.imshow(eq_image)
plt.show()

5

5 ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
 import cv2 
import matplotlib.pyplot as pltimage = cv2. imread('dark-tones.jpg')###############
# Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммыchannels = cv2.split(image)eq_channels = []
для ch, Ρ†Π²Π΅Ρ‚ Π² zip(ΠΊΠ°Π½Π°Π»Ρ‹, ['B', 'G', 'R']):
eq_channels.append(cv2.equalizeHist(ch))eq_image = cv2.merge(eq_channels)cv2.namedWindow(" Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅", cv2.WINDOW_AUTOSIZE)
cv2.namedWindow("Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅", cv2.WINDOW_AUTOSIZE)cv2.imshow("Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅", ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)
cv2.imshow("Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅", eq_image)cv2.waitKey()
cv2 .destroyAllWindows()############
# Π“Ρ€Π°Ρ„ΠΈΠΊ гистограммы для Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½ΠΎΠ³ΠΎ изобраТСния# show Histogram
channels = ('b', 'g', 'r')# Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ раздСляСм Ρ†Π²Π΅Ρ‚Π° ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π² гистограммС
для i, Ρ†Π²Π΅Ρ‚ Π² enumerate(channels):
histogram = cv2.calcHist([eq_image], [i], None, [256], [0, 256])
plt.plot(histogram, color=color)
plt.xlim([0, 256])plt.show()

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ сначала ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ пространство HSV , Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ гистограммы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΊΠ°Π½Π°Π»Ρƒ яркости ΠΈΠ»ΠΈ значСния, оставив ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ ΠΈ Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ изобраТСния Π½Π΅ измСнилась.

alexxlab

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

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