문제

directshow를 사용하여 웹캠에서 이미지를 캡처하는 방법을 찾고 있습니다. 가능한 경우 HD 해상도를 사용하고 60-100%의 CPU 스파이크를 피하고 싶습니다.

누군가가 이 작업을 수행하는 방법에 대해 올바른 방향으로 나를 쏠 수 있습니까?

DSPack을 사용해 보았으나 이 구성 요소로 인해 CPU 성능이 90-100% 상승했습니다.

그러나 여기 누군가가 더 적은 CPU 소비로 DSPack을 사용하는 방법을 알고 있다면 나도 그것에 만족할 것입니다 :)

도움이 되었습니까?

해결책

나는 자동차에 내장 된 저렴한 기계에 오랜 시간 동안 DSPACK을 사용했습니다.그들은 프로세서 (단일 코어) 및 256MB의 RAM을 통해 ~ 700mhz를 느리게 느리게합니다.

응용 프로그램은 자동차 지붕의 카메라에서 초당 12 이미지 을 캡처하고 새로운 GPS 위치 (초당 초당)가 들어올 때마다 이미지에 좌표를 추가합니다.그것을 하드 디스크에 .jpg로 저장합니다.

응용 프로그램이 이미지를 캡처하고 .jpg 이미지를 생성하지 않고 양식의 이미지를 표시 할 때 응용 프로그램은 5 % 프로세서 시간 (!)에 대해 소요됩니다.

DSPACK에서 90 % CPU 시간을 얻으면 이미지로 수행되는 추가 처리 때문일 수 있습니다.

이 프로그램을 만들기 위해 내 연구에서 모든 종류의 라이브러리를 시도했으며 DSPACK은 많은 앞면에서 명확한 승자였습니다.나는 너무 빨리 포기하지 않을 것이다.

다른 팁

Mitov의 VideoLibrary를 사용하는 실시간 비디오 응용 프로그램이 있습니다.이는 잘 설계되고 스레드되며 사용 가능한 모든 CPU 코어를 활용하는 개체 모음입니다.

내가 어떤 새로운 필요를 가지고 그의 도서관에 갈 때, 나는 대개 그가 그것을 예상하고 있는 것을 보고 기분 좋게 놀랐습니다.지원도 매우 좋았습니다.

저렴하지 않습니다.450달러지만 내 필요에 따르면 모든 페니의 가치가 있었습니다.비상업적인 용도로는 무료입니다: http://www.mitov.com/html/videolab.html.

그의 CaptureBitMap 데모는 연속 프레임을 비트맵으로 캡처합니다.여러 구성 요소를 양식에 놓고 6줄의 코드를 작성하기만 하면 됩니다!라이브러리에는 이 간단한 예제보다 더 많은 내용을 추가할 수 있는 후크가 있습니다.(Win 7, Delphi 2010에서는 데모가 여기에 설치됩니다.C:\Program Files (x86)\Embarcadero AD Studio\7.0\LabPacks\Demos\Delphi2010\VideoLab\CaptureBitmap.그러나 나는 그가 Delphi 7까지 지원한다는 것을 알고 있습니다.)

그의 라이브러리가 다른 점 중 하나는 인텔 IPP 라이브러리를 사용한다는 것입니다. http://software.intel.com/en-us/articles/intel-ipp.Intel 칩셋에서 실행할 때 Intel DLL을 제공하기로 선택하면 Intel 엔지니어가 칩에서 짜낼 수 있는 최고의 성능을 얻을 수 있습니다.IPP를 사용하는 Mitov의 라이브러리가 비디오를 충분히 빠르게 처리할 수 없다면 다른 비디오 라이브러리에서도 이를 처리할 수 있다는 사실에 놀랄 것입니다.

Mitov는 Delphi 커뮤니티에서 다음과 같은 입지를 갖고 있습니다.그는 CodeRage에서 멀티스레딩에 관한 연사였습니다. http://www.embarcadero.com/coderage5/sessions (목요일 세션.)

위의 내용은 내가 그의 회사에 대한 바보처럼 들릴 수도 있습니다.나는 매우 만족스러운 라이센스 소유자 외에는 어떤 관계도 갖고 있지 않습니다.나는 그의 도구를 발견하고 그것을 사용하기로 결정했다는 사실에 매우 기쁘고 안도했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top