[OpenCV] OpenCV-Python으로 배우는 영상 처리 및 응용 - 6장 연습문제 풀이
·
Programming/Python
1. 그레이 스케일(gray-scale) 이미지가 의미하는 것이 무엇인지 설명하시오.디지털 영상처리에서 보통 단일채널의 영상을 그레이 스케일(gray-scale) 영상이라고 부른다. 하나의 화소값은 0~255의 값을 가지는데 0은 검은색을, 255는 흰색을 의미한다. 이렇게 화소값이 회색의 비율 정도로 표현되고, 0~255값을 가지는 화소들이 모여서 구성된 것이 영상이 때문에 그레이 스케일 영상이라 한다.(교재 226p) 2. 화소의 밝기와 화소값에 대해서 설명하시오.하나의 화소값은 0~255의 값을 가지는데 0은 검은색을, 255는 흰색을 의미한다.(교재 226p) 3. 두 개의 영상을 합성하는 방법을 두 가지 이상 기술하시오.두 개의 영상을 합하면 영상 합성을 할 수 있다.OpenCV를 이용하여 영상..
[OpenCV] OpenCV-Python으로 배우는 영상 처리 및 응용 - 5장 연습문제 풀이
·
Programming/Python
1. OpenCV의 채널 처리 함수에 대해 아는 대로 기술하시오.컬러 영상은 파란색, 녹색, 빨간색의 각기 독립적인 2창원 정보를 합쳐 놓은 배열로 정의가 가능하며, 이를 표현하기 위해 채널이라는 개념이 도입됐다. 일련의 3개 원소로 하나의 컬러 화소가 구성되며, numpy에서는 화소 단위로 순회한다. 이 컬러 배열을 분리하면 각 채널을 단일채널 행렬로 구성할 수 있으며, 세부적인 영상처리에 이용될 수 있다. (교재 162p) cv2의 채널 처리 함수로는 cv2.merge()와 cv2.split()이 있으며, 각 함수는 아래와 같다. cv2.merge(mv[,dst]) → dst▪ 설명: 여러 개의 단일채널 배열을 다채널 배열로 합성한다.인수 설명mv합성될 입력 혹은 배열 벡터, 합성될 단일채널 배열들의..
[OpenCV] OpenCV-Python으로 배우는 영상 처리 및 응용 - 4장 연습문제 풀이
·
Programming/Python
1. 콜백 함수란 무엇인가?콜백 함수는 일반적으로 이벤트를 처리하기 위한 함수로, 개발자가 시스템 함수를 직접 호출하는 방식이 아니라, 어떤 이벤트가 발생하거나 특정 시점에 도달했을 때 시스템이 개발자가 등록한 함수를 호출하는 방식이다. (교재 96p) 2. 윈도우를 지정하는 cv2.namedWindow() 함수의 두 번째 인수(flags)에 대한 옵션은 여러가지가 있다. 그 중에서 cv2.WINDOW_NORMAL와 cv2.WINDOW_AUTOSIZE간의 차이를 설명하시오.두 번째 인수 flags는 인도우의 크기 조정과 관련된 파라미터이다.cv2.WINDOW_NORMAL은 0의 값을 가지며, 윈도우 크기 조정이 가능하다.cv2.WINDOW_AUTOSIZE는 1의 값을 가지며, 표시된 행렬의 크기에 맞춰 ..
Windows/Kali Linux 듀얼부팅하기
·
카테고리 없음
개요며칠 전부터 Elastic stack 공부를 시작했다. 처음에는 리눅스 환경도 없고 귀찮으니 윈도우에서 깔짝이고 있었는데 하다보니 그래도 역시 리눅스가 편하겠단 생각이 들었다. 지금까지 내가 리눅스를 쓴 환경은 AWS EC2, WSL, VMWare, Raspberry pi 정도가 있는데, 다양한 이유로 그냥 잘 안쓰는 노트북에 리눅스를 깔기로 결심했다. - AWS EC2 : 클라우드 비용 부담 / Free Tier 다씀 / 새 계정 파서 해도 Free Tier 사양 안좋음.- WSL : 뭔가 억압된 느낌. 웬만한건 다 잘 돌아가긴 하는데 문제 터졌을 때 찾아보면 WSL라서 그렇다고 할 때의 좌절감...- VMWare : 무겁다... 느리다... 켜고 끌 때 시간이 많이 든다. - Raspberry ..
[Jupyter extension] Jupyter 확장프로그램 개발 환경 구축
·
Programming/Python
공식 문서를 따라 환경을 구축 해보자. Conda 설치 및 가상환경 활성화Conda 설치파일 레포지토리에서 설치 파일을 다운로드 한다.내 환경은 우분투 22.04이기 때문에 최신 리눅스 버전을 curl로 땡겨왔다.curl --output anaconda.sh https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh sha256sum로 파일 해시를 따서 다운로드 페이지에서 제공하는 해시와 비교해 검증할 수 있다.sha256sum anaconda.sh 해시가 일치한다면 무사히 파일이 다운로드 된 것이고 다운로드 된 sh 파일을 실행시키면 conda 설치가 시작된다.설치가 끝난 뒤에 conda init을 하면 필요한 설정이 ~/.bashrc ..
2023~2024.5 회고
·
회고
20232023년은 심적으로 이슈가 있어서 뭘 했는지도 모르게 지나갔다.   기록할만한 사건들은 이렇다. 한이음두근두근 한국사 여행앱client: Flutterservier: Nest.jsvcs: gitlabinfra: kubernetes on raspberry pi이용자가 유적지를 방문하면 유적지와 관련된 역사적 인물의 호감도가 오르고, 특정 임계점을 넘을 때마다 역사적 인물의 스토리가 풀리는 미연시(?) 게임. 한국사와 관련된 공공 데이터를 이용했다.창업 때문에 바빠서 프로젝트를 제대로 완료하지 못했다.쿠버네티스 스터디쿠버네티스 인 액션10장까지 보았는데 지금은 다 까먹었다. (기록의 중요성... 아이패드에 손필기 했었는데 블로그에 쓸걸 그랬다.)이 또한 창업 때문에 바빠서 제대로 완료하지 못했다...
Next.js 프로젝트에 GA4 붙이기(사용자 속성, 잠재고객, UTM)
·
Programming/FE
극초기 스타텁 초기 멤버로 일하면서 벌써 4번째 랜딩 리뉴얼을 하고 있다. 첫 랜딩은 되는대로, 두번째도 되는대로, 세번째는 부스 직전에 3일만에 만들고 이번에는 개발하는데 일주일 정도 걸린 것 같다. 기존 랜딩페이지는 홈, 회사 소개, 제품 소개로 구성되어 있었고 이번에는 간결하게 원페이지에 제품 소개만 담는 방향으로 가기로 했다. 랜딩은 규모가 작아서 매번 다양한 UI 라이브러리를 써보고 있다. tailwindcss, chakra-ui를 거쳐 이번엔 panda css와 framer-motion의 조합으로 진행했다. 보통 Next.js를 기본으로 사용했는데 한번은 Svelt를 썼다가 팀원들의 항의에 다시 Next.js로 돌아왔다. 소기업에서 괜히 기술 스택 늘리지 맙시다.   개발이 끝났다면 이제 KP..
개방 시스템 상호 연결(OSI, Open System Interconnection)
·
학과공부/데이터통신
개방 시스템(Open System) 기반 구조에 관계없이 서로 다른 두 시스템 간 통신을 가능하게 하는 프로토콜의 집합 개방 시스템 상호 연결(OSI) 모델 1983년 ISO(International Standardization Organization) 표준화 기구에서 개발 시작. 컴퓨터 통신 분야에서 상호운용성을 확보하기 위한 다양한 표준에 대한 국제적인 표준 정의를 위한 기본 골격. 융통성을 부여. 특정 계층만 업그레이드하여 교체할 수 있음. 각 계층별로 여러가지의 프로토콜이 존재함. 요약 Layer 데이터 단위 장비 특징 예 [L7] Application data 사용자에게 서비스 제공. 파일 전송, 접근, 관리. 문서, 메시지 교환 전자메일(SMTP), 가상단말, 파일 송수신(FTP), 웹(HTT..
데이터 분석과 결측치 제거(feat. Kaggle)
·
학과공부/기계학습
1학기 시작 후 7주차의 절반쯤 지난 지금, 기계학습 보다는 데이터 분석부터 공부 중이다. 각종 파이썬 라이브러리로 데이터를 분석, 시각화, 이상치 및 결측치 제거 등을 공부했다. 중간고사가 지나면 scikit-learn이라는 라이브러리를 통해 기계학습을 본격적으로 배우기 시작할 것 같다. 오늘은 중간고사 대비 겸으로 결측치 제거를 캐글의 데이터셋을 분석하며 정리하려고 한다. import numpy as np import seaborn as sns import matplotlib.pyplot as plt import pandas as pd 기본적으로 위의 라이브러리들을 불러온 상태에서 시작한다. 데이터 불러오기 https://www.kaggle.com/datasets/rush4ratio/video-gam..
다형성: Polymorphism
·
Programming/Java
다형성 다형성이라는 말은 이번에 처음 들어봤지만 생각보다 이해하기 쉬웠다. 짧게 말하면 어떤 객체를 다른 객체로 선언할 수 있다는 것이다. Student bonbon = new Student(); Person bonbon = new Student(); 위처럼 객체를 Person 타입으로 선언했지만 Student로 초기화할 수 있다. 대박~ 그런데 다 되는 것은 아니다. ㄱ- 위키백과의 다형성 정의는 이렇다. 프로그램 언어의 다형성(多形性, polymorphism; 폴리모피즘)은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다. 반댓말은 단형성(mono..