Python을 사용한 이미지 향상 : 히스토그램 이퀄라이제이션 튜토리얼
흐릿하고 품질이 낮은 이미지에 실망한 적이 있습니까? 이 이미지를 향상시켜 선명한 세부 사항과 명확성을 향상 시킨다고 상상해보십시오. 이 튜토리얼은 파이썬과 히스토그램 이퀄라이제이션의 힘을 사용하여이를 달성하는 방법을 보여줍니다.
히스토그램 이퀄라이제이션은 이미지 대비를 크게 향상시키는 기술입니다. 그것은 거의 모든 카메라 시스템에서 이미지 품질을 향상시키기 위해 사용되는 기본 프로세스이며,이 자습서가 끝날 무렵 그 이유를 이해할 것입니다.
우리는 히스토그램과 히스토그램 이퀄라이제이션, 이미지에 영향을 미치는 방법을 탐색 한 다음 Python에서 기술을 구현할 것입니다. 시작하자!
이미지 히스토그램 이해
히스토그램은 시각적으로 수치 데이터의 분포를 나타냅니다. x 축에는 데이터 범위 (빈)이 표시되고 y 축에는 각 빈 내의 값 빈도가 표시됩니다.
이미지 처리에서 각 픽셀에는 색상과 강도가 있습니다. 색상은 일반적으로 빨간색, 녹색 및 파란색 (RGB) 채널 값으로 표시되며 0 (색상 없음)에서 255 (풀 컬러) 범위입니다. 컬러 채널의 히스토그램은 해당 채널의 각 강도 값 (0-255)의 주파수를 보여줍니다. 그레이 스케일 이미지는 각 픽셀마다 RGB 값이 동일하기 때문에 단일 히스토그램이 있습니다.
히스토그램이 좁은 강도 범위에 집중된 이미지는 종종 명확성과 세부 사항이 부족합니다. 균형 잡힌 이미지는 강도의 더 넓고 고른 분포를 나타냅니다.
히스토그램 이퀄라이제이션 란 무엇입니까?
히스토그램 평등은 이미지의 히스토그램을 확장하여 전체 강도 범위를 활용합니다. 이는 어두운 영역과 가벼운 영역을 모두 포함하도록 강도 값을 확산시켜 대비가 높아지고 세부적인 가시성이 향상됩니다. 표준 사진에 항상 이상적이지는 않지만 위성 또는 열 이미징과 같은 세부 사항이 향상된 응용 분야에서는 매우 중요합니다.
우리는 예를 들어 그레이 스케일 원숭이 이미지 (대비 감소)를 사용할 것입니다 : .
픽셀 강도 액세스
Python 및 OpenCV를 사용하여 픽셀 강도 값에 액세스하는 방법을 살펴 보겠습니다.
이 코드는 이미지를 읽고 차원을 결정하며 픽셀 값의 샘플을 인쇄합니다. OpenCV는 bgr (파란색, 녹색, 빨간색) 순서를 사용하므로 각 채널에 대해 113의 강도를 나타냅니다.
히스토그램 평등은 이러한 픽셀 강도를 수정하여 대비를 향상시킵니다. 히스토그램으로이를 시각화 할 수 있습니다. 각 컬러 채널마다 하나 (또는 그레이 스케일을위한 단일 히스토그램). x 축에는 강도 값이 표시되고 y 축에는 주파수가 나타납니다.
별도의 이미지 히스토그램 기사에서 코드를 사용하여 예제 이미지의 히스토그램은 다음과 같습니다.
이 히스토그램은 BGR 채널의 분포를 보여줍니다. 픽셀 값 코드의 샘플 출력은 채널 전체의 일관된 강도 값을 보여줍니다.
히스토그램 평등은이 히스토그램을 평평하게하는 것을 목표로하여 범위에 강도를보다 고르게 분배하는 것을 목표로합니다.
강도 주파수 분석
이 파이썬 코드는 픽셀 강도의 주파수를 계산합니다 :
출력은 가장 빈번한 강도 값과 카운트를 보여 주어 제한된 범위의 농도를 강조합니다.
Python에서 히스토그램 이퀄라이제이션 구현
우리는 OpenCV의 결론
이 튜토리얼은 OpenCV와 Python에서 히스토그램 평등을 사용하여 이미지 대비를 향상시키는 방법을 보여주었습니다. 결과는 이미지 품질 및 세부 가시성을 향상시키는 데 있어이 기술의 효과를 강조합니다. 결과 아첨 히스토그램은 픽셀 강도의 성공적인 재분배를 확인합니다.위 내용은 파이썬의 히스토그램 평등의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!