일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 루돌프의반란
- 포탑부수기
- 3Dreconstruction
- 코드트리빵
- 이진탐색
- 코드트리
- 싸움땅
- DenseDepth
- 마법의숲탐색
- ARM
- Calibration
- 삼성기출
- ros
- ICER
- 조합
- BFS
- 순서대로방문하기
- 마이크로프로세서
- 구현
- dfs
- 수영대회결승전
- 슈퍼컴퓨터클러스터
- DP
- 시뮬레이션
- 백준
- ISER
- 나무박멸
- 토끼와 경주
- 소프티어
- 왕실의기사대결
- Today
- Total
목록분류 전체보기 (99)
from palette import colorful_colors
참고서적: 이것이 취업을 위한 코딩테스트다 with python - 나동빈 1. 그래프 표현 방법 - 인접 행렬(Adjacency Matrix): 2차원 배열로 그래프 관계 표현 - 인접 리스트(Adjacency List): 리스트로 그래프 관계 표현 2. DFS 구현 # DFS 함수 정의하기 def dfs(graph, v, visited): # 1. 현재 노드 방문 처리하기. visited[v] = True print("visited node:",v) # 2. 현재 노드와 연결된 다른 노드 재귀적으로 방문하기. for i in graph[v]: if not visited[i]: dfs(graph, i, visited) # 확인용 코드 (이 밑의 코드는 없어도 무방) # 3. 모두 방문했다면 해당 dfs..
두 장의 이미지로 파노라마를 만드는 코드입니다. 특징점은 ORB로 잡고 opencv의 findHomography 함수를 이용해 파노라마를 만듭니다. (코드는 뒤쪽에 첨부!) 결과사진: # -- coding: utf8 -- import cv2 import numpy as np def warpImages(img1, img2, H): rows1, cols1 = img1.shape[:2] rows2, cols2 = img2.shape[:2] temp_points = np.float32([[0, 0], [0, rows2], [cols2, rows2], [cols2, 0]]).reshape(-1, 1, 2) list_of_points_2 = cv2.perspectiveTransform(temp_points, H) ..
correlation을 이용해 템플릿매칭을 하는 python code입니다.import numpy as np import cv2 # 소스, 템플릿 이미지 가져오기 img_path = "picture4.jpg" templete_path = "./templete2/heart2.png" img = cv2.imread(img_path,0) template = cv2.imread(templete_path,0) # correlation을 이용해 결과 찾기 cor_result = cv2.matchTemplate(img, template, cv2.TM_CCORR_NORMED) # 위치 찾기 min_value, max_value, min_location, max_location = cv2.minMaxLoc(cor_res..
uint8로 된 depth 이미지를 int32로 바꾸는 예시. cv2를 사용하면 자꾸 다시 uint8로 돌아가길래 PIL의 Image를 사용했다. from PIL import Image import numpy as np import matplotlib.pyplot as plt depth_image = np.array(Image.open("./depth_25.png")) depth_image[depth_image >= 0.00392] = 1 depth_image[depth_image < 0.00392] = 0 # 변환 depth_image_uint8 = depth_image depth_image_int32 = depth_image_uint8.astype(np.int32) print(depth_image_i..
1. 입출력 한 줄에 여러개 입력 받기: map 함수와 input의 split을 이용하고, list로 map을 묶어준다. # 예시: 1 2 4 3 5 를 list로 입력받고 정렬하고 싶을때: number = list(map(int, input().split())) number.sort() 여러줄에 여러개 입력받기 (List Comprehension 활용): comprehension과 list로 map을 묶어준다. # 예시: 라인을 받을 횟수 n을 입력받고 라인마다 push 1 ,.... 이런식으로 여러줄에 여러개가 있을때: n = int(input()) command = [list(map(str, input().split())) for _ in range(n)] for c in command: # c[0..
Arm 명령어에 대해 알고 싶다면 아래 링크 클릭 https://colorful-palette.tistory.com/48 예시1: Register indirect addressing mode (원하는 주소에서 값을 넣고 포인터를 상승시키는 예시) → 0x12456주소에 25를 넣고 포인터 상승시키기 #include int main(){ char * ourPointer; ourPointer = (char*) 0x12456 // ourPointer를 1byte char형을 가리키는 포인터로 선언했다. *ourPointer = 25 ourPointer ++ return 0; } LDR R2, = 0x12456 MOV R0, #25 STRB R0, [R2] ADD R2, R2, #1 예시2: 주어진 배열에서 M..
해당 포스팅은 RISC계열 명령어중 ARM 명령어들을 정리한 포스팅입니다. 1. 기본 명령어(move, load, store) MOV Rm or Op2 : register값(Rm) 혹은 immediate value (Op2) 값을 레지스터로 복사 예시: MOV R2 #25 ; 25를 R2 레지스터에 넣는다 MOV R2 #0x87 ; 16진수 87을 R2 레지스터에 넣는다 LDR Rd [Rx] : (Rx레지스터의 값)에 해당하는 주소에 있는 값을 Rd로 불러온다. STR Rx [Rd]: Rx값을 (Rd레지스터 값)에 해당하는 메모리 주소에 저장한다. 1-2. 추가적인 load, store instruction: LDRB / LDRH Rd [Rx] : (Rx레지스터의 값)에 해당하는 주소에서 1byte / ..
Computer vision에서 calibration은 카메라나 센서와 같은 장치의 내부 파라미터와 외부 파라미터를 조정하는 과정을 말합니다. 이 과정을 위해선 실제 세상의 3D 좌표계에서 픽셀의 좌표계까지 변환이 먼저 필요합니다. 이러한 변환과정과 내부 파라미터(Intrinsic parameter를 먼저 소개하겠습니다. 1. 물체점 → 영상점 → 픽셀점 까지 이동과정 실제 세상을 카메라로 담는 과정에서 실제 세상의 3D 좌표가 픽셀의 2D 좌표로 이동하게 된다. 먼저 실제 세상(물체점), 영상점(ccd 이미지 센서에 맺히는 점), 픽셀점(이미지 픽셀의 점)을 각각 다음처럼 수식으로 정의한다. 이렇게 정의한 각 3 점의 벡터를, 후에 있을 행렬 계산 편의를 위해 homogenous로 바꿔주어 차원을 더해..