이진 마스크로 정의 된 임의의 모양이 있습니다 (회색 = 모양, 검은 색 = 배경).
회색 픽셀 만 포함하는 가능한 가장 큰 사각형을 찾고 싶습니다 (이 사각형은 노란색으로 표시됨).
모양은 항상 "한 조각"이지만 반드시 볼록한 것은 아닙니다 (모양 경계의 모든 점 쌍이 직선을 통해 직선 모양으로 연결될 수있는 것은 아닙니다).
때때로 이러한 "최대 사각형"이 많이 존재하고 다음과 같은 추가 구속 조건이 도입 될 수 있습니다.
- 모양의 질량 중심 (또는 이미지 중심)에 가장 가까운 중심으로 사각형을 가져옵니다.
- 사전 정의 된 비율에 가장 가까운 종횡비의 직사각형을 가져옵니다 (예 : 4 : 3).
알고리즘에 대한 나의 첫 생각은 다음과 같습니다.
- 모양의 거리 변환 계산 및 질량 중심 찾기
- 모양의 픽셀 만 포함하면서 정사각형 영역을 확장
- 모양의 픽셀 만 포함하는 너비 또는 높이의 사각형 (원래 사각형)을 성장시킵니다.
그러나 그러한 알고리즘은 느리고 최적의 솔루션으로 이어지지 않을 것이라고 생각합니다.
어떤 제안?