esimov/caire
Content aware image resize library
해결하는 문제
Caire는 중요한 콘텐츠를 왜곡하거나 자르지 않고 이미지 크기를 조정(축소 또는 확대)하는 문제를 해결합니다. 기존 스케일링은 모든 픽셀을 동일하게 취급하므로 얼굴과 같은 주요 객체가 변형되거나 손실될 수 있습니다. Caire는 시임 커빙이라는 기술을 사용하여 가장 눈에 띄지 않는 픽셀 경로를 지능적으로 제거하거나 추가하여 중요한 부분을 그대로 유지합니다.
작동 방식
Caire는 먼저 이미지를 분석하여 가장자리를 감지하고 시각적 세부 사항이 집중된 곳을 강조하는 에너지 맵을 만듭니다. 그런 다음 동적 프로그래밍 접근 방식으로 누적 에너지 값을 계산하여 이미지 전체에서 위에서 아래로 또는 왼쪽에서 오른쪽으로 가장 중요하지 않은 경로(시임)를 찾습니다. 가장 낮은 에너지 시임이 제거(또는 확대를 위해 복제)되고 원하는 크기에 도달할 때까지 프로세스가 반복됩니다. 라이브러리에는 시임이 얼굴을 통과하지 않도록 하는 얼굴 감지와 특정 영역을 보호하거나 제거하기 위한 마스크 사용 기능과 같은 추가 기능도 포함되어 있습니다.
대상 사용자
Caire는 자동화된 환경이나 명령줄 환경에서 고품질의 콘텐츠 인식 이미지 리사이징이 필요한 개발자, 사진가 및 모든 사람을 위한 것입니다. Go로 작성되었으며 라이브러리 또는 독립 실행형 도구로 사용할 수 있어 스크립트, 웹 서비스 또는 파이프라인에 쉽게 통합할 수 있습니다. 포트폴리오 생성, 썸네일 만들기 또는 일괄 처리와 같이 이미지의 시각적 무결성을 유지하는 것이 중요할 때 특히 유용합니다.
주요 기능
- 중요한 영역을 보존하는 콘텐츠 인식 리사이징을 위한 시임 커빙 사용.
- 세로 및 가로 방향으로 축소 및 확대를 모두 지원합니다.
- 사람 얼굴의 변형을 방지하기 위한 얼굴 감지 포함.
- 여러 출력 형식 지원: jpg, jpeg, png, bmp.
- 전체 디렉토리를 동시에 처리할 수 있습니다.
- 쉬운 통합을 위한 stdin/stdout 파이프 지원.
- 프로세스를 실시간으로 시각화하는 GUI 미리 보기 모드 제공.
- 세밀한 제어를 위한 보호 및 제거 마스크 지원.
- 단일 명령으로 이미지를 정사각형으로 만들거나 백분율로 크기를 조정할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트