Python을 사용하여 이미지에서 텍스처를 추출하는 방법
소개: 텍스처 추출은 이미지 분석, 분류, 일치 및 기타 작업을 위해 이미지에서 텍스처 특징을 추출할 수 있는 이미지 처리에서 중요한 기술입니다. 널리 사용되는 프로그래밍 언어인 Python에는 PIL, opencv-python 등과 같은 풍부한 이미지 처리 라이브러리와 도구가 있습니다. 이 기사에서는 Python을 사용하여 이미지에서 텍스처를 추출하는 방법을 소개하고 코드 예제를 첨부합니다.
1. 필수 라이브러리 설치 및 가져오기
시작하기 전에 PIL, opencv-python 및 numpy를 포함한 일부 필수 라이브러리를 설치하고 가져와야 합니다. pip를 사용하여 설치할 수 있습니다.
$ pip install Pillow $ pip install opencv-python $ pip install numpy
필요한 라이브러리를 가져오는 코드는 다음과 같습니다.
import cv2 import numpy as np from PIL import Image
2. 사진 읽기 및 표시
먼저 처리할 사진을 읽고 표시해야 합니다. 여기서는 자연 풍경 사진을 선택하여 "texture.jpg"로 저장했습니다.
# 读取图片 image = Image.open("texture.jpg") # 显示图片 image.show()
3. 이미지를 회색조 이미지로 변환
텍스처 추출은 일반적으로 회색조 이미지에서 수행되므로 읽은 컬러 이미지를 회색조 이미지로 변환해야 합니다.
# 转换为灰度图像 gray_image = image.convert("L") # 显示灰度图像 gray_image.show()
4. GLCM(계조 동시 발생 행렬) 계산
회색 레벨 동시 발생 행렬은 질감 분석을 위한 일반적인 방법으로, 회색 레벨 변화와 픽셀 간의 공간 관계를 설명할 수 있습니다.
Python에서는 opencv-python 라이브러리(cv2)를 사용하여 회색조 동시 발생 행렬을 계산할 수 있습니다. 구체적인 단계는 다음과 같습니다.
# 将灰度图像转换为numpy数组 gray_array = np.array(gray_image)
cv2.calcHist()
함수를 사용하여 회색조 동시 발생 행렬을 계산할 수 있습니다. 이 기능을 사용하려면 그레이스케일 이미지와 그레이스케일 레벨 수, 픽셀 간격, 이미지 높이 및 너비 등과 같은 일부 매개변수를 입력해야 합니다. # 计算灰度共生矩阵 glcm = cv2.calcHist([gray_array], [0], None, [256], [0, 256])
# 规范化灰度共生矩阵 glcm /= glcm.sum()
5. 질감 특징 추출
회색조 동시 발생 행렬을 얻은 후 이를 사용하여 에너지, 대비, 상관 관계 및 균일성(동질성) 등과 같은 몇 가지 일반적인 질감 특징을 추출할 수 있습니다.
다음은 몇 가지 일반적인 질감 특징 계산 방법입니다.
# 计算能量(energy) energy = np.sum(glcm ** 2) print("能量:", energy)
# 计算对比度(contrast) contrast = np.sum(glcm * np.abs(np.arange(256) - np.arange(256)[:,None])) print("对比度:", contrast)
# 计算相关性(correlation) correlation = np.sum(glcm * (np.arange(256) - np.mean(glcm)) * (np.arange(256)[:,None] - np.mean(glcm))) / (np.std(glcm) ** 2) print("相关性:", correlation)
# 计算均匀性(homogeneity) homogeneity = np.sum(glcm / (1 + np.abs(np.arange(256) - np.arange(256)[:,None]))) print("均匀性:", homogeneity)
6. 요약
이 글에서는 Python을 사용하여 이미지에서 텍스처를 추출하는 방법과 일반적인 텍스처 특징을 계산하는 방법을 소개합니다. 일반적으로 사용되는 두 가지 이미지 처리 라이브러리인 PIL과 opencv-python을 사용하여 이미지를 쉽게 읽고 표시하고, 이미지를 회색조 이미지로 변환하고, 이미지의 회색조 동시 발생 행렬을 계산할 수 있습니다. 명암도 동시발생 행렬을 얻은 후 에너지, 대비, 상관관계, 균일성을 포함한 일반적인 질감 특징을 계산하는 방법도 소개했습니다.
텍스처 분석은 컴퓨터 비전의 중요한 연구 방향이며 이미지 분석, 분류, 검색 및 기타 작업에서 중요한 역할을 합니다. 이 글이 텍스처 추출 기술을 배우고 적용하는 독자들에게 도움이 되기를 바랍니다.
위 내용은 Python을 사용하여 이미지에서 텍스처를 추출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!