본문 바로가기

728x90
반응형

Python

(18)
[PIL] Python으로 이미지 데이터 핸들링하기 Python으로 이미지 데이터를 핸들링 할 때가 있는데 opencv도 있지만, PIL 라이브러리로 빠르고 간단하게 작업을 수행할 수 있다.그래서 설치 방법, 이미지 불러오기, 사이즈 변경, 그리고 이미지 병합(=합치기) 하는 방법을 공유하겠다.1. 라이브러리 설치pip install pillow2. 이미지 불러오기from PIL import Imageimg = Image.open('images/cat1.jpg')img3. 사이즈 확인 및 변경 img.size # (640, 391) img.resize((300, 150)).size # (300, 150)img.resize((300, 150))4. 이미지 합치기new()에서 세 번째 파라미터가 RGB 값을 명시하는 것인데 흰색 배경을 만들고 싶으면 (25..
[anaconda] 가상환경의 python 버전 변경 가상환경의 python 버전을 변경하고 싶을 때가 있을텐데 다음 순서대로 명령어를 입력하면 된다. 0. 가상환경 진입 conda activate 1. python 버전 리스트 확인 후 설치 conda search python # python 버전 리스트 확인 conda install python=x.x.x # 원하는 버전 설치 2. 가상환경 재접속 conda deactivate conda activate 3. 확인 python -V
정규분포(Normal Distribution)와 Python으로 데이터 시각화하기 1. 정규분포란? 정규분포는 통계학에서 가장 중요하고 널리 사용되는 분포 중 하나입니다. 이것은 종 모양의 곡선으로 표현되며, 평균을 중심으로 대칭이며 분포의 형태는 평균과 표준편차에 의해 결정됩니다. 정규분포는 다른 많은 현상들을 모델링하는 데 사용되며, 중심극한정리에 따라 자연 현상에서도 발생하는 경우가 많습니다. 2. 정규분포의 수학적 정의 정규분포는 평균(mu)과 표준편차(sigma)라는 두 매개변수로 정의됩니다. 확률 변수 X가 정규분포를 따른다고 할 때, 확률밀도함수(probability density function, PDF)는 다음과 같이 표현됩니다: 여기서: $x$는 확률 변수의 값 $μ$는 평균 $σ$는 표준편차 3. 정규분포의 사용 분야 자연 현상 모델링: 자연 과학과 공학 분야에서는..
[DART] 공시대상회사 정보 가져오기 대한민국 전자공시시스템(DART : Data Analysis, Retrieval and Transfer System)은 상장법인 등이 공시서류를 인터넷으로 제출하고, 투자자 등 이용자는 제출 즉시 인터넷을 통해 조회할 수 있도록 하는 종합적 기업공시 시스템이다. 웹 사이트에 접속해 검색이 가능하지만 좀 더 방대한 자료를 원한다면 DART에서 API를 제공하기 때문에 python 코드로 손쉽게 구현 가능하다. Open API Key는 여기에서 받으면 되고, 일일 호출 2만 회로 제한되어 있다. 다양한 API를 제공하기 때문에 원하는 정보를 손쉽게 가져올 수 있지만, 우선적으로 작업해야 하는 것이 있다. 그건 기업 정보를 가지고 있어야 해당 기업 검색이 가능한데 [개발 가이드] > [공시 정보] > [4. ..
[Python] 백준 18870번, 좌표 압축 1. 알고리즘 여기를 클릭하면 문제를 확인할 수 있다. 문제에 따르면 원본 데이터에서 중복되는 수를 없애고 숫자가 작은 순서대로 번호를 매겨 저장한 압축 데이터를 생성한다. 그런 다음에 원본 데이터의 값들을 압축 데이터에 있는 값으로 변환해 출력해주면 된다. 2. 코드 import sys IN = sys.stdin.readline if __name__ == "__main__": N = int(IN()) arr = list(map(int, IN().split())) sort_arr = sorted(set(arr)) # 중복된 수 제거 후 정렬 dic = {sort_arr[i]: i for i in range(len(sort_arr))} # 좌표 압축 사전화 s = "" # 문자열로 연결 for i in a..
[알고리즘] 그래프 탐색 기법을 코드로 이해하기 1. 그래프 그래프는 광범위한 분야에서 활용되고 있는 자료구조이다. 그러다보니 코딩테스트 문제 출제 1순위이다. 그래프는 정점과 간선의 집합으로 하나의 간선은 두 개의 정점을 연결한다. 그래프는 G=(V, E)로 표현하는데 간선에 방향이 있는 그래프를 방향그래프, 간선에 방향이 없는 그래프를 무방향그래프라고 한다. V = 정점의 집합, E = 간선의 집합 2. 그래프 탐색 그래프에서는 너비우선탐색(BFS)과 깊이우선탐색(DFS) 방식으로 모든 정점을 방문할 수 있다. 2.0 그래프 코드 G = { 1: set([3, 5]) 2: set([3, 4, 6]), 3: set([1, 2, 6]), 4: set([2]), 5: set([1]), 6: set([2, 3]) } 2.1 BFS BFS는 큐를 사용해 임..
[OpenCV] ROI 영역 그려서 마스크 이미지 만들기 관심 영역(ROI)을 추출해내기 위해서는 두 개의 데이터가 필요한데 그것은 원본 이미지와 마스크 이미지이다. 알고리즘을 간단하게 이야기하자면, 원본 이미지에 마스크 이미지를 올려 마스크 이미지에서 (보통) 검정색이 아닌 흰색으로 된 부분에 해당하는 원본 이미지 색깔 정보를 추출해 ROI 영역만 활성화시킨다. 그렇다면 마스크 이미지는 어떻게 구하는가? 질문의 대답은 사람이 하나하나 ROI 영역을 지정해야 한다. ROI 영역을 그리는 방법이 여러가지 있겠지만, 이 글에서는 OpenCV를 통해 이미지를 윈도우에 띄우고 마우스 클릭 이벤트를 사용해 ROI 영역을 지정해 마스크 이미지를 만드는 방법을 알아보자. 그전에 opencv 라이브러리를 다운로드하고 파이썬에 import하자. (*cv2 패키지는 존재하지 않..
[GIS/Folium] Folium을 사용해 지도 그리기 국립공원공단 프로젝트를 진행하는 도중에 map을 그려야 될 상황이 되었는데 Python 언어로 map을 그리기 적절한 라이브러리가 무엇이 있을까 고민하다가 멘토께서 Folium을 추천해주셔서 사용을 했다. 우선 다운로드를 하자. pip install folium 그런 다음에 지도 객체를 만들기 위해 folium.Map()을 호출한다. location, zoom_start, width, height 속성이 있는데 loaction은 처음 지도가 위치한 [위도, 경도]이며 zoom_start는 시작 배율이다. width와 height는 쉽게 알 수 있듯이 가로와 세로 크기를 의미한다. 따라서 코드는 다음과 같다. *창 활성화시 대한민국을 창 크기에 맞게 딱 보고 싶다면 loaction으로 [36.684273,..

728x90
반응형