사각형 (m x n 차원)이 아닌 이미지가 있습니다. 또한 그것의 크기는 밑이 2가 아니다 (즉, m = 2^k & n not = 2^k). I는 다음 사용 큰 사각형의 (두개의 다음 전력) 화상을 배치하여 처리했다 :쿼드 트리 문제 - 중복 정보 저장
int width = (int)Math.ceil(Math.pow(2, Math.log(img.width)/Math.log(2)));
int height = (int)Math.ceil(Math.pow(2, Math.log(img.height)/Math.log(2)));
큰 사이즈 산출에 따라, I는 사각형 세트는 최대 치수로 연신 될 즉 :
if (img.width > img.height) {
// draw width * width square
}
if (img.height > img.width) {
// draw height * height square
}
문제 : 그것은 트리의 모든 이미지 이외의 노드를 저장하는대로
쿼드 트리 지금은 완전히 다른 보인다. 이는 분명히 가정 된 이미지 데이터 (즉, 최소/최대 깊이) 및 전체 트리 형태 자체에 영향을 미친다. 내 질문은 효율적인 방법으로이 작업을 수행하고, 그렇다면 이미지에 속하지 않는 데이터를 저장하지 않는 방법은 무엇입니까? 누군가 정사각형이 아닌 이미지를 그리는 가장 좋은 방법이 아니라면 누군가 나를 올바른 방향으로 향하게 할 수 있습니까? 구글에 대한 모든 기사는 내 목적을 위해 너무 깊이있는 것 같습니다.
quadtree는 일반적으로 월드 공간의 객체 (물리/논리)를 추적하는 데 사용됩니다. 이미지를 그릴 때 렌더링과 관련이있는 것은 무엇입니까? –
쿼드 트리는 합리적인 양의 동일한 색상 영역이있는 이미지를 저장하는 데 아주 일반적입니다. 몇 픽셀에 걸쳐 다양한 색상이있는 경우 잘 처리되지 않습니다. 괜찮은 압축을 얻으려면 동일한 색의 더 큰 사각형이 필요합니다. – ventaur