Python을 사용하여 그림에서 픽셀 수준 작업을 수행하는 방법
현대 기술의 발전으로 우리는 그림에 대해 다양한 작업과 처리를 수행해야 하는 경우가 많습니다. 일부 특별한 이미지 처리 요구 사항의 경우 픽셀 수준 작업이 일반적인 방법입니다. 이 기사에서는 Python을 사용하여 이미지에 대해 픽셀 수준 작업을 수행하는 방법과 해당 코드 예제를 소개합니다.
from PIL import Image import numpy as np import matplotlib.pyplot as plt
img = Image.open("image.jpg") img.show()
getdata()
메서드를 호출하여 이미지의 픽셀 값을 가져와 NumPy 배열로 변환할 수 있습니다. getdata()
方法来获取图像的像素值,并将其转换为NumPy数组。pixels = np.array(img.getdata()).reshape(img.size[1], img.size[0], 3)
在上面的代码中,getdata()
方法返回一个一维数组,其中包含图像的像素值。我们通过reshape()
gray_img = np.mean(pixels, axis=2).astype(np.uint8) plt.imshow(gray_img, cmap="gray") plt.show()
getdata()
메서드는 이미지의 픽셀 값이 포함된 1차원 배열을 반환합니다. reshape()
메소드를 통해 3차원 배열로 변환합니다. 여기서 첫 번째 차원은 이미지의 높이를 나타내고, 두 번째 차원은 이미지의 너비를 나타내고, 세 번째 차원은 이미지의 크기를 나타냅니다. 이미지의 채널 수. invert_img = 255 - pixels plt.imshow(invert_img) plt.show()
from scipy.ndimage.filters import convolve kernel = np.array([[1, 2, 1], [2, 4, 2], [1, 2, 1]]) blurred_img = convolve(pixels, kernel) plt.imshow(blurred_img.astype(np.uint8)) plt.show()
result_img = Image.fromarray(blurred_img.astype(np.uint8)) result_img.save("result.jpg")
위 단계를 통해 Python을 사용하여 이미지에 대해 픽셀 수준 작업을 수행하고 결과를 새 이미지 파일로 저장할 수 있습니다. 그뿐만 아니라 필요에 따라 다양한 픽셀 수준 작업을 사용자 정의하고 코드를 통해 구현할 수도 있습니다. 이 기사가 이미지 처리 분야의 작업과 연구에 도움과 영감을 줄 수 있기를 바랍니다.
위 내용은 Python을 사용하여 이미지에 대해 픽셀 수준 작업을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!