반응형

분류 전체보기 71

[Python opencv] cv2 색상 구분 기준으로 라인 그리기

이미지에서 색상이 변경되는 곳에 점을 찍어주어 라인을 그려주는 방법입니다. 이미지에는 수십만 가지 색상이 존재합니다. 아무리 간단해 보이는 이미지도 수만 가지 이상은 됩니다. 따라서 색상을 기준으로 라인을 그리기 위해서 우선, 색상 단순화가 먼저 진행되어야 합니다. 색상 단순화 알고리즘은 여기서 확인할 수 있습니다. 링크 라라랜드 포스터를 가지고 실험을 해보겠습니다. 우선, 이미지에서 색상을 단순화시킵니다. 32개의 색상으로 단순화시킨 결과입니다. 이미지가 그림처럼 변환된 모습을 볼 수 있습니다. 그럼 이제 색상 변경 지점을 기준으로 선을 그려보겠습니다. import cv2 import numpy as np def drawLine(colorImage): # 라인 그려줄 캔버스 (input 이미지와 sha..

[2021 삼성전자] SW 직군 서류 합격 후기 및 팁

2021년 상반기, 삼성 전자 대학생 인턴 CE/IM(현 DX)에 지원했습니다. (22.03.11 추가 : 하반기에 같은 방식으로 3급 공채도 썼고 합격했습니다.) 지원 기간 : ~3월 22일 서류 합격 발표일 : 4월 13일 오후 6시경 운이 좋게, 붙어버렸고 (사실 왜 붙은건지 아직도 모르겠습니다만....) 서류 전형을 작성하면서 스스로 강조하고 싶었던 부분, 그리고 다른 사람들의 합격 자소서를 보고 느꼈던 점에 대해 적어보겠습니다. 어학 사항 어학 사항 "단 하나" 있었습니다. 삼성 지원 자격중 하나인 OPIC. 그것도 턱걸이 점수였습니다. 토익 토스 텝스 하나도 없었습니다. 학력 사항 고등학교, 대학교를 차례로 입력하시면 됩니다. 대학교에서는 전체 평균학점을 기재해야하며, 성적 증명서를 별도 첨부..

경험/취업 2021.05.03

[Python] 백준 14499번 : 주사위 굴리기

※문제 출처 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 명령을 통해 주사위가 계속 움직이는 프로그램입니다. 주사위를 클래스로 설정하여 구현했습니다. 주사위 모든 면의 숫자를 알 수 있게 dictionary를 선언해줍니다. dice = { key : 주사위 면, value : 적힌 숫자 } changeDice 함수 방향을 입력하면 주사위의 모양이 변경됩니다. 주사위 모양은 바..

baekjoon 풀이 2021.04.18

[Python] DFS, BFS 알고리즘

# 전역 변수 # 트리를 딕셔너리 형태로 표현 # Key: 노드 / Value : 하위 노드 list graph = { 1:[2,3,4], 2:[5], 3:[5], 4:[], 5:[6,7], 6:[], 7:[3] } DFS (깊이 우선 탐색, Depth First Search) 루트 노드(최상위)부터 리프 노드(최하위)까지 탐색한 후, 다시 올라와서 내려가는 방식 스택(Stack)을 활용할 수 있음 재귀(Recursion) 함수를 활용할 수 있음 # 재귀 함수 이용한 DFS # Input : 최상위 노드 값 def recursion_dfs(node, discovered=[]): discovered.append(node) # 탐색한 노드에 추가 for x in graph[node]: # 해당 노드 하위의 ..

[2021년] 정보처리기사 필기 시험 공부 방법

지난 포스팅인 시험 후기에 이, 공부 방법에 대해 간략하게 설명하겠습니다. tech-diary.tistory.com/15 집중력, 암기력 등은 사람마다 차이가 있으며, 사전 기본 지식 또한 개인차가 있기 때문에 참고 정도로 보시면 좋을 것 같습니다. # 교재 “시나공” 별다른 이유가 있어서 선택한 것은 아니고, 학교 특강에서 책을 제공해주어 해당 서적으로 공부하게 되었습니다. # 시험 배경 2020년 정보처리기사 과목이 개편되었습니다. - 개정 전 : DB, 전자계산기구조, OS, SW공학, 데이터 통신 - 개정 후 : SW 설계(SW공학 내용 포함), SW 개발, DB, 프로그래밍 언어 활용, 정보 시스템 구축 관리 2021년 1회차 시험을 보았습니다. 정보처리기사가 2020년부터 개정되었고, 2020..

