본문 바로가기
반응형

OpenCV12

jetson nano opencv webcam jetson nano 에선 opencv로 웹캠을 열 때 기존의 방법과 다른 방법이 필요하다 기존에는 cv2.VideoCapture(0)을 통해서 웹캠의 이미지를 불러왔지만 나노는 그렇게 할 경우 초록색 창으로 imshow가 된다. 이를 해결하기 위해선 다음과 같은 명령어를 수행한다. $ sudo apt-get install v4l-utils $ v4l2-ctl --list-formats-ext ## sample test $ gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! nvoverlaysink 패키지를 우선적으로 설치한 후 videocapture부분을 수정한다. cv2.VideoCapture('nvarguscamerasrc ! video/x-raw(memory:NVMM.. 2021. 3. 23.
OpenCV - Blurring(2) & Sharpening 2020/10/28 - [OpenCV] - OpenCV - Convolution & Blurring OpenCV - Convolution & Blurring Convolution이란 수학적 연산을 각 화소에 적용하고 그 값을 변화시키는 것이다. 여기서 말한 수학적 연산을 하기 위해 kernel 이라고 불리우는 또 다른 행렬을 사용한다. kernel은 입력 영상에 비해 아 bigdata-analyst.tistory.com Blurring에 대한 개념은 그 전글을 참고하면 된다. 다양한 블러링에 대해서 알아보겠다. - Motion Blur 모션 블러란 말그대로 움직이는 것 처럼 보이는 것이다. 그 전까지는 3x3, 5x5 등 필터를 줘서 블러링의 효과를 적용하였다면 이번은 수평 방향으로 블러링을 주는 것이다.. 2020. 12. 16.
ROS - opencv 설치 ROS에서 python3로 버전업을 한 후 opencv가 설치되지 않는 문제가 발생하였다. 그래서 간단하게 $ pip3 install python-opencv를 하였더니 setup.bash 오류가...반복 되었다.. 이를 해결하기 위해 가장 원초적인 방법이자 가장 귀찮은 방법을 통해 opencv를 설치하였다. Environment ROS melodic, Ubuntu 18.04, Jetson AGX Xavier OpenCV 설치를 위한 패키지를 미리 설치해준다 $ sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-d.. 2020. 12. 3.
OpenCV - Convolution & Blurring Convolution이란 수학적 연산을 각 화소에 적용하고 그 값을 변화시키는 것이다. 여기서 말한 수학적 연산을 하기 위해 kernel 이라고 불리우는 또 다른 행렬을 사용한다. kernel은 입력 영상에 비해 아주 작은 행렬이다. 이러한 커널을 영상의 각 화소에 대해 커널의 중심을 처리 대상의 화소 위에 올려놓는다. 그리고 커널 행렬의 각 값과 대응되는 화소의 값을 각각 곱하여 모두 더한다. 이 더한 값이 현재 화소의 위치에 대치될 출력 영상의 해당 값이 된다. Blurring 이란 이웃화소들을 평균하는 것을 말한다. (= low pass filter) 이는 저주파를 허용하고 고주파를 차단하는 것이다. 여기서 저주파란 화소값의 변화가 작은 것을 말하고 고주파는 화소의 변화가 큰 것을 말한다. 이러한 .. 2020. 10. 28.
OpenCV - Image Warpping 인공위성에서 받은 이미지 객체나다른 우주계획의 일원으로부터 보내져 온 일그러진 영상을 올바르게 만드는 데 사용하는 것이 바로 Image Warpping 이다. 고도가 너무 높아 이미지가 일그러지는 경우가 있기 때문에 이를 올바르게 만들기 위한 기술이다. Image Warpping은 sin 함수와 cos 함수를 통해 일그러진 것을 정상적인 이미지로 돌린다. - Vertical Wave import cv2 import numpy as np import math img = cv2.imread('img/input.jpg',cv2.IMREAD_GRAYSCALE) rows,cols = img.shape # vertical wave img_output = np.zeros(img.shape,dtype = img.dty.. 2020. 10. 11.
OpenCV - 어파인 변환 및 투상 변환 어파인 변환이란 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 평행 이동, 확대 및 축소, 회전 등 전체 영상의 모양을 바꾸는 기하학적 변환이라고 정의한다. 왼쪽의 그림은 Affine Matrix이다. 이를 적용하기 위해선 이미지의 3가지의 점을 알아야한다.(a,b,c) 일단 코드로 설명을 하겠다. img = cv2.imread('img/input.jpg') rows,cols = img.shape[:2] src_points = np.float32([[0,0],[cols-1,0],[0,rows-1]]) # source points dst_points = np.float32([[0,0],[int(0.6*(cols-1)),0],[int(0.4*(cols-1)),rows-1]]) # destination po.. 2020. 10. 10.
반응형