전체 글 437

Opencv multi webcam 사용 시 인식 확인

opencv에서 라이브 웹캠을 2개 이상 사용하고자 할 때, 보통 아래와 같이 접근한다. import cv2 cam0 = cv2.VideoCapture(0) cam1 = cv2.VideoCapture(1) ... camN = cv2.VideoCapture(N) #N is a camera index 이 때, 분명 카메라 N대는 제대로 연결되어 있는데 다음과 같은 오류가 나면서 인식이 안되는 상황이 있을 수 있다. [ WARN:0@0.132] global /io/opencv/modules/videoio/src/cap_v4l.cpp (889) open VIDEOIO(V4L2:/dev/video1): can't open camera by index 이 문제의 원인은 코드에 사용한 camera index와 실제 ..

Knowhow/Vision 2022.06.13

Opencv webcam resolution control

opencv로 웹캠의 해상도를 변경하고 싶을 때, 보통 아래와 같은 코드로 변경한다. import cv2 cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) 그런데 위 코드가 동작하지 않을 때가 있는데 그 이유는, 1. 카메라가 지원하지 않는 해상도일 경우, 2. 카메라가 지원하는 해상도이지만, pixel format이 안 맞을 경우 1. 카메라가 지원하지 않는 해상도일 경우는 당연히 안된다. 2. 카메라가 지원하는 해상도이지만 그래도 안되는 경우는 pixel format이 YUYV인지, MJPG인지 확인할 필요가 있다. uvcdynctrl -f Linux일 경우, ..

Knowhow/Vision 2022.06.13

HTML tips

Tips 1. 폴더명 및 파일명은 소문자로 구성되어야 함. 2. 형태로 이루어진 태그 내에 content를 닮는 형식을 반복하며 코딩. 유효한 tag가 아닐 경우, 무시되고 content는 그냥 text로 출력됨 (html에서는 에러가 없음. 그저 text로 출력되고 의도한 형태로 content가 보이지 않을 뿐) 3. 모든 html 문서는 로 시작해야 함. 크롬의 경우, 알아서 해주기도 하지만 원칙 상. lang은 검색 엔진을 돕기 위해 일반적으로 설정함. 4. 검색할 때 mdn 이라는 키워드를 끝에 붙여서 검색하면 mozila developer network ,firefow 만드는 회사가 만든게 뜸. 안붙이면 w3 schools가 뜨는데 별로임. 5. 여는 tag, 닫는 tag를 동시에 수정하고자 할..

Knowhow/Web 2022.06.12

torch_geometric/pyg 사용 시 propagate 혹은 forward 오류 해결법

Graph neural network 구현을 용이하도록 개발된 torch_geometric 혹은 요즘 새로운 이름 pyg를 사용할 때, 모든 오류를 고쳐서 가까스로 import 했더니 propagate나 forward 에서 터져버리는 오류가 날 때가 있다. 온갖 구글링 결과, 같은 상황으로 고통받던 한 사람이 단순히 open3d와 torch의 import 순서를 바꿨더니 해결했다는 말이 있었다. 다시 말하면, 왜 그런지 모르겠는데 open3d가 torch 이전에 import 되어있을 때 났다 import open3d import torch # this order causes torch_geometric error 위와 같은 순서로 하면 오류가 나고 import torch import open3d # th..

Docker 사용 시 docker daemon에 연결 안 될 경우

Docker를 사용하는 초반에 각종 키워드 익히기도 바쁜데, 무슨 키워드를 쳐도 다음과 같은 오류가 날 때가 있다. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 위 오류는 근데 단순히 docker engine이 활성화가 안 되어있어서 그런 것이다. sudo systemctl status docker 위 명령어를 쳤을 때, docker engine이 inactivate 되어있는 것을 볼 수 있다. sudo systemctl start docker sudo systetmctl enable docker 단순히 활성화 시켜주면 해결된다.

Trouble/Docker 2022.03.02

RTX 3090 GPU pytorch error : cuda 사용 안되는 문제

RTX 3090 GPU를 장착한 컴퓨터에서 conda나 pip로 pytorch를 그냥 설치할 경우, 아래와 같이 cuda 사용이 안된다는 오류가 뜰 때가 있다. RTX A6000 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70. If you want to use the RTX A6000 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/ 이유는 적혀있는대..

Opencv 광각 (Large FoV) 카메라 intrinsic calibration

Opencv 를 이용해서 카메라를 intrinsic calibration하고자 할 때, 보통은 아주 쉽게 다음의 함수를 이용해서 할 수 있다. import cv2 mtx = None dist = None rvecs = None tvecs = None obj_points = TARGET_3DPOINT img_points = TARGET_2DPOINT RMSE, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(obj_points, img_points, (img_w, img_h), mtx, dist, rvecs, tvecs) 하지만 광각 카메라로 취득한 이미지를 대상으로 intrinsic calibration을 시도할 때, 위 함수를 그대로 사용할 경우, reprojectio..

Knowhow/Vision 2021.11.22