이미지 위에 플로팅하기
이미지 위에 플로팅하기 (Plotting on top of Images)
이미지를 배경으로 그 위에 점이나 그래프를 얹고 싶을 때가 있어요. Octave는 이미지의 좌표계와 플로팅 좌표계를 어떻게 맞추는지가 핵심이에요.
출처: 문서
본문
gnuplot으로 이미지를 표시하고 있다면 이미지 위에 플로팅할 수 있어요. 이미지는 행렬이므로 행(row)과 열(column) 값으로 인덱싱돼요. 하지만 플로팅 시스템은 전통적인 (x, y) 좌표계를 기반으로 해요. 두 시스템의 차이를 최소화하기 위해 Octave는 좌표계의 원점을 (1, 1) 픽셀에 대응하는 지점에 놓아요. 그래서 행·열 값으로 주어진 점을 이미지 위에 플로팅하려면, plot을 호출할 때 첫 번째 인자로 열 값을, 두 번째 인자로 행 값을 주면 돼요.
예를 들어 다음 코드는 0과 1 사이의 무작위 강도를 가진 이미지를 만들고, 강도가 0.99를 넘는 픽셀 위에 빨간 원을 그려 보여줘요.
I = rand (100, 100);
[row, col] = find (I > 0.99);
hold ("on");
imshow (I);
plot (col, row, "ro");
hold ("off");
더 알아보기
- 이미지 표현과 처리 방법은 부모 이미지 처리 항목을 참고하세요.
- 좌표계 변환 관련 함수도 함께 보면 좋아요.