경험/활동 2021.04.09

[Python OpenCV] 이미지를 그림화 하기 (색 일반화)

OpenCV를 활용하여 이미지를 그림처럼 바꾸어주는 방법 먼저 이미지를 읽어줍니다. import cv2 import numpy as np image = cv2.imread("./test.jpg") 이미지를 Blur 처리 해주어야 합니다. Blur 종류에는 여러가지가 있는데, 이미지에서 라인(경계선)을 살리기 위해 bilateralFilter 방식을 적용합니다. 함수를 만들어 주겠습니다. def blurring( image, radius = 10, sigmaColor = 50 ) : qimg = image.copy() #이미지 복사 # 이미지 크기에 따라 blur 효과의 정도를 달리합니다. sigmaColor += (qimg.shape[1] * qimg.shape[0]) // 100000 radius +=..

[Python] Numpy Array를 DB (SQLite)에 저장하기

Image Processing 관련 project 진행 도중 numpy array를 sqlite3에 저장할 필요가 생겼습니다. 방법을 찾던 도중 가장 괜찮은 방법을 소개하겠습니다. 우선, 필요한 모듈을 import 해줍니다. import sqlite3, io 1. Numpy Array -> DB Text > DB에 INSERT 할 때, array를 text로 변경해주는 함수입니다. # nd.array to text when Insert DB def adapt_array(arr): """ http://stackoverflow.com/a/31312102/190597 (SoulNibbler) """ out = io.BytesIO() np.save(out, arr) out.seek(0) return sqlite..

[Python] 백준 16637번 : 괄호 추가하기

https://www.acmicpc.net/problem/16637 [Problem] 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 136이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, 3+8×7-9×2에 괄호를 3+(8×7)-(9×2)와 같이 추가했으면, 식의 결과는 41이 된다. 하지만, 중첩된 괄호는 사용할 수 없다. 즉, 3+((8×7)-9)×2, 3+((8×7)-(9×2))은 모두 괄호 안..

baekjoon 풀이 2021.03.28

[Python] 백준 4153번 : 직각 삼각형 판단하기

https://www.acmicpc.net/problem/4153 [Problem] 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. [Input] 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. [Output] 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. [ 풀 이 ] 직각 삼각형 판단은 간단합니다. "제일 긴 변의 제곱 = 나머지 두 변 제곱의 합" 위 조건을 만족하면 되는거죠. 세 변의 길이가 주어졌으니, max() 함수로 제일 긴..

baekjoon 풀이 2021.03.27

[2021년] 정보처리기사 1회 필기 시험 합격 후기

정보처리기사 1회 시험을 보고 왔습니다. 신청 기간이 여유로워서 2일차에 신청했는데 들어가보니 전국에 남은 자리가 거의 없더군요.... 수강신청인줄 알았습니다. 결국 새로고침을 열심히 한 끝에 겨우 신청할 수 있었네요. 시험 치실 분이라면 꼭 신청기간 시간 맞춰서 신청하세요... 2주전부터 시나공 교재로 공부했습니다. 제가 고려한건 아니고, 학교에서 운 좋게 교재를 얻게되어 시나공으로 공부하였네요. 2020년부터 시험이 개정되어 기출 문제를 많이 풀 수가 없는 상황이라 교제 예상 문제와 모의고사를 풀면서 교재 개념 위주로 공부했습니다. 3장 데이터베이스와 4장 프로그래밍 언어는 기존에 알고있는 내용이 많아서 조금만 봤구요 1, 2, 5장은 생소한 개념도 많아서 2회독씩 했습니다. 시나공 교제 기준 출제 ..

경험/활동 2021.03.09