그래서 "간단한"색 감소를 이미지에 적용하기 시작했습니다. 나는 마지막 날에 어떻게 작동하는지 연구했고, 여기서 실험 할 수있는 알맞은 알고리즘으로 보이는 것을 찾았다. Median cut algorithm중간 색 적용 감소 알고리즘의 출력 팔레트를 원본 이미지에 적용
출력은 n 색 팔레트이다. 나는이 알고리즘이 실제로 작동하는지 아직 확신하지 못했다. 그러나 나는 그것이 있다고 가정하고있다. 내가하고 싶은 것은 그 출력물을 가져 와서 팔레트가 생성 된 이미지에 적용하는 것입니다.
나는 이미지에 관해서 내가 컬러 압축 포맷과 모든 깊은 지식에 정통하다고 말할 수는 없지만, 오는 이미지 포맷으로 시작하지 않고 어떻게 팔레트를 적용 할 수 있는지 궁금하다. 인덱싱 된 팔레트 (즉, GIF).
저는 각 픽셀에 대해 현재 픽셀의 색상과 팔레트의 각 색상의 차이를 계산하고 그 픽셀을 가장 적은 차이의 팔레트 색상으로 대체한다고 생각합니다. 이것이 접근 할 수있는 실행 가능한 방법일까요?
주 - 다양한 라이브러리 (ImageMagick)를 살펴 보았지만 약간 과장된 것으로 보입니다. 이미지 조작으로 할 수있는 대부분이 컬러 팔레트를 줄이는 것입니다. 이보다 더 복잡한 것은 없습니다. 그래서이 알고리즘을 구현하는 것이 내 요구에 가장 간단한 방법이라고 생각합니다.
그냥 참고로 어떤 동료 Qt는 사용자를위한 -이 알고리즘은 Qt는에 완벽하게 통합하고 잘 작동합니다. 작동 시키려면 제로 변경이 필요합니다. – giraffee
Median Cut을 사용하여 게임을하고 싶다면 https://github.com/pornel/improved-pngquant/ (빠른 매핑과 PNG 지원이 있습니다) – Kornel