MATLAB에서 이미지의 음수
이 튜토리얼에서는 Matlab의 이미지에 있는 픽셀의 강도 수준을 변경하여 이미지의 네거티브를 찾는 방법에 대해 설명합니다.
MATLAB에서 이미지의 음수 얻기
그림은 다른 강도 수준을 포함하는 픽셀로 구성됩니다. 예를 들어, 200 x 200 이미지는 가로 축에 200픽셀, 세로 축에만 200픽셀을 의미합니다. 각 픽셀은 강도 수준으로 구성됩니다. 예를 들어, 8비트 이미지는 0에서 256까지 시작하는 256개의 강도 레벨로 구성됩니다. 이미지의 음수를 얻으려면 이미지의 이러한 값을 반대로 해야 합니다. 예를 들어, 0을 256으로, 256을 0으로 변환해야 합니다. 이미지를 음수로 변환하는 공식은 최대 강도 레벨인 픽셀 값이 됩니다. 예를 들어 8비트 이미지의 경우 최대 강도 수준은 256이므로 256에서 각 픽셀 값을 빼서 해당 값을 다시 특정 픽셀에 저장할 수 있습니다. Matlab에서 imread()
함수를 사용하여 이미지 파일을 읽고 변수에 저장할 수 있습니다. 이 함수의 알고리즘은 이미지를 읽고 변수에 저장한 다음 256에서 각 픽셀 값을 빼서 원래 변수에 다시 저장하고 imshow()
함수를 사용하여 이미지를 표시하는 것입니다. 출력에서 이미지 색상이 반전됩니다. 예를 들어 색상이 흰색이면 검정색으로 변환됩니다. 예를 들어 Matlab에서 이미지의 네거티브를 가져옵니다. 아래 코드를 참조하십시오.
OriginalImg = imread('cat.jpg');
NImg = 256 - OriginalImg;
subplot(1,2,1)
imshow(OriginalImg)
title('Original image')
subplot(1,2,2)
imshow(NImg)
title('Negative Image')
출력:
위의 출력에서 이미지의 색상이 반전되었습니다. 밝은 색상은 어두운 색상으로, 어두운 색상은 밝은 색상으로 변경되었습니다. 컬러 이미지의 경우 빨간색은 청록색, 녹색은 자홍색, 파란색은 노란색, 그 반대의 경우도 마찬가지입니다. 이진 이미지의 경우 0은 1로, 1은 0으로 바뀝니다. Matlab의 내장 함수 imcomplement()
를 사용하여 이미지의 네거티브를 찾을 수도 있습니다. imcomplement()
함수는 이미지 클래스의 최대 픽셀 값에서 픽셀 값을 뺍니다.