2011-02-02 5 views
1

저는 아이폰 앱을 작성 중이며 이미지를 가져 와서 하나의 색상으로 혼합하는 방법을 알아야합니다. 내가 가우스 블렌드를 할 필요가 있다고 가정하지만, 이것이 올바른지 또는 그것이 맞는지 어떻게 알지는 모르겠다.가우시안 블렌드 이미지

샘플 가우스 블렌드 코드 스 니펫에 대한 제안 사항이 있습니까, 아니면 잘못된 방향으로 향하여 블렌드 컬러 이미지로 이동합니까?

보이지 않습니다. 기존 iPhone 프레임 워크에서이 작업을 수행 할 수 있습니까, 아니면이 작업을 쉽게 수행 할 수 있도록 공개 프레임 워크에 개인용 메서드가 있습니까?

답변

0

그래서 이미지를 찍고 "단일 색상으로 혼합"하고 싶습니다. 이미지의 '평균 색상'을 얻으려고하십니까?

만약 그렇다면, 가우시안 필터를 사용하는 것이 아마도 지나치게 복잡 할 것입니다. 왜냐하면 여러분이 필요로하는 출력은 단순히 단일 RGB 값이기 때문입니다. 가장 쉬운 방법은 (적색, 녹색, 청색)의 각 컬러 채널에 대한 평균을 계산한다 :

int r,g,b; 
r=g=b=0; 

for (y=0 ; y<image_height ; y++) 
    for (x=0 ; x<image_width ; x++) 
    { 
     r = r + image[y,x,0]; 
     g = g + image[y,x,1]; 
     b = b + image[y,x,2]; 
    } 

num_pixels = image_height * image_width; 
average_r = r/num_pixels; 
average_g = g/num_pixels; 
average_b = b/num_pixels; 

가우시안 필터를 의미하는 중앙 중점 필터하다의 중심 화소 필터링 윈도우는 다른 것보다 더 많이 가중됩니다. 이미지를 흐리게 처리하려면 적절하지만 이미지 전체를 블렌딩하는 경우 위의 의사 코드에서와 같이 모든 픽셀의 가중치를 동일하게하는 것이 효과적입니다.

+0

설명과 psuedo-code 주셔서 감사합니다. 좋은 효과를 내기 위해 이미지를 사용했으며 이미지를 평균 색상으로 변환 할 수 있습니다. – jangelo42