[Image Understanding] Color Image 생성하기

2023. 10. 10. 18:17Run/Computer Vision

 

 

 

Red + Green = Yellow

Red + Blue = Magenta

Green + Blue = Cyan

 

img1 = zeros(500, 500, 3);
img1(50:300, 50:300, 1:2) = 255;
img1(250:450, 250:450, 2:3) = 255;
figure(1), imshow(img1);

zeros()를 통해 500x500 크기의 검정색 이미지를 생성했다.

x 좌표가 50~300인 곳, y 좌표가 50~300인 부분은 1(Red), 2(Green) 값을 255(0~255)로 설정하였다.

Red와 Green을 섞으면 Yellow이므로, 해당 부분은 Yellow를 띠게 된다.

x 좌표가 250~450인 곳, y 좌표가 250~450인 부분은 2(Green), 3(Blue) 값을 255로 설정하였다.

Green과 Blue를 섞으면 Cyan이므로, 해당 부분은 Cyan을 띠게 된다.

이때 두 부분에서 색상이 겹치게 된다. Yellow(R+G)와 Cyan(G+B)을 섞으면 White(R+G+B)이 된다.

img2 = zeros(500, 500, 3);
img2(50:300, 50:300, 1:2) = 255;
img2(250:450, 250:450, 2:3) = 255;
img2(250:300, 250:300, 1) = 0;
figure(2), imshow(img2);

이번에는 겹친 부분의 Red 색상 값을 0으로 설정하였다. 이 경우 Green, Blue만 남게 되어 Cyan을 띠게 된다.

img3 = zeros(500, 500, 3);
img3(50:450, 50:450, :) = 50;
img3(100:400, 100:400, :) = 100;
img3(150:350, 150:350, :) = 200;
figure(3), imshow(uint8(img3));

uint8() 함수를 사용하여 이미지를 gray-scale로 표현하였다.