일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- cv2
- level2
- 3D
- Threshold
- flame
- 스택
- OpenCV
- reconstruction
- 딥러닝
- center loss
- deep learning
- numpy
- Python
- Object Detection
- Deeplearning
- 논문 구현
- 알고리즘
- re-identification
- transformer
- 임계처리
- point cloud
- Computer Vision
- NLP
- 자료구조
- Object Tracking
- Knowledge Distillation
- attention
- 프로그래머스
- 큐
- Today
- Total
목록코딩 (21)
공돌이 공룡의 서재

코로나때문에 집에서 보내는 크리스마스였는데 심심해서 만들어보았다. 2D로 만든 코드들은 많았는데 3D로 만든 것이 없어서 Numpy 모델로 구현해보았다. 만들면서 numpy와 matplotlib.pyplot의 3D scatter에 대한 여러 함수들을 다뤄볼 수 있다. There are many 2D tree but no 3D tree, so I made christmas tree 3D model by using Numpy library. We can learn how to use numpy and matplotlib library for 3D scatter. #!/usr/bin/env python # coding: utf-8 import numpy as np import matplotlib.pyplot ..

John F Canny라는 분이 개발한 알고리즘으로, 간단 요약하자면 이미지 상에서 edge, 즉 경계선 또는 테두리를 찾을 때 유용한 알고리즘이다. 코드는 원리에 비해 간단해서 원리를 몰라도 사용 가능하지만 어떻게 찾는지 정도만 읽으면 도움이 될 것이다. 어떻게 찾을까. 5개의 과정을 거치는데 다음과 같다. (출처: en.wikipedia.org/wiki/Canny_edge_detector) 1. 가우시안 필터를 이용하여 이미지 상에서 노이즈를 제거하여 smooth 이미지를 얻는다.: 가우시안 필터란 저주파 필터에 해당하는 필터다. 저주파 필터란 주파수가 작은 신호들은 통과시키고 높은 신호들은 거르는 역할을 하는 필터다. 일반적으로 5x5 크기의 필터를 사용하고, 필터 크기가 클수록 노이즈에 대한 민감..

0. 들어가기 전 2020/08/18 - [코딩/자료구조] - [Python] 자료구조: 스택(Stack) / LIFO [Python] 자료구조: 스택(Stack) / LIFO 1. 기본 개념 스택(Stack)이란 쌓아 올린다는 의미가 있다. 차곡차곡 쌓여있는 접시들을 생각해보자. 접시를 쌓을 때 위로 하나씩 올리고 뺄 때도 위에서부터 하나씩 뺀다. 중간에 있는 접시를 빼 mr-waguwagu.tistory.com 이번 포스트에서는 기본적인 개념에 대해서는 설명하지 않고, 간단한 예시를 통해 어떻게 쓰일 수 있는지를 정리하고자 한다. 스택구조가 어떻게 구현됐는지와 O(n)이 나오는지를 유의하며 보자. 1. 클래스 정의 class Stack: def __init__(self): self.box = [] d..

지금까지 배운 임계처리 방식에서는 단점이 하나 있다. 바로 조명에 약할 수 있다는 것. 사진을 찍을 때 조명의 위치에 따라서 어떤 사물은 그늘이 져있어 더 어둡게 보일 수 있고, 어떤 사물은 빛이 강해서 원래 색보다 더 밝게 보일 수 있다. 상황에 따라서는 글자의 일부분은 읽을 수 있는데 다른 부분은 어두워서 읽지 못하는 경우도 생길 것이다. 이런 그림이 있다고 생각해보자. 3등분했을 때 조명 차이가 뚜렷히 나는 사진이라고 생각해보자. 여기서 사람, 사과, 집 (객체)를 배경과 구분하여 얻고 싶은 상황이다. 하나의 임계값 (Tau 0)로 전체 이미지에 대해 임계처리를 한다 생각하자. 임의로 왼쪽부터 영역의 픽셀값이 60, 120, 180이라 하고, 임계값을 그 가운데 값인 120이라고 하자. 그럼 집이 ..

0. 들어가기 전 2020/09/02 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold 2020/09/11 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (2): otsu algorithm thresholding 논문 분석 및 구현 첫 번째 임계처리 포스트에서 otsu와 triangle에 대해 알아보았고, 두 번째 포스트에서는 otsu를 deep하게 알아보았다. 이번 포스트에선 마지막으로 triangle algorithm을 자세히 다루고자 한다. 이 thresholding은 정보면에서 조금 문제가 있었기에 목차는 다음과 같이 하여 작성하겠다. 논문 설명 알고리즘 코드 구현 (1) & 문제 상..

0. 들어가기 전 2020/09/02 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold 오늘 갖고놀 이미지. 임계 처리란 임계값(threshold value. 경계가 되는 기준 값)을 기준으로 이미지를 이진화화는 것을 말한다. 이진화를 이진화를 했을 때 0과 255로 이루어진 흑백 이� mr-waguwagu.tistory.com 이전 포스트의 마지막에서 threshold의 여러 방법들 중에서 otsu 와 triangle에 대해 간단하게 알아보았다. 주어진 threshold를 사용하지 않고 자체적인 alogrithm을 따라 새로운 t..

from math import ceil def solution(progresses, speeds): answer = [] #1 period = [ceil((100-progresses[i])/speeds[i]) for i in range(len(progresses)-1, -1, -1)] #2 release = [] elapse = period.pop() release.append(elapse) #3 while len(period) > 0: work = period.pop() if elapse < work: answer.append(len(release)) release = [] period.append(work) elapse = work else: release.append(work) answer.appe..