전체 글

우당탕탕 데이터 분석일지
Study/SQL

[MySQL/ORACLE] 프로그래머스 - 강원도에 위치한 생산공장 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다. COLUMN NAME TYPE NULLABLE FACTORY_ID VARCHAR(10) FALSE FACTORY_NAME VARCHAR(50) FALSE ADDRESS VARCHAR(100) FALSE TLNO VARCHAR(20) TRUE 문제 FOOD..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(Opening & Closing)

참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(dilate, erode) 모폴로지 변환 (Morphological Transformation) Morphological Transformation은 이미지를 분할하여 단순화, 제거, 보정을 통해 형태를 파악하는 목적으로 사용한다. 일반적으로 binary나 grayscale image에 사용된다. seoyuun22.tistory.com 16. Opening & Closing Opening 열림 Opening은 erosion 후에 dilation을 적용한다. 열림을 적용하면 침식으로 인해 밝은 영역이 줄어들고 어두운 영역이 늘어난다. 여기서 줄어든 영역을 다시 복구하기 위해 팽창을 적용하면 반대로 어두운 영역이 줄어들고 밝은..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(dilate, erode)

모폴로지 변환 (Morphological Transformation) Morphological Transformation은 이미지를 분할하여 단순화, 제거, 보정을 통해 형태를 파악하는 목적으로 사용한다. 일반적으로 binary나 grayscale image에 사용된다. 사용하는 방법으로는 Dilation(팽창)과 Erosion(침식), 그리고 이 두 개를 조합한 Opening과 Closing이 있다. 14. Dilation 팽창 이미지 팽창은 이미지를 확장하여 작은 구멍을 채우는 작업이다. 즉 어떤 흰색영역의 외곽 픽셀 주변에 흰색을 추가하여 어두운 영역을 줄이고 밝은 영역을 넓힌다. 따라서 팽창은 노이즈 제거 후 줄어든 크기를 복구하고자 할 때 주로 사용한다. 팽창의 과정을 확인하기 위해 그림판에서 ..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - Adaptive Threshold, otsu algorithm Threshold

