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
[59183] Re:[질문] 내게 맞는 CODEC 코덱은?
장성호 [nasilso] 1034 읽음    2009-11-20 16:53
window환경은 아닌가 보죠?

window환경이라면
그냥  StretchBlt통해 확대하고
StretchBlt 함수 호출전에 SetStretchBltMode(HALFTONE); 해놓구 하면 비교적 부드럽게 확대 축소 됩니다.
TImage에서 StrectDraw에 이방식을 씁니다.

window환경이 아니면..
직접 보정 알고리즘을 써야 하는데요...
  최접근 이웃 보간이나 양선영보간 등이 있습ㄴ디ㅏ.
  최접근 이웃 보간
   은 원본 위치에서 가장 가까운 위치에 값으 가져와서 대입합니다.
   
   어떤 이미지를 2.5 배 확대한다고 할때
 
    확대한 이미지 (x,y) 의 값은  ( x / 2.5 , y/2.5 )
  
     func(x,y)
     NewImage(X,Y ) = OriginalImage ( RoundTo(x /2.5,-1) ) , RoundTo( y / 2.5 , -1 ) ) ; 이 되는거죠
  

     RoundTo(xxx, -1 ) 은 소숫점 1자리에서 반올림 하는것입니다.

     저 func(x,y) 를 확대한 이미지의 모든 pixcel에 대해 루트 돌리면 되죠

   근데 저방식은 별루예요

양선영 보간    
    양선영 보간은 가장 가까운 pixcel을 값을 가져오지 않고
    주변 4 픽셀 또는 그이상의 값을 가지고 가중치를 두어서 더하여 가져옵니다.
  
 
    float fX,fY
    fX = X / 2.5 ;
    fY = Y / 2.5 ;  
    int iX=fX;
    int iY=fY;
    float fdX=fX-iX;
    float fdY=fY-iY;

    NewImage(X,Y) =OriginalImage(iY,iX)*(( 1-fdX)*(1-fdY)) \
             + OriginalImage(iY,iX+1]*(( 1-fdX)*fdY)   \
             + OriginalImage((iY+1),+iX+1)*(fdX*fdY)    \
             + OriginalImage((iY+1),+iX)*(fdX*(1-fdY));
   

   이런식으로..
  
   그밖에도 다른 방법들이 많이 있을것입니다.

그럼..




땅주인 님이 쓰신 글 :
: 차량용 DVR을 제작중입니다.
: 영상 인코딩은 H.264를 사용하구요..
: 뷰어에서.. H.264로 인코딩된 스트림을 PixTree Codec를 이용해서
: RGB포멧으로 뽑아냅니다. 그것을 Bitmap으로 변환해서 .. 화면 사이즈에 맞게 출력을 하는데..
:
: 문제는, Bitmap으로 변환 한 후에 화면 사이즈에 맞게 확대해서 출력하니 (CxImage 라이브러리 사용합니다),
: Bitmap 확대할 때 생기는 계단 현상이 보여 화질이 좋지 않습니다. 시장에
: 내놓았다가는 쪽박차기 딱이죠..
:
: 그래서, 새로운 코덱을 찾고 있는데요..
: H.264를 지원하고 화면 사이즈를 지정하면 그거에 맞게 알아서 영상 디코딩해서
: 고화질로 영상을 만들어 주는 Codec이 필요합니다.
:
: 아니면, Bitmap으로 뽑아서, DirectShow의 화질보정해주는 필터(아직 어떤 건 지 모름)가
: 있다면 이를 이용해서 구현해 보고도 싶습니다.
:
: 이도저도 아니면, 비트뱁 영상을 확대할 때 영상을 보정해주는 라이브러리가 있는 지?
: 우쨌거나 원 소스의 화질을 보정해 줄 수 있는 어떤 뭉툭한 방법이 필요합니다.
: 조언을 좀...
:
: 이런 상황에서 어떻게 해야 할 지 ... 고수님들의 의견 바랍니다.
:
: 감사합니다.

+ -

관련 글 리스트
59182 [질문] 내게 맞는 CODEC 코덱은? 땅주인 1093 2009/11/20
59183     Re:[질문] 내게 맞는 CODEC 코덱은? 장성호 1034 2009/11/20
59193             Re:Re:Re:[질문] 내게 맞는 CODEC 코덱은? 땅주인 1197 2009/11/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.