이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2012/07/10 00:39:27 |
Name |
AttackDDang |
Subject |
C++영상처리에 관한 질문입니다. |
Opencv를 사용하지 않고 영상처리를 하려고 하는데요
웹캠을 통해서 영상을 받아온뒤 RGB값을 분석해서 빨강, 파랑, 초록, 노랑 각각의 색에 라벨링을 하려고합니다.
색상을 받아서 감별해내는 코드가 아래의 코드와 같습니다.
===========================================================================
//Red 감별
if(r>150 && r<255 && g<145 && g>0 && b<145 && b>0)
//if(r>150 && g<145 && b<150)
*(pImageBuffer+i) = 255;
//Yellow 감별
else if((r>145 && r<=255) && (g<=255 && g>145) && (b<125 && b>0))
*(pImageBuffer+i) = 50;
//Blue 감별
else if((r>50 && r<150) && (g<150 && g>50) && (b<255 && b>155))
*(pImageBuffer+i) = 200;
//Green 감별
else if((r>0 && r<125) && (g<255 && g>155) && (b<125 && b>0))
*(pImageBuffer+i) = 100;
=============================================================================================
이중 Blue, Yellow, Green은 감별이 제대로 이루어지고 라벨링이 잘 됩니다만...
RED를 감별하는 if문에서 위의 if문을 사용하니 red가 라벨링이 안되네요....
다른것들과 모두 같은 형식인데 아래에 라벨링을 하는 과정에서도모두 같은 구문을 복사해서 쓰고있는데
왜 if문에서만 저런 차이가 나는지 궁금합니다
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|