이전 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 이진화(Binarization), TrackBar 참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 동영상 및 카메라 출력 이전글 1. OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 [Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 0. Open CV( seoyuun22.tistory.com 임계값 이전의 글에서 Trackbar를 이용해 임계값의 변화에 따라 변하는 이미지를 확인하는 과정에서 흑백처리를 했었다. 그렇다면 흑백처리 된 이미지에서 이진화할 때 흑과 백을 나누는 임계값은 무엇일까. 이를 알아보기 위해 아래와 같은 이미지를 준비한다. 위 이미지는 왼쪽에서 부터 차례대로 RGB값이 ..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 이진화(Binarization), TrackBar

참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 동영상 및 카메라 출력 이전글 1. OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 [Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 0. Open CV(Computer Vision) 다양한 영상(이미지) / 동영상 처리에 사용되는 오픈소스 라 seoyuun22.tistory.com 13. 이진화(binarization) 이진화는 특정값을 기준으로 흰색과 검은색으로만 나누는 것이다.즉 흰색과 검은색만 가지는 바이너리(Binary) 이미지로 변형하는 과정을 이진화라고 한다. 먼저 이진화를 위해 이미지를 GRAYSCALE로 읽어온다. import cv2 img = cv2.imread("book.jpg", cv2...

Study/ML | DL

[Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기2 - 반 자동 문서 스캐너 구현

이전 참고글 [Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기1 - Mouse event Mini Project : 반 자동 문서 스캐너 구현하기 1. 마우스 이벤트 등록 이미지 변형 중에서 이미지의 특정 지점에 대한 좌표를 가져왔었다. 이 전까지는 그림판을 이용했다면 cv2의 다양한 마우스 이벤 seoyuun22.tistory.com 2. 반 자동 문서 스캐너 문서 스캐너를 구현하기 위해서 마우스 이벤트 정보를 저장하는 mouse_handler와 결과 이미지를 출력하는 show_resul라는 새로운 함수를 정의한다. Show result Show result는 이 전에 원근 이미지를 변형하는 과정을 함수로 나타낸 것이다. 다만 원 좌표는 mouse handler에서 리스트 형태로 받아오..

일상/일기

2023-05-30인데 SQLD 보수교육받는 썰

저번주 금요일부터 감기로 시름시름앓느라 연휴내내 아무것도 안했다. 아파서 정말 아무것도 안하는데 죄책감도 타격감도 없어서 그런지 오늘 하루를 시작하는게 너무 힘들었다. 일단 수면패턴이 망가져서 아침에 알람도 못듣고 비몽사몽일어났는데 잠은 오고 커피는 너무 마시고 싶고 커피를 마시면 또 밤에 잠을 못 잘걸 알기에 마시지도 못하고 커피사러가기엔 밖엔 날씨가 구렸다. 정말 하나도 내맘대로 굴러가는게 없었지만 그래도 또 굴려야하는게 내 인생이기에.. 6월까지는 정신차리고 다이어트도 해야해서 먹는것도 참고 있는데 정말 죽을맛이다. 그럼에도 나의 데드라인은 다가오고 있다. 정말 6월까지는 죽이 되더라도 취뽀하거나 교육을 받으러 갈 계획이기 때문에 취업을 위한 이력서와 교육을 위한 이력서를 열심히 써야한다..^^ 안..

Study/ML | DL

[Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기1 - Mouse event

Mini Project : 반 자동 문서 스캐너 구현하기 1. 마우스 이벤트 등록 이미지 변형 중에서 이미지의 특정 지점에 대한 좌표를 가져왔었다. 이 전까지는 그림판을 이용했다면 cv2의 다양한 마우스 이벤트의 종류를 이용해 좌표를 출력할 수 있다. cv2.EVENT_LBUTTONDOWN : 마우스 왼쪽 down cv2.EVENT_LBUTTONUP : 마우스 왼쪽 up cv2.EVENT_RBUTTONDOWN : 마우스 오른쪽 down cv2.EVENT_LBUTTONUP : 마우스 오른쪽 up cv2.EVENT_LBUTTONDBLCLK : 마우스 왼쪽 더블클릭 cv2.EVENT_RBUTTONDBLCLK : 마우스 오른쪽 더블 클릭 cv2.EVENT_MOUSEMOVE : 마우스 이동 이미지를 출력하기 전에..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 변형(흑백, 흐림, 원근)

이전 참고글 [Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 0. Open CV(Computer Vision) 다양한 영상(이미지) / 동영상 처리에 사용되는 오픈소스 라이브러리이다. 이미지 처리는 이미지로부터 다양한 데이터를 수집하고 유용한 정보를 얻기 위해 이미지를 조작 seoyuun22.tistory.com 10 . 흑백 수많은 이미지 데이터에서도 불 필요하거나 정확하지 않은 부분이 있을 수 있다. 이러한 부분을 걸러내고 이미지로부터 원하는 결과물을 얻어내기 위해 전처리 하는 과정으로 이미지 변형 작업을 수행한다. 이 전에 이미 이미지를 불러오면서 흑백처리하는 과정은 했었다. 이번에는 이미지를 불러올 때 흑백처리를 하는 것이 아닌 불러온 이미지를 흑백처리하는 방법이란 점에서 ..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 처리

7. 이미지 자르기 불러온 이미지에서 일부분을 잘라냈을 때 잘라낸 영역을 새로운 윈도우(창)에 표시하거나 기존 윈도우에 표시할 수 있다. 영역을 자를 때에는 함수를 이용하지 않고 자르는 지점의 위치로 나타낸다. crop = image[a:b, n:m] 영역을 잘라서 새로운 윈도우에 표시 먼저 사용할 이미지의 정보를 확인하면 다음과 같다. import cv2 img = cv2.imread("img.jpg") img.shape (391, 640, 3) 위의 이미지에서 세로 기준 100:400까지, 가로 기준 200:400까지 잘라 새 윈도우에 표시하면 다음과 같다. import cv2 img = cv2.imread("img.jpg") # 이미지 자르기 crop = img[100:200, 200:400] # ..