FFmpeg를 사용하여 웹캠 영상을 RTSP 스트리밍하고 RTSP URL을 입력으로 영상을 재생시켜봅니다.Ubuntu 22.04에서 테스트를 진행하였습니다. 2020. 7. 12 최초작성, Ubuntu 20.042024. 8. 15 Ubuntu 22.04, rtsp 서버 프로그램 변경웹캠 정보를 확인하기 위한 패키지를 설치합니다. $ sudo apt install v4l-utils현재 PC에 연결된 웹캠의 디바이스 파일을 확인합니다. $ v4l2-ctl --list-devices확인해보면 /dev/video0와 /dev/video1 두개의 디바이스 파일이 찾아지지만 webnautes@webnautes-PC:~$ v4l2-ctl --list-devicesIntegrated Camera: Integ..
FFmpeg를 사용하여 webcam을 RTSP 스트리밍하고 OpenCV에서 해당 영상을 확인하는 과정을 다룹니다. 2021. 6. 10 최초작성2024. 6. 23 최종작성1. 아래 링크에서 mediamtx windows 버전( 이름에 windows_amd64가 붙은 것)을 다운로드하여 적당한 곳에 압축을 풀어줍니다. https://github.com/bluenviron/mediamtx/releases mediamtx.exe를 실행합니다. 접속을 허용하냐고 물어보면 예를 클릭합니다. 다음처럼 실행됩니다. 2. 아래 링크에서 윈도우 버전 ffmpeg-release-full.7z를 다운로드합니다.https://www.gyan.dev/ffmpeg/builds/ 압축을 풀어 ffmpeg-7.0-full_..
OpenCV.jl을 사용하여 Julia에서 OpenCV로 webcam 영상을 보는 방법을 다루고 있습니다. 2023. 11. 27 최초작성 다음 포스트를 참고하여 Julia 개발 환경을 구성하세요. Visual Studio Code 사용한 Julia 개발 환경만들기(Windows / Ubuntu / Macbook M1) https://webnautes.tistory.com/2216 OpenCV.jl 코드 실행하는 방법은 다음 포스트를 참고하세요. OpenCV.jl - Julia 에서 OpenCV 사용하기 https://webnautes.tistory.com/2222 웹캠에서 영상을 가져와 화면에 보여주는 코드입니다. 실행하면 영상을 보여주는 윈도우가 보이고 ESC키를 누르면 윈도우가 종료됩니다. usin..
다음 포스트에 있는 주사위 눈 개수 세는 OpenCV Python 예제를 웹캠 영상에서 테스트해본 결과입니다. 주사위 눈 개수 세는 OpenCV Python 예제 https://webnautes.tistory.com/2107 2023. 5. 29 최초작성 테스트 결과입니다. https://youtu.be/GHNIXuXUgrM 사용한 전체 소스코드입니다. import cv2 import numpy as np def lab_equalizer(img, new_channel): lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB) l,a,b = cv2.split(lab) merged_lab = cv2.merge((new_channel,a,b)) bgr_img = cv2.cvtColor(m..
파이썬의 TCP 소켓을 사용하여 웹캠에서 캡쳐한 이미지를 전송하는 서버와 클라이언트를 간단히 만들었습니다. 웹캠으로부터 이미지 캡쳐는 OpenCV를 사용하였습니다. 서버에는 두 종류의 쓰레드를 생성합니다. 웹캠으로부터 캡처한 이미지를 큐에 삽입하는 쓰레드와 클라이언트가 접속하면 큐에서 이미지를 꺼내어 클라이언트에 전송하는 쓰레드입니다. 서버에서 이미지를 전송하기 전에 넘파이 배열을 압축한 후, 최종적으로 String으로 변환해야 하고 클라이언트에서는 수신된 String 데이터를 넘파이 배열로 변환하여 화면에 보여줍니다. 서버 프로그램을 실행 후, 웹캠 영상이 화면에 보여지면 클라이언트 프로그램을 실행하세요. 여러 개 실행가능한데 몇 개 까지 가능한지 확인 안해봤습니다. 파이썬에서 소켓 사용하는 방법에 대..
Ubuntu에 GStreamer를 설치하고 웹캠에서 영상을 가져와 화면에 출력해봅니다. 보다 자세한 내용은 GStreamer 홈페이지에 있는 튜토리얼 문서를 참고하세요. https://gstreamer.freedesktop.org/documentation/tutorials/index.html?gi-language=c 2020. 7. 11 최초작성 2022. 9. 12 v4l2src 플러그인 사용하도록 수정 2023. 1. 21 설치 패키지에서 gstreamer1.0-doc 제거 우선 진행하기 전에 패키지 목록을 업데이트합니다. $ sudo apt update GStreamer를 설치합니다. $ sudo apt install libgstreamer1.0-0 libgstreamer1.0-dev gstream..
MFC에서 VFW(Video For Window)를 사용하여 웹캠의 영상을 가져온 후, 그레이스케일 영상으로 변환하여 PIcture Control에 원본과 그레이스케일 영상을 보여주도록 만들어 보았습니다. ps. 프로젝트가 32비트인 경우에만 정상적으로 동작하는 듯합니다. 64비트로 변경시 capDriverConnect 함수에서 에러가 나네요. 2020.11.20 다시 테스트해보니 64비트 에서도 정상적으로 웸캠 영상을 가져옵니다. 하지만 일부 웹캠에서 사용하는 픽셀 포맷과 안맞아서 검은 화면이 나오는 듯합니다. OpenCV를 사용하여 얻은 영상을 Picture Control에 보여주는 방식도 있습니다. 다음 포스트를 참고하세요. OpenCV와 MFC 연동해서 웹캠 영상을 출력하기 https://webn..
OpenCV에서 캡처한 웹캠 영상을 MFC의 Picture Control에 보여주기 위해 필요한 과정을 설명합니다. OpenCV 4.5.3과 Visual Studio Community 2019를 사용해서 진행했지만 다른 버전에서도 거의 동일하게 동작할 듯합니다. 다이얼로그기반 MFC 프로젝트 생성부터 예제 코드 실행까지 단계별로 설명합니다. 1. MFC 응용 프로그램 생성 2. UI 구성 3. OpenCV 관련 코드 추가 4. 실행 결과 5. 참고 2015. 11. 19 최초 작성 2018. 10. 22 그레이스케일 영상으로 변환 후, 영상출력이 제대로 안되는 문제가 있었네요.. BITMAPINFO에 palette를 추가해서 해결했습니다. 2021. 9. 25 Visual Studio 2019, Open..
버추얼박스에 설치된 우분투에서 웹캠을 사용하는 방법을 다룹니다. 최초작성 2019. 8. 23 버추얼박스의 가상머신 창에 있는 메뉴를 보면 아래 스크린샷처럼 장치 > 웹캠에서 컴퓨터에 연결되어 있는 웹캠이 보입니다. 하지만 체크를 해도 게스트 운영체제인 우분투에서 사용할 수 없습니다. 실행중인 가상머신을 종료한 후, https://www.virtualbox.org/wiki/Downloads 에서 VirtualBox Extension Pack를 다운로드 받아 더블 클릭하여 설치합니다. 가상머신의 설정에서 USB 3.0 컨트롤러를 사용하도록 변경합니다. 호스트 운영체제인 윈도우의 명령 프롬프트에서 컴퓨터에 연결된 웹캠을 확인합니다. 노란색 부분 경로를 따로 복사해두세요. "C:\Program Files\Or..
webcam에서 가져온 영상을 mp4로 저장하는 OpenCV Python 예제입니다. 2022. 3. 30 최초작성 # 참고 # https://github.com/dgseten/bad-cv-tfm/blob/2ada9b71f85aa5eb75c1f4a039cb14d697ee2f69/tools/video/video-player-wait-fps.py # https://stackoverflow.com/a/65146731 # https://stackoverflow.com/a/41666642 import cv2 import time import os # 이미지에 텍스트를 출력하는 함수 def draw_text(img, text, x, y): font = cv2.FONT_HERSHEY_SIMPLEX font_scale..