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
[9610] Re:Bitmap을 읽어서 여러 정보를 얻고자 하는데요...
김영욱 [kimyo] 1139 읽음    2001-08-06 21:51
안녕하세요 김영욱이라고 합니다.
우선 영상처리를 하시는 분을 만나서 대단히 반갑습니다. (저도 영상처리쪽 일을 하거든요..)

우선은 컬러 BMP파일을 사용하여 픽셀정보를 얻어오는 것은 매우 쉽습니다.
물론 나중에 영상처리한 결과를 어떻게 다시 보여주는(Re-Draw)것이 더 중요할것 같은데요..

혹시 님께서 PC카메라를 가지고 계신다면 자료실에 제가 올린 비디오 컴포넌트를 설치하시고
VFW와 Canvas->Pixels Method의 차이를 느껴보셨으면 좋겠네요..

각설하고 TImage와 TPaintBox를 사용하신다면

8bit의 경우 TImage의 영상을 메모리로 읽어오는 경우
  unsiged char FrameMemory[240*320];
선언하시고...

   int i,j,k;

   for(i=0;i<240;i++)
    for(j=0;j<320;j++)
         {
          //Grey의 경우
          FrameMemory[(i*240)+j] = Image1->Canvas->Pixels[i][j];             
    }

Color의 경우 FrameMemory에서 TImage로 뿌리는 경우
  BYTE FrameMemory[240*320*3];

  int i,j,k;

   for(i=0;i<320;i++)
    for(j=0;j<240;j++)
        {
         k = i+320*(240-j);
         Canvas->Pixels[6+i][261+j]=RGB(FrameMemory[k*3+2],FrameMemory[k*3+1],FrameMemory[k*3+0]);
    }

등등으로 사용하시면 될것 같네요..

그럼 즐프하세요..


안병욱 님이 쓰신 글 :
:
: row와 column을 순차적으로 읽어서
:
: 각 좌표와 그에 해당하는 컬러값을 얻고 싶습니다...
:
: 버퍼를 이용하려구 하구요...
:
: 칼라 BMP를 그레이 스케일로 전환한 후에(여기까진 겨우 해냈는데..)
:
: 그레이 스케일 BMP의 각 픽셀정보를 얻어서
:
: 결국은 thresholding을 하려구 하거든요...
:
:
:
: 컬러값(0~255)까지를 얻어내고 그걸 0,1의 binary image로 바꾸는게 최종 목적인데
:
: 쉬워보이면서도 잘 안되네요...

+ -

관련 글 리스트
9603 Bitmap을 읽어서 여러 정보를 얻고자 하는데요... 안병욱 777 2001/08/06
9610     Re:Bitmap을 읽어서 여러 정보를 얻고자 하는데요... 김영욱 1139 2001/08/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.