안드로이드에서 카메라에 접근하여 영상을 가져와 화면에 보여주고 버튼을 클릭하면 이미지를 캡쳐하는 예제입니다. 포스트에는 android.hardware.camera2와 android.hardware.Camera를 위한 코드 2가지가 포함되어 있습니다. 최초작성 2015. 11. 19 최종작성 2019. 10. 07 android.hardware.camera2를 사용한 코드를 포스트에 추가하였습니다. 카메라 프리뷰를 전체 화면으로 하면 가로세로비가 안맞기 때문에 약간 왜곡된 프리뷰가 보입니다. 그래서 https://stackoverflow.com/a/43516672 에서 소개하는 방법을 적용했습니다. 실행해보면 프리뷰 화면 아래로 꽤 많은 공간이 남아있습니다. 다른 앱도 같은 식으로 하는 듯합니다. 안드로이..
Android 카메라 동영상 녹화 예제 코드입니다. 2020. 12. 27 최초작성 처음 시작시 권한 설정을 허용해야 합니다. RECORD를 클릭시 카메라 녹화가 시작되며 STOP을 클릭하면 영상이 저장되고 갤러리에서 해당 영상을 찾을 수 있습니다. 영상의 확장자는 MP4입니다. 원본 코드 출처는 아래 주소입니다. 권한 설정 관련 코드가 Deprecated되었는데 해결방법을 찾지못해서 프래그먼트로 작성된 것을 액티비티로 바꾸었습니다. 추가로 영상을 저장시 갤러리에서 찾을 수 있도록 수정했습니다. https://github.com/googlearchive/android-Camera2Video 테스트 환경 Android Studio 4.1.1 Android 10.0+ ( API 30 ) AndroidMani..
OpenCV Python API를 사용하여 카메라로부터 영상을 캡처하는 경우.. 프로그램 종료시 보이는 메시지입니다. 프로그램을 실행하는데 문제가 없어서 무시해도 되지만.. 다음처럼 해서 안보이도록 할 수 있습니다. 윈도우의 경우 해결방법입니다. 우분투의 경우에도 같은 문제가 발생하는지 아직 확인을 못해봤습니다. cap = cv.VideoCapture(0, cv.CAP_DSHOW) 찾아보니 카메라로부터 캡처시 사용할 벡엔드를 지정하는 거라고 하네요. 사용가능한 전체 벡엔드 목록은 아래 링크에서 확인할 수 있습니다. https://docs.opencv.org/master/d4/d15/group__videoio__flags__base.html#ga023786be1ee68a9105bf2e48c700294d
라즈베리파이에 연결된 카메라로부터 캡쳐된 영상을 웹브라우저에서 볼 수 있도록 mjpg-streamer를 사용하는 방법을 설명하고 있습니다. 다음 블로그 글을 참고하여 진행했습니다. https://desertbot.io/blog/how-to-stream-the-picamera 1. 라즈베리파이에 웹캠 또는 파이 카메라를 연결하고 사용할 수 있도록 설정합니다. Raspberry Pi Camera Module( pi camera ) 사용하는 방법 http://webnautes.tistory.com/929 2. mjpg-streamer 소스 코드를 다운로드 받을 디렉토리를 생성합니다. pi@raspberrypi:~ $ mkdir project pi@raspberrypi:~ $ cd project pi@raspb..
OpenCV로 얻은 Camera 영상을 OpenGL 배경과 Cube 텍스쳐(texture)로 사용하는 예제입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471..
OpenCV로 캡처한 영상을 OpenGL 배경 텍스처로 사용하는 예제입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541..
두 대의 카메라로부터 영상을 가져와서 화면에 뿌려주는 예제입니다. 카메라를 더 추가하려면 같은 방식으로 코드를 작성해주면 됩니다. 카메라 연결시 다음 포스팅도 참고해보세요. https://webnautes.tistory.com/176 #include "opencv2/opencv.hpp" using namespace cv; int main(int, char**) { VideoCapture cap1(0); VideoCapture cap2(1); if (!cap1.isOpened()) { printf("첫번째 카메라를 열수 없습니다. \n"); } if (!cap2.isOpened()) { printf("두번째 카메라를 열수 없습니다. \n"); } Mat frame1, frame2; namedWindow("..