-
42Seoul
[C] stat / lstat / fstat 함수
파일 상태(정보) 가져오기 지정한 파일의 정보를 담고 있는 stat 구조체를 통해 정보를 얻을 수 있는 시스템 함수들 ls -al 명령어로 알 수 있는 내용들을 대부분 알 수 있다. #include int fstat(int fildes, struct stat *buf); int lstat(const char *restrict path, struct stat *restrict buf); int stat(const char *restrict path, struct stat *restrict buf); 구조체 stat - 함수의 인자로 들어가는 struct stat - st_dev - 파일을 포함하는 디바이스 번호 - st_mode - 파일의 모드 (접근권한) - 파일 종류 비트 마스크로 표시됨 - st_nl..
-
영상처리 & opencv
[opencv] 직선 검출(Line Detection)
참고 출처 : https://076923.github.io/posts/Python-opencv-28/ https://opencv-python.readthedocs.io/en/latest/doc/25.imageHoughLineTransform/imageHoughLineTransform.html https://ko.wikipedia.org/wiki/%ED%97%88%ED%94%84_%EB%B3%80%ED%99%98 직선 검출 알고리즘: 허프 변환(Hough Transform)을 활용 (위 출처의 이론적인 설명이 자세하게 나와 있습니다 ) 위의 사진처럼 3개의 점에 대해서 원점에서 각 점까지의 거리를 𝜃, r로 표현할 수 있다. 이 곡선은 각 점(x, y)에 대해서 r=xsinθ+ycosθ을 만족한다. 허프 ..
-
영상처리 & opencv
[javascript/python] colab에서 웹캠 실행하기
colab에서는 opencv에서 웹캠을 사용하는 cv2.VideoCapture(0) 코드가 동작하지 않는다. 저 코드는 기기에 연결된 장치를 불러오는 데 colab은 서버에 연결되어 있기 때문이다..! 따라서 www.it-swarm.dev/ko/python/google-colab%EC%97%90%EC%84%9C-cap-cv2videocapture-0-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95/809606863/ 링크 안의 https://colab.research.google.com/notebooks/snippets/advanced_outputs.ipynb#scrollTo=2viqYx97hPMi 에서 Camera Capture부분의 코드를 사용하여 colab에서 웹캠을 실행해보았다..
-
알고리즘
[알고리즘] 3-Way inPlaceQuickSort - 네덜란드 국기 알고리즘
서론 quick sort quick sort는 기준 원소 pivot을 설정 후 기준 원소보다 작은 / 기준 원소와 같은 / 기준 원소보다 큰 리스트 3개로 분할하여 정렬한다. 따라서 입력 리스트의 모든 원소는 세 개의 부 리스트 중 하나에 삽입된다. inPlaceQuickSort quick sort는 제자리에서 수행되도록 구현이 가능하다. 입력 리스트의 원소를 재배치할 때 값을 삽입하는 대신 대체 작업을 수행한다. 대체란 입력 리스트 내에서 재배치되어야 할 원소들의 자리를 맞바꾸는 것이다. ※ 지금부터 설명하는 부분은 inPlaceQuickSort를 구현할 때 배열로 구현한다고 가정한다. 연결리스트에서는 쉽게 해결이 가능한 문제이기에 고민할 필요가 없었다. ※ quicksort를 진행할 때 분할 과정에 ..
-
알고리즘
[알고리즘/프로그래머스] 멀쩡한 사각형
Summer/Winter Coding(2019) > 멀쩡한 사각형 / level2 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 나의 풀이 접근방법 1. 가로/세로 길이 W, H의 최대공약수를 구한다. 예시 그림을 보면 2*3 사각형이 4개 반복되면서 규칙적으로 있는 모습이다. 2*3은 가로가 8, 세로가 12인 사각형의 최대공약수인 4로 나눠준 수이다. 여기서 힌트를 얻어 최대 공약수를 구해 사용하였다. (gcd 함수 사용하지 않고 그냥 구했음) m = min(w, h) whil..
-
빅데이터 분석
[R프로그래밍] #4. 자료형-2 (list, matrix), 데이터프레임
리스트(List) - 숫자형,문자형 데이터를 섞어서 저장이 가능 - 벡터와 같이 인덱스 번호로 내부 데이터 접근이 가능 - 리스트 안에 벡터형 데이터도 추가 가능 list(키1=값1, 키2=값2, ...) #해당 키에 값을 할당 #키 없이 값만 넣어도 가능 변수명$추가할key 행중심으로 기록하기를 원한다면 byrow=TRUE 추가 - 행렬의 이름 추가 --> dimnames(행렬) rbind(행렬, 행에 추가할 원소) 2. 열 추가 --> cbind(행렬, 열에 추가할 원소) matrix(행렬의 구성 원소, nrow=행의 개수, ncol=열의 개수, dimnames=행렬의 이름) #열중심(column-major order) #행중심으로 원소를 기록하고 싶을 때 --> matrix(행렬의 구성 원소, nr..