웹캠에 연결하고 이미지 조작을 위해 C#으로 프로그램을 만들고 있습니다. 나는 웹캠에 연결하고 그것을 클립 보드에 보내는 메시지를 보내기 위해 win32 api (avicap32.dll)를 사용하는 작동하는 응용 프로그램을 가지고 있습니다. 문제는 페인트에서 액세스 가능하지만 프로그램에서이를 읽으면 null 포인터가 생성된다는 것입니다. C#의 웹캠 사용법
이
내가 웹캠을 연결하는 데 사용하는 코드입니다 :mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, 320, 240, 1024, 0);
SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);
SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0);
을 그리고 이것은 내가 클립 보드로 이미지를 복사하는 데 사용하는 것입니다 :
SendMessage(mCapHwnd, WM_CAP_GET_FRAME, 0, 0);
SendMessage(mCapHwnd, WM_CAP_COPY, 0, 0);
tempObj = Clipboard.GetDataObject();
tempImg = (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap);
내가 가진 일부 오류 검사를 Theres는 코드에서 제거하여 더 짧게 만들었습니다.
고마워요! Visual C++ 2005 Express를 설치 한 신비한 오류에 대해 Microsoft가 저주 한 후이 경로를 따라갔습니다. 이제는 멋지게 작동합니다 :) 재배포 가능 패키지가 작동하지 않는 이유는 anyones로 추측됩니다 ... –
OpenCV.NET은 더 이상 적극적으로 관리되지 않으며, OpenCV.NET에 운이 없다면 Emgu CV를 사용해보십시오. –