Programming
-
[영상처리] 카메라(웹캠)영상 출력Programming/영상처리 2014. 1. 21. 02:09
지금까지 이미지 출력과 동영상파일 출력을 알아보았는데, 이번 시간에는 웹캠으로부터 받은 영상을 띄우는 방법에 대해 알아보도록 하겠다. 동영상파일 출력까지 해보았다면 카메라(웹캠)영상은 쉽게 띄울수 있을것이다. 먼저 간단한 코드는 다음과 같다. #include int main() { IplImage *frame; CvCapture* capture = cvCaptureFromCAM(0); cvNamedWindow("Test",1); while(capture) { frame = cvQueryFrame(capture); cvShowImage("Test",frame); if(cvWaitKey(33) >= 27) break; } cvReleaseCapture(&capture); cvDestroyWindow("Tes..
-
[영상처리] 동영상파일(AVI) 출력Programming/영상처리 2014. 1. 16. 22:32
영상처리를 하기 위해 미리 녹화된 동영상을 쓰는 경우가 있다. 이번시간에는 동영상을 띄우는 방법에 대해 알아보도록 하겠다.동영상 파일을 여는 일은 이미지 파일을 출력했던것 만큼 쉽다. 하지만 방법이 약간 다르다.이미지 파일은 단순히 한장의 영상이지만, 동영상은 이미지 파일의 집합이라고 볼 수 있다. 여러개의 사진이 계속해서 바뀌는 개념이다. 그렇기 때문에 매 프레임마다 화면을 바꿔준다고 생각하면 될 것이다. 코드는 다음과 같다. #include int main() { IplImage *frame; CvCapture* capture = cvCaptureFromFile("testAVI.avi"); //CvCapture* capture = cvCreateFileCapture("testAVI.avi"); //C..
-
[영상처리] 이미지 파일 출력Programming/영상처리 2014. 1. 14. 04:03
OpenCV의 HighGUI라이브러리에는 다양한 포맷의 영상 파일을 불러올 수 있는 기능이 정의되어 있다.HighGUI 라이브러리를 이용하여 영상을 불러와서 화면에 출력하는 예제이다. #include int main() { IplImage *image = cvLoadImage("lena.jpg"); cvNamedWindow("Test",1); cvShowImage("Test",image); cvWaitKey(0); cvReleaseImage(&image); cvDestroyWindow("Test"); return 0; } cvLoadImage()는 영상 데이터의 구조체 포인터를 반환한다. 인자 값으로 파일명과 형식을 넣어준다.구조체의 이름은 IplImage이며, 단일 채널, 다중 채널, 정수형, 실수형 ..
-
[필기인식] 필기인식 기초지식 - 1Programming/필기인식 2014. 1. 9. 06:24
영어의 경우 평균 필기 속도는 초당 1.5~2.5 문자이고 최고속도는 l을 연속해서 쓸 경우 초당 5~10문자 정도가 된다.한글의 경우 평균 필기 속도는 초당 0.5~1.5 문자이고 최고속도는 이 를 연속해서 쓸 경우 초당 2~3문자 정도가 된다. 테블릿의 경우 x,y축 방향에 0.1~0.5인치 간격으로 격자 형태의 도체가 있다.정상 필기 속도를 감당하기 위해서는 1인치당 최소한 200개의 점을 표현할 수 있는 해상도를 가져야하며, 초당 최소한 100개의 점의 위치를 추출할 수 있어야 한다. 영어는 26개의 알파벳으로 구성되어 있는데, 각각 대문자와 소문자가 있다. 또 필기 방법에는 정차게와 흘림체가 있고, 한 단어에 5개의 문자가 포함된다. 한 문자는 대문자의 경우 평균 2개의 획으로, 소문자의 경우 ..
-
[영상처리] Visual Studio 2010 + OpenCV 2.4.8 설치Programming/영상처리 2014. 1. 6. 01:50
Visual Studio 2010에 OpenCV 2.4.8버전을 설치해 보겠다. Visual 6.0 + OpenCV 1.0 버전부터 Visual Studio2012까지 OpenCV를 설치해 보았지만 OpenCV를 설치하는 일이란 참 귀찮다.. 이번엔 Visual Studio 2010에 설치를 할텐데, Visual Studio 2012에 설치하는 방법이랑 별 다른 차이는 없을듯 하다. 1. OpenCV 다운받기 다운받으러 가기 설치하기 위해 OpenCV 최신버전을 받는다. 현재(2014.1.5) 최신버전은 2.4.8버전이다. 다운받은후 실행하여 압축을 해제한다. 난 C드라이브에 압축해제 하였다. 알아서 opencv라는 폴더가 생성이 될 것이다. 2. 환경변수 설정 내컴퓨터 - 속성 - 고급 시스템 설정 -..
-
[안드로이드] Activity전환 없이 구글 음성인식(STT) 사용하기Programming/안드로이드 2013. 12. 29. 21:41
안드로이드에서 음성인식 기능을 구현하기 위해서는 구글의 Speech-To-Text(이하 STT)기능을 사용하면 됩니다. SST기능을 사용하는 방법은 2가지가 있습니다. 구글에서 지원하는 UI를 사용하거나, 나만의 커스텀 UI를 만드는 방법이 있습니다. 이 두가지 방법을 사용하는 예제는 인터넷에서 충분히 구할 수 있으나 이 두가지 방법은 제 맘에 드는 방법이 아니었습니다. 저는 현재 음성녹음 시작과 함께 음성인식(STT)이 가능한 앱을 개발해야 했는데, 저 두가지 방법은 액티비티 전환이 필요하기 때문에 액티비티 전환 없이 음성인식을 하도록 만들어 보았습니다. 음성녹음의 경우 어렵지 않게 예제를 보고 구현할 수 있기 때문에 음성녹음 시작시 액티비티 전환 없이 음성인식을 하는 기능만 구현하면 되겠거니 생각해서..
-
[안드로이드] 뒤로가기(Back 버튼) 두번 눌러 앱 종료하기Programming/안드로이드 2013. 12. 27. 00:37
요즘 많은 어플들이 뒤로가기 버튼을 두번 눌러 앱을 종료시킨다. 종료하시겠습니까? 라는 확인창이 뜨고 확인을 눌러야 되는 번거로움이 없고, 잘못 종료버튼을 눌렀을 경우에도 토스트 알림창만 뜰뿐 별다른 방해요소가 없어서 참 좋은것 같다. 요즘 대부분의 앱이 이러한 종료 방식을 선택하고 있기때문에 한번 구현을 해보자. 구현방법은 간단하다 뒤로가기 버튼 클릭시 현재시간을 저장하며 토스트 알림창을 띄워주고 한번더 눌렀을때 일정시간(예를들면 2초)가 지났는지 확인하고 일정시간이 지나지 않았을 경우 종료, 지났을 경우 알림창을 다시 띄워주면 된다.0. 시간을 저장하는 변수(t) = 0; 1. 뒤로가기 버튼 (처음)클릭시 시간을 저장하는 변수(t) + 2000(2초)가 현재 시간보다 작다. 2-1. 알림창을 띄운다...