Python을 사용하여 이미지를 이진화하는 방법
요약:
디지털 이미지 처리에서 이진화는 컬러 또는 회색조 이미지를 두 가지 값으로만 변환하는 매우 일반적인 처리 방법입니다. 이미지는 일반적으로 흑백입니다. 이미지를 이진화하면 이미지의 윤곽과 특징을 강조하고 후속 이미지 분석 작업을 용이하게 할 수 있습니다. 이 기사에서는 Python을 사용하여 이미지를 이진화하는 방법을 소개하고 독자의 이해를 돕기 위해 코드 예제를 제공합니다.
1. 필요한 라이브러리 소개
시작하기 전에 필요한 라이브러리 몇 가지를 소개해야 합니다. Python에는 PIL(Python Imaging Library) 및 OpenCV와 같이 선택할 수 있는 이미지 처리 라이브러리가 많이 있습니다. 이 기사에서는 이미지의 바이너리 처리를 위해 PIL 라이브러리를 사용하므로 먼저 PIL 라이브러리를 설치하고 도입해야 합니다.
코드 예:
from PIL import Image
2. 원본 이미지 읽기 및 표시
바이너리 처리 전에 먼저 원본 이미지를 읽고 표시해야 처리 결과를 보다 직관적으로 이해할 수 있습니다.
코드 예:
# 读取原始图片 image = Image.open('original_image.jpg') # 显示原始图片 image.show()
3. 이미지 이진화
다음으로 이미지를 이진화해야 합니다. PIL 라이브러리에서 이미지 객체는 픽셀 값으로 구성된 행렬이며, 각 픽셀의 값은 해당 지점에 해당하는 색상 정보를 나타냅니다. 이미지를 바이너리 이미지로 변환하려면 특정 임계값에 따라 픽셀 값을 구분해야 하며, 임계값보다 큰 픽셀은 흰색으로 설정되고, 임계값보다 작은 픽셀은 검정색으로 설정됩니다.
코드 예:
# 设置二值化阈值 threshold = 128 # 获取图片的宽度和高度 width, height = image.size # 创建一个新的图片对象,用来存储二值化处理后的结果 binary_image = Image.new('1', (width, height)) # 遍历原始图片的每个像素点 for y in range(height): for x in range(width): # 获取当前像素点的像素值 pixel = image.getpixel((x, y)) # 判断像素值是否大于阈值,如果大于则设置为白色,否则设置为黑色 if pixel >= threshold: binary_image.putpixel((x, y), 255) else: binary_image.putpixel((x, y), 0) # 显示二值化处理后的结果 binary_image.show()
4. 이진화된 이미지 저장 및 표시
마지막으로 처리된 이진화된 이미지를 로컬에 저장하고 표시합니다.
코드 예:
# 保存二值化图片到本地 binary_image.save('binary_image.jpg') # 显示二值化图片 binary_image.show()
요약:
이 글에서는 Python을 사용하여 이미지를 이진화하는 방법을 소개합니다. 원본 이미지를 읽고, 이진화 임계값을 설정하고, 각 픽셀을 순회하고, 픽셀 값의 크기에 따라 픽셀의 색상을 설정함으로써 컬러 또는 회색조 이미지를 이진 이미지로 변환하는 효과를 얻을 수 있습니다. 이 이진 처리 방법은 윤곽선 감지, 이미지 분할, 문자 인식 등 다양한 이미지 처리 애플리케이션 시나리오에서 사용할 수 있습니다. 이 기사의 샘플 코드가 독자가 이미지 이진화 처리 방법을 더 잘 이해하고 익히는 데 도움이 되기를 바랍니다.
위 내용은 Python을 사용하여 이미지를 이진화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!