C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[70221] Re:영상인식 YCBCR에 대하여
프로그램초짜 [] 15950 읽음    2013-10-07 10:57
네이x 검색창에    RGB  YCbCr 색 변환 을 찾아보면
아래if 문 범위를 달리 해야 하는걸 알수있습니다.
YCbCr 에서 아래 if문 범위가 살색에 해당하는 임이의 값입니다. (아시는내용이신듯? ^^)
눈으로 간단하게 확인하는방법은  Y V Cb Cr의 변수들을 지정할수있게 만들고
예를들어 edit 창 을두개씩 만들어서 Y의 Min,Max 를 지정 할수잇게 하고
RGB  색 공간모형 사진을 불러와서  지정한 값들이 어떻게 RGB에서 필터링 되는지 관찰해보심은?????

초짜라 많은 정보가 없네요 ㅎㅎ
예전에 저도 많이 고생한 터라.... ㅎㅎ
공식을 밑에 적어 두셧으니...
그공식을 변환해서 B 범위를 찾아 보시는건 어떠신가요
성공을 기원합니다.


니라카 님이 쓰신 글 :
:                          Cb =int(-0.16874*double(R) -0.33126*double(G)  +0.50000*double(B)); // 푸른색의 강도를 나타냄
:
:                         Cr =int( 0.50000*double(R) -0.41869*double(G)  -0.08131*double(B)); // 붉은색의 강도를 나타냄
:
:                          Cb = Cb + 127; // 최소값이 -127 때문에 +127을 해준다
:                         Cr = Cr + 127;
:
:                         // 사람의 눈이 색상보다 밝기에 민감하다는 사실에 착안한 방식
:                         // Y : 휘도 신호, V : 휘도 신호와 청색 성분의 차
:                       Y = 0.3*R + 0.59*G + 0.11*B;// Y >= 80 눈 코 잎 잘 잡힘
:                      V = (R-Y) * 0.877;          // V >= 100 눈 코 잎 잘 잡힘
:
:            //위의 영상을 나타내주고 아래 화면의 살색 계열의 색상을 픽셀단위로 뿌려주기
:            // 작업입니다.
:                         if(Y >= 80 && V > 6)
:                         {
:                                 if(Cb > 76 && Cb < 128) // 살색을 잡는 Cb 값의 최적의 조건을 검사
:                                 {
:                                         if(Cr > 132 && Cr < 174) // 살색을 잡는 Cr 값의 최적의 조건을 검사
:                                         {
:                                                 Face->Canvas->Pixels[x][y] = clWhite; // 살색 계열 이라면 cl White 를 통하여 흰색을 나타내줍니다.
:                                         }
:                                         else Face->Canvas->Pixels[x][y] = clBlack;         //나머지색은 모두 블랙처리하여 살색을 제외한 나머지 색상들은 모두 블랙처리합니다.
:                                 }
:                                 else Face->Canvas->Pixels[x][y] = clBlack;   //아래 과정은 위의 과정과 동일합니다.
:                         }
:                         else Face->Canvas->Pixels[x][y] = clBlack;
:                 }
:         }
:
: 이것이 사람의 살색을 인식하는 코드인데
:
: 혹시 파란색 을 인식하게할려면 어디를 고쳐야하나요?

+ -

관련 글 리스트
70216 영상인식 YCBCR에 대하여 니라카 13006 2013/10/06
70221     Re:영상인식 YCBCR에 대하여 프로그램초짜 15950 2013/10/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.