728x90
반응형
WinAPI
- PatBlt
-
- 정해진 영역을 채색하는 함수
- CreateCompatibleBitmap으로 비트맵을 만들고 바로 출력하면 검은 배경이 나오는 문제를 해결하기위해 사용
- 비트맵이 선택된 MemDC에 PatBlt를 호출하여 배경색을 하얗게 만들어준다
- 결과 사진
영상처리
- vfw32.lib 추가
-
- 프로젝트에 추가
-
- 소스에 추가
-
- #pragma comment(lib, "vfw32.lib");
- vfw 라이브러리 함수
-
- 영상을 가져올 수 있도록 하기위한 함수
-
- 라이브러리 사용 순서
-
- HWND VFWAPI capCreateCaptureWindow(
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWnd,
int nID
) -
- 비디오를 출력할 윈도우를 만든다
- dwStyle = 윈도우 모양
- 리턴값은 만들어진 윈도우의 핸들
-
- NULL이면 실패
- BOOL capDriverConnect(hwnd, iIndex)
-
- 화면을 카메라와 연결
- hWnd는 capCreateCaptureWindow에서 만든 핸들러
- 리턴값이 FALSE면 실패
- BOOL capDriverConnect(hwnd, iIndex)
-
- 카메라 드라이버와 연결
- iIndex는 카메라 번호
-
- 우리는 하나만 쓰므로 0
- DWORD capGetVideoFormat(hwnd, psVideoFormat, wSize)
-
- BITMAPINFO 형의 변수에 비디오 형식 값을 받아온다
- DWORD capSetVideoFormat(hwnd, psVideoFormat, wSize)
-
- BITMAPINFO 형 변수로 비디오 형식을 설정한다
- BOOL capPreview(hwnd, f)
-
- 영상 화면 출력
- f: Preview flag
- HWND VFWAPI capCreateCaptureWindow(
- 영상 데이터를 처리하기 위해서는 CALLBACK 함수로 영상출력
- BOOL capSetCallbackOnVideoStream(hwnd, fpProc)
-
- 영상이 캡쳐될 때마다 호출될 콜백 함수를 설정
- LRESULT CALLBACK capVideoStreamCallback(HWND hWnd, LPVIDEOHDR lpVHdr)
-
- 호출될 콜백함수 원형
- LPVIDEOHDR : VIDEOHDR 형 변수의 주소
- StretchDIBits
-
- 원본의 영상을 복사해서 화면의 다른 곳으로 이동시키는 함수
int StretchDIBits(
_In_ HDC hdc,
_In_ int XDest,
_In_ int YDest,
_In_ int nDestWidth,
_In_ int nDestHeight,
_In_ int XSrc,
_In_ int YSrc,
_In_ int nSrcWidth,
_In_ int nSrcHeight,
_In_ const VOID *lpBits,
_In_ const BITMAPINFO *lpBitsInfo,
_In_ UINT iUsage,
_In_ DWORD dwRop
);
- 콜백 함수의 인자를 이용해 영상 데이터 추출/수정
-
- 콜백 함수의 두번째 인자 LPVIDEOHDR lpVHdr의 lpData을 이용해서 한 프레임의 영상을 얻을 수 있다
-
- 영상을 4분할하여 각각 다르게 처리하기
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
2015.11.24_개인업무일지_[Win32API #9]_이량경_히스토그램 그래프,VFW (7) | 2015.11.24 |
---|---|
20151124 업무일지 -여지윤- WinApi9 비트맵 이미지 출력 (7) | 2015.11.24 |
20151124-김재홍-영상처리_캠 (6) | 2015.11.24 |
20151124 - 홍준모 - 비트맵 뷰어 마지막, VFW 1일 차 : 원본 사진을 RGB 값 나누어 영상 처리 (5) | 2015.11.24 |
20151124 - WinAPI 일지 엄민웅 (PatBlt, CAM 화면 출력) (6) | 2015.11.24 |
20151121 김태현 WinAPI 8일차 비트맵 뷰어2 (5) | 2015.11.24 |
2015.11.23_개인업무일지_[Win32API #8]_이량경_비트맵뷰어출력 (4) | 2015.11.24 |
20151123 - WinAPI 일지 엄민웅 (주사방식 NTSC / PAL) (5) | 2015.11.24 |