자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Camera Component예제 응용에 관한 질문
2017.11.25 05:35
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 바쁜 와중에도 답변을 주시는 분들께 감사 댓글 필수
-----------------------------------------------------------------------------------------------
안녕하십니까.
C++을 이용하여 영상쪽으로 개발하다 델파이에 관심이 있어 짬 날때마다 보고 있습니다.
모바일의 카메라를 예제를 보면 CameraComponentSampleBufferReady 이벤트에서
켜저있는 카메라의 영상을스레드로 계속 받아 TImage에 던져주는걸로 보입니다.
CameraComponent.SampleBufferToBitmap(imgCameraView.Bitmap, True);
저는 이것을 응용하여 셔터를 누르지 않은 상태에서 실시간 영상을 TImage가 아닌 OpenCV Image Object에
받아서 원하는 영상을 분석하고 싶습니다.
모바일의 카메라를 켜거 실시간으로 영상을 받으면서 Segmentatiob을 계속 시도하면서 영상 내에 손, 자동차등을
인식하고자 합니다.
Segmentation 알고리즘은 저의 고유 알고리즘이 있지만 델파이로 PC 플랫폼이 아닌 모바일에서 구현하려는데
모바일에서 OpenCV 라이브러리를 어떻게 이용해야할지 모르겠습니다.
https://github.com/Laex/Delphi-OpenCV 에서 Delphi-OpenCV를 다운로드 받아 컴퍼넌트 설치까지는 잘 완료했습니다.
TocvCameraSource 컴퍼넌트에서 안드로이드 카메라를 인식할 수 있다는거 까진 확인을 했는데 막상 컴파일을 하면
vcl 위주로 라이브러리가 구성 되어 있는거 같아 온통 에러가 터지는것 같습니다.
델파이에서 OpenCV를 쉽게 연동할 수 있는 방법이 없을까요?
조언 부탁드립니다.
댓글 2
-
험프리
2017.11.27 09:59
-
아크나톤
2017.11.27 14:49
답변 감사합니다.
올해 초 OpenCV를 이용한 OCR 프로젝트 때문에 델파이를 이용해 보기 위해
Laex- Delphi-OpenCV 라이브러리와 Mitov Software의
IntelligenceLab 7.8.2.0 VCL and FireMonkey 32 & 64 bit support for XE8 to 10.1 Berlin
을 이용하여 Win32 어플까지는 충분해 테스트 해 본 경험이 있습니다.
사실 OCR 또는 문자, 얼굴등 특정 오브젝트에 대한 학습 및 인식은 Mitov IntellegenceLab에서 다 해결이 가능한 것 같습니다.
다만, 영상내에서 인식해야할 대상을 구분하고 세그먼테이션하기 위해서는 OpenCV를 사용하지 않을 수 없겠지만요.
말씀하신 샘플 프로젝트를 열어 Android 플랫폼에서 컴파일을 하면, 첨부파일의 이미지에서 보시는 바와 같이 오류가 발생합니다.
Win32 컴파일은 문제없습니다.
{$IFDEF HAS_FMX}
FMX.Graphics,
{$ELSE}
vcl.Graphics, <== 이 부분이 오류인데 어차피 Win32 컴파일을 할 일이 없기 때문에 FMX.Graphics로 수정했습니다.
{$ENDIF HAS_FMX}
{$ELSE}
{$IFDEF MSWINDOWS}
Windows,
그럼 에러없이 컴파일이 이어지는데 또다른 부분에서 에러가 납니다.
TCVChar = ansiChar; <= 에러가 발생해서 ansiChar을 wideChar로 모두 바꿔줘 보았습니다.
그래도 그림과 같은 차례로 발생하여 결국 Mitov IntelligenceLab에서 Image를 받아 인식시켜 보기로 하였습니다.
세그먼테이션 작업도 없이 스마트폰 카메라의 연상을 실시간으로 받아 OCR을 해야한다는게 어떻게 될지 모르겠지만
델파이에서 모바일 OpenCV의 가능성 여부는 이 테스트가 마지막인듯 싶습니다 ㅠ.ㅠ
Leax Delphi-OpenCV의 컴퍼넌트들이 Win32플랫폿 상태에서는 활성화가 되고 Android플랫폼으로 변경해보면 이 컴퍼넌트들이 비활성화 되는걸 보니 Android는 지원이 안된다는 결론을 일단 내렸습니다.
Win32에서는 왠만한 OpenCV 관련 기능을 다 쓸 수 있었던것 같은데 말이죠 ㅠ.ㅠ
영상을 실시간으로 Mitov IntelligenceLab의 TILTrainingData 로 보내면서 학습된 영상 데이터와 실시간 매칭하는 방법이 스마트폰에서 가볍게 돌아갈지 의문이지만 일단 한 번 해보겠습니다.
만약, 이 방법조차 무리라면 스마트폰의 실시간 영상을 서버에서 받아(예를 들자면 RTSP 프로토콜 처럼) 서버에서 실시간으로 OCR을 하는 방법은 있을까요? CCTV가 아니라 스마트폰인데 말이죠 ㅠ.ㅠ
스마트폰에서 매번 사진을 찍음 => 사진을 서버에 전송(너무 느리지 않을까...) => 서버에서 실시간으로 들어온 사진을 OCR한 결과를 D/B에 저장.
이런 방법까진 생각 안하려고 합니다만 ㅠ.ㅠ
답변 주셔서 감사드립니다.
Delphi Camera Component예제 응용에 관한 질문
2017.11.25 05:35
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 바쁜 와중에도 답변을 주시는 분들께 감사 댓글 필수
-----------------------------------------------------------------------------------------------
안녕하십니까.
C++을 이용하여 영상쪽으로 개발하다 델파이에 관심이 있어 짬 날때마다 보고 있습니다.
모바일의 카메라를 예제를 보면 CameraComponentSampleBufferReady 이벤트에서
켜저있는 카메라의 영상을스레드로 계속 받아 TImage에 던져주는걸로 보입니다.
CameraComponent.SampleBufferToBitmap(imgCameraView.Bitmap, True);
저는 이것을 응용하여 셔터를 누르지 않은 상태에서 실시간 영상을 TImage가 아닌 OpenCV Image Object에
받아서 원하는 영상을 분석하고 싶습니다.
모바일의 카메라를 켜거 실시간으로 영상을 받으면서 Segmentatiob을 계속 시도하면서 영상 내에 손, 자동차등을
인식하고자 합니다.
Segmentation 알고리즘은 저의 고유 알고리즘이 있지만 델파이로 PC 플랫폼이 아닌 모바일에서 구현하려는데
모바일에서 OpenCV 라이브러리를 어떻게 이용해야할지 모르겠습니다.
https://github.com/Laex/Delphi-OpenCV 에서 Delphi-OpenCV를 다운로드 받아 컴퍼넌트 설치까지는 잘 완료했습니다.
TocvCameraSource 컴퍼넌트에서 안드로이드 카메라를 인식할 수 있다는거 까진 확인을 했는데 막상 컴파일을 하면
vcl 위주로 라이브러리가 구성 되어 있는거 같아 온통 에러가 터지는것 같습니다.
델파이에서 OpenCV를 쉽게 연동할 수 있는 방법이 없을까요?
조언 부탁드립니다.
댓글 2
-
험프리
2017.11.27 09:59
-
아크나톤
2017.11.27 14:49
답변 감사합니다.
올해 초 OpenCV를 이용한 OCR 프로젝트 때문에 델파이를 이용해 보기 위해
Laex- Delphi-OpenCV 라이브러리와 Mitov Software의
IntelligenceLab 7.8.2.0 VCL and FireMonkey 32 & 64 bit support for XE8 to 10.1 Berlin
을 이용하여 Win32 어플까지는 충분해 테스트 해 본 경험이 있습니다.
사실 OCR 또는 문자, 얼굴등 특정 오브젝트에 대한 학습 및 인식은 Mitov IntellegenceLab에서 다 해결이 가능한 것 같습니다.
다만, 영상내에서 인식해야할 대상을 구분하고 세그먼테이션하기 위해서는 OpenCV를 사용하지 않을 수 없겠지만요.
말씀하신 샘플 프로젝트를 열어 Android 플랫폼에서 컴파일을 하면, 첨부파일의 이미지에서 보시는 바와 같이 오류가 발생합니다.
Win32 컴파일은 문제없습니다.
{$IFDEF HAS_FMX}
FMX.Graphics,
{$ELSE}
vcl.Graphics, <== 이 부분이 오류인데 어차피 Win32 컴파일을 할 일이 없기 때문에 FMX.Graphics로 수정했습니다.
{$ENDIF HAS_FMX}
{$ELSE}
{$IFDEF MSWINDOWS}
Windows,
그럼 에러없이 컴파일이 이어지는데 또다른 부분에서 에러가 납니다.
TCVChar = ansiChar; <= 에러가 발생해서 ansiChar을 wideChar로 모두 바꿔줘 보았습니다.
그래도 그림과 같은 차례로 발생하여 결국 Mitov IntelligenceLab에서 Image를 받아 인식시켜 보기로 하였습니다.
세그먼테이션 작업도 없이 스마트폰 카메라의 연상을 실시간으로 받아 OCR을 해야한다는게 어떻게 될지 모르겠지만
델파이에서 모바일 OpenCV의 가능성 여부는 이 테스트가 마지막인듯 싶습니다 ㅠ.ㅠ
Leax Delphi-OpenCV의 컴퍼넌트들이 Win32플랫폿 상태에서는 활성화가 되고 Android플랫폼으로 변경해보면 이 컴퍼넌트들이 비활성화 되는걸 보니 Android는 지원이 안된다는 결론을 일단 내렸습니다.
Win32에서는 왠만한 OpenCV 관련 기능을 다 쓸 수 있었던것 같은데 말이죠 ㅠ.ㅠ
영상을 실시간으로 Mitov IntelligenceLab의 TILTrainingData 로 보내면서 학습된 영상 데이터와 실시간 매칭하는 방법이 스마트폰에서 가볍게 돌아갈지 의문이지만 일단 한 번 해보겠습니다.
만약, 이 방법조차 무리라면 스마트폰의 실시간 영상을 서버에서 받아(예를 들자면 RTSP 프로토콜 처럼) 서버에서 실시간으로 OCR을 하는 방법은 있을까요? CCTV가 아니라 스마트폰인데 말이죠 ㅠ.ㅠ
스마트폰에서 매번 사진을 찍음 => 사진을 서버에 전송(너무 느리지 않을까...) => 서버에서 실시간으로 들어온 사진을 OCR한 결과를 D/B에 저장.
이런 방법까진 생각 안하려고 합니다만 ㅠ.ㅠ
답변 주셔서 감사드립니다.
추가하신 링크의 파이어몽키 샘플이 있는데 확인해보셨겠죠^^
https://github.com/Laex/Delphi-OpenCV/tree/master/samples/Components/cFMXCameracapture
저도 찾아보기는 했는데 모바일에서 델파이로 OpenCV 연동한 내용은 아직 찾기 어렵네요.
한번 시도해 보시고 공유해주시면 좋은 레퍼런스가 될것 같습니다.
(미리 감사드립니다.^^)