분류 전체보기 16
-
윤곽선 검출이미지에서 경계선을 찾아내는 과정경계선 - 색상/밝기가 급격 Sobel Filter (1차 미분 기반)밝기의 변화가 급격한 부분 = 엣지 라고 보고 수학적으로 1차 미분값이 큰 부분을 엣지로 간주 - x축 / y축 방향으로 미분 필터 적용- 밝기의 변화율(∂I/∂x, ∂I/∂y) 계산 장점단점 - 빠르고 간단- 방향성(수평/수직) 추출 가능- 연산량 적음 - 노이즈에 민감- 두꺼운 엣지 발생- 약한 엣지 잘 못 잡음 Prewitt / Scharr FilterSobel을 변형해서 좀 더 부드럽거나 강하게 강조하는 필터 Prewitt: 고전적인 평균 기반의 미분 필터Scharr: Sobel보다 회전 불변성과 선명도가 개선됨 장점단점 Prewitt - Sobel보다 더 간단- 연산이..
-
-
텐서(Tensor) 💻 벡터와 스칼라를 일반화한 다차원 배열(N-dimensional array) ⚛️ 좌표계가 바뀌어도 일관된 법칙 아래 변환되는 수학적 객체📐 선형 변환(곱연산)을 통해 서로 연결된 공간을 표현하는 수학적 구조 딥러닝 프레임워크에서는 "모든 연산과 저장을 기본적으로 텐서(Tensor)라는 형태로 처리" 차원이름예시사용0D스칼라5손실값, 정확도1D벡터[1,2,3]특징 벡터2D행렬[[1,2], [3,4]]입력 × 가중치3D텐서여러 행렬 묶음시계열, 컬러 이미지4D고차원 텐서(배치, 채널, 높이, 너비)CNN 입력 구조 텐서 하나로 통일하는 이유?→ 계산 효율성텐서는 GPU / TPU에서 병렬로 연산하기 좋은 구조 (CUDA 등)Matrix multiplication, con..
-
Heatmap? 데이터를 시각적으로 표현하는 방법 숫자 값의 크기를 색상의 강도로 나타내는 그래프 히스토그램 평탄화 + 히트맵 적용import cv2import numpy as np# 1. 이미지 로드img = cv2.imread("./assets/scramble.jpg")if img is None: raise FileNotFoundError("이미지를 찾을 수 없습니다.")# 2. 그레이스케일 변환gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.imwrite("./assets/gray.png", gray)# 3. 히스토그램 평탄화equalized = cv2.equalizeHist(gray)cv2.imwrite("./assets/equalized_gray...
-
히스토그램(Histogram)?이미지의 밝기 값 분포를 막대그래프로 나타낸 것 히스토그램 균일화 명암 대비가 높아져야 물체를 더 잘 식별할 수 있기에밝기 값의 분포를 더 고르게 만들어서, 전체 밝기 범위를 활용하도록 하는 과정 흑백(Grayscale) 이미지는 2차원 배열 (*예시) gray_img = [ [ 12, 50, 90, 80 ], [ 34, 45, 70, 100 ], [ 60, 62, 58, 80 ], [ 90, 95, 85, 60 ]]픽셀당 밝기값만 있으니까, 바로 히스토그램 평활화를 바로 적용하면 됨 컬러 이미지는 3차원 배열 (*예시)color_img = [ [ [12, 40, 90], [50, 80, 100], [90, 30, 50], [80, 80..
-
-
프로시저 (Stored Procedure) 개념미리 저장된 SQL 문들의 집합으로, 반복적으로 수행하는 작업을 재사용 가능하게 만들어줌. 파라미터를 받아 복잡한 작업을 수행할 수 있음. 주요 특징실행 방식EXEC 또는 sp_executesql로 호출입력/출력IN, OUT, INOUT 파라미터 가능 (OUTPUT 사용)트랜잭션트랜잭션 내에서 수행하거나, 내부에서 시작할 수 있음로직조건문, 반복문, 에러 처리 등 T-SQL의 모든 로직 사용 가능컴파일최초 실행 시 컴파일되어 캐시에 저장됨 장점복잡한 로직을 DB에 저장해서 비즈니스 로직 분산 가능재사용 가능하고, 보안성 향상 (권한 제어 가능)파라미터를 이용한 동적 쿼리 가능 단점유지보수가 어려워질 수 있음 (버전 관리 문제)함수보다 결과 반환이 자유롭지만,..
-
PIP 원래 웹 프론트를 해와서 그런지 웹이랑 비교하면 이해가 쉬운 것 같다! 📦 패키지 설치pip installnpm install / yarn add📃 의존성 저장requirements.txtpackage.json + package-lock.json🔍 패키지 저장소PyPInpmjs.com🔄 의존성 관리수동 (pip freeze)자동 (npm install 시)🧱 로컬 설치 폴더venv/lib/site-packagesnode_modules/🔄 패키지 업데이트pip install --upgradenpm update, yarn upgrade 주요 명령어 pip install 패키지명 -- 패키지 설치pip uninstall 패키지명 -- 패키지 제거pip freeze -- 현재 설치된 패키지 ..
-
가상환경다른 프로젝트랑 충돌 없이 각자 필요한 라이브러리만 설치해서 쓸 수 있게 해주는 "격리된 공간" 🐍 venvPython 가상환경Python 라이브러리만파이썬 프로젝트간단, 내장됨OS, 시스템 환경은 격리 안 됨🐍 conda환경 + 라이브러리 통합Python + 패키지 + 일부 OS libs과학, ML 프로젝트패키지 관리 쉬움, 빠름무거움, PyPI와 호환성 이슈 있음🐍 pipenv, poetry가상환경 + 의존성 관리venv 기반 + 의존성 고정파이썬 프로젝트버전 관리 깔끔학습 필요🐳 DockerOS 수준 격리파일, OS, 네트워크까지 완전 격리실서버, 팀 협업, 배포완벽한 독립 환경, 재현성설정 복잡, 이미지 용량 큼 venv는 격리된 공간을 만드는 것( 컨테이너 기반 x ) 이 ..
-
SELECT OBJECT_NAME(sm.object_id) AS ProcedureName, sm.definitionFROM sys.sql_modules smJOIN sys.objects o ON sm.object_id = o.object_idWHERE sm.definition LIKE '%찾을문구%' AND o.type = 'P'; -- P = 프로시저 AND o.type IN ('FN', 'IF', 'TF'); -- 'FN' 스칼라 함수, 'IF' 인라인테이블반환 함수, 'TF' 멀티문 테이블 반환함수 AND o.type = 'V'; -- V 뷰 AND o.type = 'TR'; -- TR 트리거
-
인덱스(INDEX) 데이터베이스 테이블에서 검색 속도를 높이기 위한 구조. 책의 목차나 색인과 비슷한 개념 ➡️ 속도 차이 수십~수천 배 인덱스와 기본키(PK)의 차이점 기본 키(PK)인덱스(INDEX)목적데이터 무결성 보장 (식별자)조회 성능 향상중복 허용❌ 불가 (항상 UNIQUE)⭕ 가능 (선택 가능)NULL 허용❌ 불가⭕ 가능갯수테이블당 1개만 가능여러 개 가능자동 인덱스 생성⭕ YES (UNIQUE + CLUSTERED)⭕ 수동으로 생성삭제 시PK 제거하면 인덱스도 사라짐인덱스만 개별 삭제 가능 단점❌ 쓰기 성능 저하 → INSERT, UPDATE, DELETE 시 인덱스도 갱신됨❌ 공간 사용 → 인덱스도 저장공간 차지함❌ 너무 많으면 역효과 → 쿼리 최적화기가 잘못된 인덱스를 쓸 수도 있..
-
프로시저 Procedure 자주 사용하는 SQL 쿼리나 복잡한 비즈니스 로직을 하나의 이름으로 저장해두고 호출해서 실행 - MySQL은 웹 백엔드(PHP, Node.js 등)와 함께 쓰는 일이 많아서,로직을 DB에 넣기보단 애플리케이션 쪽에서 처리하는 경우가 많음- MsSQL에서는 비즈니스 로직을 DB에 넣는 문화가 강해서, 프로시저를 자주 활용 기본구조CREATE PROCEDURE 프로시저이름 @파라미터1 타입, @파라미터2 타입 OUTPUTASBEGIN -- SQL 로직END 프로시저 vs 함수 vs 트리거반환여러 개 가능 (OUT)1개 값없음호출 위치EXECSELECT 등 안에서이벤트 자동 실행트랜잭션OXX (제한적)복잡 로직O (조건/분기 등)제한적제한적