2012-11-07 2 views
0

이미지에서 색상 구성 요소를 추출해야합니다. 일반적으로 Matlab에서는 빨간색의 첫 번째 행렬을 선택합니다.기본 이미지 처리 빨간색 채널 추출

문서가 참조 기반 인 가속 프레임 워크의 영역에서 그래픽 컨텍스트로 해결하지 않고도이를 수행하는 쉬운 방법을 찾을 수 없습니다.

미리 감사드립니다.

답변

1
UIImage* image = // An image 
CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage)); 
const UInt8* pixelBytes = CFDataGetBytePtr(pixelData); 

//32-bit RGBA 
for(int i = 0; i < CFDataGetLength(pixelData); i += 4) { 
    pixelBytes[i] // red 
    pixelBytes[i+1] // green 
    pixelBytes[i+2] // blue 
    pixelBytes[i+3] // alpha 
} 
+0

바이트의 루프가 pixelBytes입니까? – Zoidberg

+0

그래, 고정 :) 감사합니다 – AntonPalich

+0

@AntonPalich 이것은 OP의 질문과는 아무 상관이 없지만 픽셀 인덱스의 원점은 무엇입니까? 이미지의 상단/왼쪽에서 시작하고 행 지향입니까? –