2011-10-17 5 views
0

AxB에 NxM의 2 차원 배열을 보간하는 작업이 있습니다. 여기서 A> N 및 B> M입니다.이 작업의 핵심은 배열의 간단한 색상 코드 이미지 (열지도)를 작성하는 것입니다. 2 차원 그리드 보간

이러한 방식으로, 내가 예를 들어, 3 × 3 배열 (모든 알려진 값)

A B C 
D E F 
G H I 

는 말에 보간 될 경우, 것을 제대로 이해 좁은를 수행

A x B x x C 
x x x x x x 
D x E x x F 
x x x x x x 
x x x x x x 
G x H x x I 

여기서 x 마크 미지의 아직 보간 된 가치, 맞습니까?

두 개의 중첩 된 for 루프에서이 작업을 수행 할 수 있습니까? bilinear interpolation formula을 찾았지 만 결과 배열 배열을 (i, j)에 적용하는 데 약간의 문제가 있습니다. 조언? 미리 감사드립니다.

+0

* "이런 식으로 6x6에서 보간되어야합니다 ..."* 판단 통화입니다. 많은 리샘플링 방법 (http://en.wikipedia.org/wiki/Resampling_%28bitmap%29)이 있다는 것을 알았 기 때문에 선택하는 요소는 많은 요소에 달려 있습니다. –

+0

히트 맵 작업을 고려하고 있습니까? 결과는 http://upload.wikimedia.org/wikipedia/commons/c/c6/Bilininterp.png – spacevillain

답변

1

.NET, Qt 또는 SDL과 같은 라이브러리를 사용하여 일반적인 응용 프로그램 작업을 수행 할 수 있습니다.

직접 구현하려면 쌍 선형 보간 대신 Bilinear filtering을 읽으십시오. "보간"은 일반적으로 두 값 사이를 보간하는 것을 의미합니다. 일단 이미지가 있으면 필터링이라고합니다.

바이 큐빅 같은 더 멋진 필터를 고려해보십시오.

+0

과 유사합니다. http://upload.wikimedia.org/wikipedia/와 같은 것을 얻는 것이 옳은가요? commons/c/c6/Bilininterp.png? 내 배열의 값이 실제 색상이 아닌 것이 중요합니까? – spacevillain

+0

네, 예제 그림은 정확히 쌍 선형 필터링이지만 원본 데이터의 2x2 하위 배열에 필터링 * 만 표시합니다. 모든 2x2 하위 배열에 대해 동일한 작업을 수행하면 완료됩니다. –

+0

배열의 값이 실제 색상이 아닌 경우 먼저 색상에 매핑 한 다음 색상을 삽입 할 수 있습니다. 또는 값을 보간 한 다음 보간 된 값을 색상에 매핑 할 수 있습니다. 이 두 가지 방법은 서로 다른 효과를냅니다 (예제에서는 히트 맵에 더 적합한 후자의 방법을 사용합니다). 또한 예제 그림에는 내가 원하지 않는 포스터 화 효과가 있습니다. –