반응형

전체 글 194

[OpenCV] 이미지 편집하기 (Editing Image)

이미지 리사이즈, 자르기 (Resize, Crop) 보통 OpenCV에서 이미지의 크기를 바꿀 때에는 resize()함수를 사용한다. 자르는 경우에는 따로 함수를 쓰지 않고, 이미지가 행렬로 표현되어있는 점을 이용해 리스트 슬라이싱을 행한다. import cv2 import numpy as np img = cv2.imread("Resources/lambo.png") print(img.shape) # np.shape는 행렬의 크기 및 차원을 표현한다. imgResize = cv2.resize(img,(1000,500)) # width, height 순서로 표현한다. print(imgResize.shape) imgCropped = img[0:200,200:500] # height는 0-200, width는 ..

AI/OpenCV 2021.10.04

[OpenCV] 여러가지 이미지 처리 함수

여러가지 이미지 처리 함수 import cv2 import numpy as np img = cv2.imread("Resources/lena.png") kernel = np.ones((5,5),np.uint8) # Convolution에서의 Kernel과 같은 의미로, 곱해주는 행렬을 의미한다. imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # Gray Scale로 바꾼다 imgBlur = cv2.GaussianBlur(imgGray,(7,7),0) # Blur 처리한다 imgCanny = cv2.Canny(img,150,200) # edge를 찾아서 남긴다 imgDialation = cv2.dilate(imgCanny,kernel,iterations=1) # edge..

AI/OpenCV 2021.09.25

[OpenCV] 이미지, 비디오 파일 불러오기, 웹캠 불러오기

이미지 불러오기 import cv2 # opencv를 import한다. # LOAD AN IMAGE USING 'IMREAD' img = cv2.imread("Resources/lena.png") # 이미지를 읽어올 경로를 넣어준다. # DISPLAY cv2.imshow("Lena Soderberg",img) # 첫 인수는 창 이름, 다음 인수는 img 객체를 받는다. cv2.waitKey(0) # 0은 영원히 기다린다는 의미이다. 비디오 불러오기 import cv2 frameWidth = 640 frameHeight = 480 cap = cv2.VideoCapture("Resources/test_video.mp4") # video 객체를 반환한다. 그 객체는 매순간을 캡처해서 남길 것이다. while ..

AI/OpenCV 2021.09.24

[CMake] Library Options : 라이브러리에 옵션을 추가하기

소제목 이번에는 CMake에서 각각의 라이브러리에 옵션을 달아 줄 것이다. 우리가 추가해줬던 adder.h를 쓰냐, 안쓰냐에 따라서 (이것이 옵션이 된다.) 출력되는 결과물이 달라지게 하는 것이 목표다. CMakeLists.txt를 다음과 같이 수정한다. cmake_minimum_required(VERSION 3.21.1) # 프로젝트명 : 실행파일 이름이 된다. 버전도 여기에 적을 수 있다. project(OLAS VERSION 1.0) # adder use logic # 라이브러리에 option을 준다. # OFF로 바꾸면 subdirectory를 빌드에서 추가하지 않게 되는 코드로 사용하고자 한다. 더 아래의 코드와 함께 사용해서 말이다. option(USE_ADDER "A simple librar..

[CMake] Git Submodules/external library(서브모듈, 외부 라이브러리)를 이용하기

Git Submodules를 이용해보자. Git에 대해서 잘 모른다면, 혹은 Git 관련 커맨드라인 명령어에 대해서 잘 모른다면 다음 글을 먼저 읽어보자 2021.08.04 - [Computer_Engineering/Git] - [Git] 초보를 위한 깃허브 사용법 (Github) 1편 2021.08.06 - [Computer_Engineering/Git] - [Git] 초보를 위한 깃허브 사용법 (Github) 2편 Git에서 submodule의 의미는 다음 글들을 읽어보는 것이 더 좋을 것 같다. git에서 submodule이란??? Git 의 서브모듈(Submodule) - Sungho's Blog (sgc109.github.io) 다음 .gitignore파일을 추가하자. # Prerequisite..

[CMake] Versioning the Source Code : CMakeLists를 통해 소스코드 버전명 만들기

CMakeLists를 통해 프로젝트 버전명 만들기 CMakeLists.txt는 다음과 같이 고친다. cmake_minimum_required(VERSION 3.21.1) # 프로젝트명 : 실행파일 이름이 된다. 버전도 여기에 적을 수 있다. project(OLAS VERSION 1.0) # 헤더 파일에도 이 버전에 대해서 인지시킨다. # Input/Output 순서로 적는다. configure_file(OLASConfig.h.in OLASConfig.h) # 빌드해서 나올 것들. 프로젝트명을 실행파일 이름으로 한다. 빌드 대상은 main.cpp add_executable(${PROJECT_NAME} main.cpp) # 헤더파일을 input에서 output으로 만드는 데 필요한 경로를 입력한다. # ve..

아두이노 컴파일 시 error: cannot convert 'USBSerial*' to 'HardwareSerial*' in assignment 문제

error: cannot convert 'USBSerial*' to 'HardwareSerial*' in assignment 최근 팀프로젝트를 하는 중, 아두이노에서 .ino파일과 .cpp, .h 파일을 동시에 컴파일 하는 일이 있었다. 그런데 이런 에러가 떴다. In file included from /home/pjs/Arduino/libraries/Rosserial_Arduino_Library/src/ros.h:39:0, from /tmp/arduino_modified_sketch_218835/h_Position.ino:20: /home/pjs/Arduino/libraries/Rosserial_Arduino_Library/src/ArduinoHardware.h: In constructor 'Ardui..

[CMake] Makefile과 CMake

Makefile에 대한 소개 makefile은 컴파일 작업에 있어서 여러번 터미널창에 쳐야하는 명령어들을 하나의 파일에 모아서 작성한 것입니다. default: gcc main.cpp -o out 라고 작성하면, 터미널 창에 make라고 입력했을 때 터미널 창에 자동으로 `gcc main -o out`이 입력됩니다. 이를 이용하면 간단하게 out이라는 이름의 실행파일이 생성됩니다. 여러개의 파일을 동시에 컴파일 해보자 main.c, foo1.c, foo2.c를 각각 컴파일하여 Object파일을 생성하고, 링크를 통해서 a.out을 생성합니다. 여기서 foo1과 foo2는 main에 대해 의존성이 발생합니다. 원래는 이렇게 컴파일하려면 다음과 같이 CLI에서 명령해줘야합니다. gcc -c -o main.o..

[CMake] Makefile과 CMake 학습 자료 정리

블로그 구글 검색을 통해서 나온 글 중에서는 이 사이트의 설명이 가장 좋았다. Makefile을 사용하는 이유가 그저 명령어 여러번 치기 싫어서인 줄 알았는데, 해당 글을 보면서 Incremental Build라는 개념도 알게 되었다. 가능하면 아래의 유튜브 영상을 보기 전에 정독해보는 편이 좋을 것 같다. 꼭 외우거나 할 필요는 없다. [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 - ECE - TUWLAB [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 - ECE - TUWLAB 리눅스 환경에서 소스코드를 다운받아서 수동으로 프로그램 설치를 해 보신 분들은 다음 세 줄의 명령어에 매우 익숙할 것입니다. ./configure make sudo make ins..

반응형