Python을 사용하여 이미지의 밝기와 대비를 조정하는 방법
Python을 사용하여 그림의 밝기와 대비를 조정하는 방법
소개:
이미지 처리에서 밝기와 대비를 조정하는 것은 일반적이고 중요한 작업 중 하나입니다. Python은 이 두 가지 작업을 쉽게 구현할 수 있는 PIL, OpenCV 등과 같은 풍부한 이미지 처리 라이브러리를 제공합니다. 이 기사에서는 Python 코드를 사용하여 이미지의 밝기와 대비를 조정하는 방법을 소개하고 해당 코드 예제를 제공합니다.
1부: 이미지 밝기 조정
이미지 밝기 조정은 각 픽셀의 RGB 값을 변경하여 수행할 수 있습니다. 구체적인 방법은 각 픽셀의 RGB 값에 고정된 증분을 추가하는 것입니다. 다음은 PIL 라이브러리를 사용하여 이미지의 밝기를 조정하는 샘플 코드입니다.
from PIL import ImageEnhance # 打开图像 image = Image.open('image.jpg') # 创建Enhancer对象 enhancer = ImageEnhance.Brightness(image) # 调整亮度为原来的2倍 bright_image = enhancer.enhance(2) # 显示图像 bright_image.show() # 保存图像 bright_image.save('bright_image.jpg')
위 코드에서는 먼저 Image.open() 함수를 통해 이미지를 연 다음 ImageEnhance를 사용하여 Enhancer 객체를 생성합니다. .밝기() 함수. 그런 다음 Enhancer 객체의 Enhanced() 메서드를 사용하여 이미지의 밝기를 조정합니다. 매개변수는 밝기의 배수를 나타냅니다. 마지막으로 show() 메서드를 호출하여 조정된 이미지를 표시하거나 save() 메서드를 사용하여 이미지를 저장할 수 있습니다.
2부: 이미지 대비 조정
이미지 대비 조정은 각 픽셀의 상대적 밝기를 변경하여 이루어집니다. 구체적인 방법은 각 픽셀의 RGB 값에 고정된 증분을 곱하는 것입니다. 다음은 OpenCV 라이브러리를 사용하여 이미지의 대비를 조정하는 샘플 코드입니다.
import cv2 # 读取图像 image = cv2.imread('image.jpg') # 提取亮度通道 hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) v_channel = hsv_image[:,:,2] # 调整亮度为原来的2倍 contrast_image = cv2.addWeighted(v_channel, 2, np.zeros(v_channel.shape, v_channel.dtype), 0, 0) # 将亮度通道替换回原图像 hsv_image[:,:,2] = contrast_image contrast_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) # 显示图像 cv2.imshow('contrast_image', contrast_image) cv2.waitKey(0) # 保存图像 cv2.imwrite('contrast_image.jpg', contrast_image)
위 코드에서는 먼저 cv2.imread() 함수를 사용하여 이미지를 읽은 다음 BGR 색상에서 이미지를 변환합니다. cv2.cvtColor() 함수를 사용하여 공간 HSV 색상 공간은 밝기 변화에 더 민감하므로 HSV 색상 공간으로 변환합니다. 그리고 밝기 채널 hsv_image[:,:,2]를 추출하여 밝기를 나타내는 2차원 배열 v_channel을 얻는다.
그런 다음 cv2.addWeighted() 함수를 사용하여 밝기 채널을 선형으로 결합하여 대비를 조정합니다. 여기서 첫 번째 매개변수는 입력 이미지를 나타내고 두 번째 매개변수는 밝기의 배수를 나타내며 여기서는 2로 설정됩니다. 마지막으로 조정된 밝기 채널은 원래 이미지로 다시 대체되고 이미지는 cv2.cvtColor() 함수를 통해 HSV 색상 공간에서 BGR 색상 공간으로 다시 변환됩니다.
마지막으로 조정된 이미지는 cv2.imshow() 함수를 통해 표시되고, cv2.waitKey(0)는 키를 기다리는 데 사용되고, cv2.imwrite() 함수는 이미지를 저장하는 데 사용됩니다.
결론:
위의 코드 예제를 통해 Python을 사용하여 이미지의 밝기와 대비를 조정하는 것이 매우 간단하고 단 몇 줄의 코드만으로 달성할 수 있다는 것을 알 수 있습니다. 다양한 매개변수 설정을 통해 다양한 요구 사항을 충족하기 위해 다양한 수준의 밝기 및 대비 조정을 달성할 수 있습니다. 실제 적용에서는 최상의 결과를 얻기 위해 특정 상황에 따라 적절한 조정 방법과 매개변수를 선택할 수 있습니다. 이 글이 독자들의 이미지 처리 학습과 실습에 도움이 되기를 바랍니다.
위 내용은 Python을 사용하여 이미지의 밝기와 대비를 조정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

파이썬에서 문자열을 통해 객체를 동적으로 생성하고 메소드를 호출하는 방법은 무엇입니까? 특히 구성 또는 실행 해야하는 경우 일반적인 프로그래밍 요구 사항입니다.

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...
