MATLAB 역 컬러맵

Ammar Ali 2024년2월15일
MATLAB 역 컬러맵

이 튜토리얼에서는 MATLAB의 flipud() 함수를 사용하여 컬러맵을 뒤집는 방법에 대해 설명합니다.

MATLAB 역 컬러맵

컬러맵은 이미지와 같은 그래픽 객체의 색상을 설정합니다. 컬러맵은 RGB 3색 값을 사용하여 행렬 또는 배열의 값에 색상을 할당하는 값의 행렬입니다.

Matlab에서 이미지는 행렬 형식으로 저장되며 색상을 정의하는 숫자를 포함합니다. imshow()와 같은 함수를 사용하여 행렬을 이미지로 표시할 때 이 함수는 컬러맵을 사용하여 이미지에 색상 값을 할당합니다.

컬러맵을 뒤집기 위해 flipud() 함수를 사용하여 행렬 또는 배열의 값을 뒤집을 수 있습니다. 컬러맵은 또한 색상 값을 포함하는 행렬이므로 flipud() 함수를 사용하여 컬러맵에 있는 색상을 반전시킬 수 있습니다.

컬러맵을 반전시키면 Matlab이 현재 표시하고 있는 이미지 및 기타 객체에 있는 색상이 반전됩니다. 예를 들어, 바이너리 이미지를 생성하고 flipud() 함수를 사용하여 컬러맵을 반전시켜 보겠습니다.

아래 코드를 참조하십시오.

clc
clear

v = [0 0 0 0;0 1 0 0;0 0 1 0;0 0 0 0];
figure(1)
imshow(v,'InitialMagnification','fit')
colorbar
figure(2)
imshow(v,'InitialMagnification','fit')
colorbar
colormap(flipud(gray))

출력:

역 컬러맵

위의 코드에서 imshow() 함수를 사용하여 이진 이미지의 두 그림을 만들었습니다. 첫 번째 그림은 원본 컬러맵이 있는 원본 이미지와 색상 막대를 보여줍니다.

두 번째 그림에서는 첫 번째 그림의 컬러맵을 뒤집었습니다. 출력에서 왼쪽 그림은 원래 컬러맵이 있는 이미지를 보여주고 오른쪽 그림은 반전된 컬러맵이 있는 이미지를 보여줍니다.

출력에서 색상이 반전된 것을 볼 수 있습니다. 흰색은 검은색으로 변환되고 검은색은 흰색으로 변환됩니다.

위의 코드에서는 이미지가 매우 작기 때문에 주어진 이미지를 Figure에 맞추기 위해 imshow() 함수의 확대 속성을 사용했는데 입력 이미지의 크기가 크거나 원하지 않는 경우 주어진 이미지를 확대하면 무시할 수 있습니다.

위의 예에서는 두 가지 색상만 있는 이진 이미지를 사용했지만 컬러 이미지로도 이 작업을 수행할 수 있습니다.

컬러 이미지의 컬러맵을 뒤집으려면 회색 컬러맵을 뒤집는 위 코드의 마지막 줄을 변경해야 하지만 회색 대신 컬러맵을 사용해야 합니다.

예를 들어 imagesc() 함수를 사용하여 매트릭스에서 컬러 이미지를 생성하고 flipud() 함수를 사용하여 해당 컬러맵을 반전시켜 보겠습니다.

아래 코드를 참조하십시오.

clc
clear

v = [0 0 0 0;0 1 0 0;0 0 1 0;0 0 0 0];
figure(1)
imagesc(v)
colorbar
figure(2)
imagesc(v)
colorbar
colormap(flipud(colormap))

출력:

컬러 이미지의 역 컬러맵

imagesc() 함수는 스케일링된 색상으로 이미지를 표시합니다. 이 함수의 입력이 행렬인 경우 함수는 각 값에 컬러맵의 다른 색상을 할당하고 표시합니다.

위의 코드에서 이전 컬러맵을 뒤집고 새 컬러맵에 새 값을 할당합니다.

위의 출력에서 왼쪽 그림은 원래 컬러맵이 있는 이미지를 보여주고 오른쪽 그림은 반전된 컬러맵이 있는 이미지를 보여줍니다. 위 출력에서 이미지의 색상과 색상 막대가 변경된 것을 볼 수 있습니다.

컬러맵에 대한 자세한 내용은 이 링크(https://www.mathworks.com/help/matlab/ref/colormap.html)를 확인하세요. flipud() 기능에 대한 자세한 내용은 이 링크(https://www.mathworks.com/help/matlab/ref/colormap.html)를 확인하십시오.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Colormap