Done/C++_Python

Done/C++_Python

[Deep learning] Pytorch 처음부터 KITTI dataset을 이용한 object detection - [0]

Yolo Make using KITTI dataset [내용] Dataloader : 학습에 필요한 이미지 라벨을 불러오는 과정 Model (model, activation) Train (input -> out (loss, optimize 설정 필요)) / eval(compare gt) logic Loss (evaluation metric) -> 이를 이용해서 backpropagation을 하기 때문에 중요함! (MSE, MAE, Binary cross entropy) [이번 포스트에 들어갈 내용] folder 구조 전체 폴더 구조 ─ yolov3_kitti.cfg ─ main.py ─ utils └─ __init__.py └─ tools.py ─ dataloader └─ __init__.py └─ da..

Done/C++_Python

[C++] 함수의 전달(값, 참조, 주소) [* , &]

최근 python을 많이 사용하다 보니 함수 만들때 자꾸 def를 하질 않나.. object return 할때 여러개를 던지려고 하질 않나... 그래서 정리해본다 🙂 함수 값을 전달할 때 몇 가지 방법이 있는데, 정리하자면 Call by ( value, reference, address ) 가 있다. 그전에 *과 &에 대해서 간단하게 설명하자면 0. *과 & *와 & 는 변수에 대해서 "연산"할 때 사용하기도 "선언", "구문"에서 사용하기도 한다. 1) "연산"으로 써 두 변수의 의미는 다음과 같음 c = a * b // a 와 b를 곱하여 c에 저장 a = 3 & 4 // 비트 연산 (AND) 011 & 100 = a에 0 저장 b = 6 & 10 // 110 & 1010 = b에 2 저장 2) "선..

Done/C++_Python

[Python] 지정 경로에 경로 존재 여부 확인, 디렉토리 생성

작성일자 : 23.02.06 import os # 하위 디렉토리는 생성할 수 없음 os.mkdir('./new_folder') # 디렉토리 생성 1 os.makedirs('./a/b/c', exist_ok=True) # 기존에 해당하는 폴더가 있어도 exception 에러 넘어갈 수 있음 exist_ok = True 하면 # 디렉토리 생성 2 def makedirs(path): try: os.makedirs(path) except OSError: if not os.path.isdir(path): raise path = ~/test/ makedirs(path)

Done/C++_Python

[OpenCV python]컨투어 찾기 ( cv2.findContours )

작성일자 : 21.09.27 외곽선 검출 이진화를 통해 얻은 영상으로 부터 레이블 맵을 생성 함 이미지의 윤곽을 검출한다는 개념 이미지 자체에 검출된 구역을 나눈 후 각각을 contours 로 적용이 됨 컨투어의 크기와 사이즈 각도도 검출할 수 있음 import cv2 import numpy as np img = cv2.imread(IMG_DIR) img2 = img.copy() # 그레이 스케일로 변환 imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 스레시홀드로 바이너리 이미지로 만들어서 검은배경에 흰색전경으로 반전 ret, imthres = cv2.threshold(imgray, 127, 255, cv2.THRESH_BINARY_INV) # 가장 바깥쪽 컨투어에..

Done/C++_Python

[Ubuntu CMake] OpenCV 원하는 폴더에 build & Install

$ pkg-config --modversion opencv # local에 설치 되어있는지 확인 # 설치가 되어있으면 그대로 사용하셔도 되지만 여러버전의 OpenCV를 사용하고 싶으시다면 지우기 $ sudo apt-get install -y cmake # install cmake # folder는 원하는 경로에 $ git clone https://github.com/opencv/opencv.git # clone opencv 폴더 구조는 아래와 같이 구성했다. 나는 로컬에서 여러개의 version을 향후에 사용하고 싶어서 따로 설치 영역을 빼두었다. 그렇지 않으면 그냥 /usr/local ~ 어딘가 설치됨 # 나의 폴더 구조 install_thirdparty ㄴ-- OpenCV |--- install # ..

Done/C++_Python

[Ubuntu CMake] VSCode CMake build&debug (C++)

예전에 vscode에서 c++을 컴파일 하기 위해 .json 파일을 이용해서 하는 것인 줄 알고 vscode 이용을 포기했던 기억이 있다. cmake를 이용하면 아주 간단하다😂 글 내용은 원문을 참고했다. 1. Extensions 설치 - c++ 관련한 extenstions 들을 설치한다 2. 프로젝트 만들기 - 원하는 구조의 프로젝트를 만들고 , cpp 파일을 작성한다. - cmakelist를 작성하는 것이 어렵다면 Ctrl+Shift+P를 누르고 cmake:QuickStart > excutable 을 누르면 main.cpp를 포함하는 basic한 cpp이 생성된다고 함 - Ctrl+Shift+P > CMake:Select a Kit > 원하는 GCC type 선택 - Ctrl+Shift+P > CMa..

Done/C++_Python

[OpenCV C++] 컬러영상을 그레이스케일 이미지로 변환하는 방법(cvtColor & 연산을 이용한 방법 & sol.)

🤗 cvtColor를 이용한 방법 cvtColor 는 어떤 함수인가? document를 눌러보면 알다시피 영상을 다른 색공간으로 변환해 주는 함수이다. void cv::cvtColor(InputArray src,OutputArray dst,int code,int dstCn = 0 ) // src : 입력영상 // dst : 출력영상 // code : 색변환코드 // dstCn : 결과 영상의 채널수 -> 정하지 않으면 자동설정 🤗 연산을 이용한 방법 어떤 연산을 통해서 컬러영상을 그레이로 만들 수 있을까? 단순하게 B, G, R을 1/3 씩 썩을 수 있겠지만 그렇게 하면 정확한 그레이 스케일 영상을 얻었다고 하긴 어렵다. RGB 영상을 → Gray채널로 바꾸기 위해서는 ( Y = 0.299R + 0.58..

Done/C++_Python

[OpenCV C++] 이미지 저장하고 불러오기 , 창닫기 (CV 함수 설명 - 1)

영상 불러와서 출력 #include #include "opencv2/opencv.hpp"int main() { cv::Mat src = cv::imread("../examples/lenna.bmp", cv::IMREAD_GRAYSCALE); if (src.empty()) { std::cerr & params = std::vector() ) /* filename : 저장영상 파일 이름, 형식별로 저장됨 알아서 img : 저장 대상 (Mat) params : 저장옵션 - ex ) Params 값 지정 안 해도 괜찮지만 jpg 압축율을 90% : {IMWRITE_JPEG_QUALITY,90} return : 정상저장 true, 실패 false */ 새 창 띄우기 void namedwindow(co..

728x90
weasel7
'Done/C++_Python' 카테고리의 글 목록 (2 Page)