🔹 Open RV 색상 관리 개요
RV에서 색상 관리는 다음 세 가지 핵심 요소로 구성됩니다.
- 입력 색상 공간 감지 – 이미지 속성이나 파일명을 분석하여 색상 공간 결정
- 작업 색상 공간 변환 – 선형 공간으로 변환 (예: sRGB, Cineon Log 등)
- 출력 디스플레이 변환 – 디스플레이 장치에 맞게 최적화
✅ RV의 자동 색상 관리 기능
- 이미지 파일 속성, 파일명, 외부 메타데이터를 기반으로 색상 공간 자동 설정
- 내부 변환 기능(예: sRGB, Gamma, Cineon Log) 활용
- 3D LUT 및 CDL(Color Decision List) 파일을 적용하여 사용자 정의 색상 관리 가능
1️⃣ 자동 색상 관리를 위한 source-group-complete 이벤트
RV는 미디어가 추가될 때 source-group-complete 이벤트를 생성하며, 이를 통해 자동으로 색상 관리를 수행할 수 있습니다.
🔹 source-group-complete 이벤트 활용
- 새로운 미디어가 추가될 때 자동으로 색상 설정을 적용 가능
- 특정 사용자 또는 환경에 맞는 색상 설정을 커스터마이징 가능
✅ 기본 동작 (RV 내부 sourceSetup() 함수)
def sourceSetup(event):
args = event.contents().split(";;")
group = args[0]
fileSource = groupMemberOfType(group, "RVFileSource")
if fileSource:
fileNames = commands.getStringProperty(f"{fileSource}.media.movie", 0, 1000)
fileName = fileNames[0]
ext = fileName.split('.')[-1].upper()
# 파일 확장자 기반 색상 공간 설정
if ext in ['JPEG', 'JPG', 'MOV', 'MP4']:
setFileColorSpace(fileSource, "sRGB")
elif ext == 'EXR':
setFileColorSpace(fileSource, "Linear")
elif ext == 'DPX':
setFileColorSpace(fileSource, "Cineon Log")
event.bind("source-group-complete", sourceSetup)
✅ 기본 설정
- JPEG, MOV, MP4 → sRGB로 변환
- EXR → 선형(Linear) 공간 유지
- DPX → Cineon Log 변환
2️⃣ LUT 및 CDL을 활용한 색상 변환
🔹 3D LUT 및 채널 LUT 적용
RV에서는 LUT를 적용하여 색상 보정을 수행할 수 있습니다.
readLUT("my_lut.cube", "#RVDisplayColor", True)
✅ 적용 대상
- 파일 LUT (#RVDisplayColor 노드 사용)
- 개별 채널 LUT (#RVLookLUT 노드 사용)
🔹 CDL(Color Decision List) 적용
CDL 파일을 사용하여 색상 보정 값을 적용할 수도 있습니다.
readCDL("color_adjustments.ccc", "#RVLookLUT", True)
✅ CDL 적용 방법
- RVColor 또는 RVLookLUT 노드에 적용 가능
- .cc, .ccc, .cdl 파일 지원
3️⃣ 사용자 정의 색상 관리 패키지 만들기
🔹 Python을 활용한 자동 색상 관리 패키지
RV에서는 Python을 사용하여 맞춤형 색상 관리 패키지를 만들 수 있습니다.
✅ 색상 자동 설정 패키지 예제 (custom_color.py)
from rv import rvtypes, commands
class CustomColorManagementMode(rvtypes.MinorMode):
def sourceSetup(self, event):
args = event.contents().split(";;")
group = args[0]
fileSource = commands.groupMemberOfType(group, "RVFileSource")
if fileSource:
fileNames = commands.getStringProperty(f"{fileSource}.media.movie", 0, 1000)
fileName = fileNames[0]
ext = fileName.split('.')[-1].upper()
# 사용자 정의 색상 관리 규칙
color_map = {
"JPG": "sRGB",
"PNG": "sRGB",
"DPX": "Cineon Log",
"EXR": "Linear"
}
if ext in color_map:
commands.setStringProperty(f"{fileSource}.color.colorSpace", [color_map[ext]], True)
event.reject()
def __init__(self):
rvtypes.MinorMode.__init__(self)
self.init("Custom Color Setup",
None,
None,
[("source-group-complete", self.sourceSetup, "Custom Color Management")])
def createMode():
return CustomColorManagementMode()
✅ 이 패키지는
- 미디어 추가 시 자동으로 색상 공간 설정
- DPX는 Cineon Log, EXR은 Linear, JPG 및 PNG는 sRGB로 설정
- 필요에 따라 새로운 색상 공간 규칙을 추가 가능
4️⃣ 환경 변수 및 명령줄을 활용한 색상 설정
RV는 환경 변수 또는 명령줄 옵션을 사용하여 색상 공간을 설정할 수도 있습니다.
🔹 환경 변수 활용
export RV_OVERRIDE_TRANSFER_JPG="sRGB"
export RV_OVERRIDE_TRANSFER_EXR="Linear"
export RV_OVERRIDE_TRANSFER_DPX="Cineon Log"
✅ 위 설정을 적용하면
- 모든 JPG 파일 → sRGB 변환
- 모든 EXR 파일 → Linear 변환
- 모든 DPX 파일 → Cineon Log 변환
🔹 RV 실행 시 명령줄 옵션 추가
rv -flags RV_OVERRIDE_TRANSFER_JPG=sRGB RV_OVERRIDE_TRANSFER_EXR=Linear my_image.jpg
✅ 명령줄에서도 동일한 색상 변환 규칙을 적용 가능
🔹 마무리
✅ RV의 자동 색상 관리 기능을 활용하면 다음과 같은 작업이 가능
- 입력 이미지의 색상 공간 자동 감지 및 변환
- 3D LUT, CDL을 활용한 색상 보정 적용
- Python 기반 패키지를 만들어 사용자 정의 색상 관리 구현
- 환경 변수 및 명령줄 옵션을 사용하여 글로벌 색상 설정 가능
🚀 이제 RV의 자동 색상 관리 기능을 활용하여 작업 환경을 최적화해 보세요! 🎯
'RV' 카테고리의 다른 글
Open RV 패키지 만들기 (레퍼런스 매뉴얼 10장 요약) (0) | 2025.02.09 |
---|---|
Open RV 패키지 시스템 가이드 (사용자 매뉴얼 10장 요약) (0) | 2025.02.09 |
Open RV에서 Python 활용하기 (레퍼런스 매뉴얼 4장 요약) (1) | 2025.02.09 |
Open RV에서 OpenColorIO(OCIO) 사용하기 (0) | 2025.02.09 |
Open RV 명령줄 사용법 가이드 (Chapter 3 요약) (0) | 2025.02.09 |