최신 글
-
WPF 시작하기
C# .NET Framwork를 통해 프로그래밍을 진행해 보겠습니다. 비쥬얼스튜디오에서 새 프로젝트를 만들어주세요. 저는 비쥬얼스튜디오 2022 커뮤니티 버전입니다. 검색창에 wpf를 검색해서 C# XAML태그가 있는 WPF앱 (.NET Framework)를 눌러주세요. 저는 연습용으로 만들어서 프로젝트 이름을 Practice로 지었습니다. 위치는 원하는 디렉토리로 설정해주세요. 이렇게 비쥬얼스튜디오 화면이 뜨면 완료입니다. 만약 위 화면을 다시 실행시키고 싶으시다면 지정된 경로로 들어가서 sln파일을 실행하면 됩니다. 위에 프로젝트 구성화면에서 솔루션 및 프로젝트를 같은 디렉토리에 배치 체크박스를 체크하시면 sln파일이 제 디렉토리를 기준으로 D:\git\CS-study\Practice\Practice..
2023.04.10
-
계층적 군집화
계층적 군집(Hierarchical Clustering)은 n개의 군집으로 시작해 점차 군집의 개수를 줄여 나가는 방법입니다. 유클리디안 거리를 사용해서 계층적 군집분석을 시행해 보겠습니다. import matplotlib.pyplot as plt import numpy as np from scipy.cluster.hierarchy import dendrogram, linkage X = np.array([[1, 4], [2, 1], [4, 6], [4, 3], [5, 1]]) labels = ['a', 'b', 'c', 'd', 'e'] plt.figure(figsize=(7, 7)) plt.xlim(0, 7) plt.ylim(0, 7) plt.scatter(X[:, 0], X[:, 1]) for lab..
2022.08.15
-
변수선택기법
보스턴 하우징 데이터셋을 이용해서 여러가지 변수선택기법들에 대해 알아보자. import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.datasets import load_boston from sklearn.feature_selection import RFE, SelectFromModel, SequentialFeatureSelector from sklearn.linear_model import LinearRegression, ElasticNet, Ridge, Lasso from sklearn.model_selection import train_test_split from sk..
2022.08.08
CV(컴퓨터 비전)
-
OpenCV 기초 : 사진과 동영상 읽어오기
파이썬에서 OpenCV라이브러리는 다음 명령어를 통해 설치할 수 있다. pip install opencv-python 그리고 라이브러리는 다음 명령어를 통해 불러올 수 있다. import cv2 cv2라이브러리는 설치할 때와 불러올 때 이름이 다르니 주의하도록 하자. 그럼 이제 사진을 불러와보자. import sys import cv2 img = cv2.imread('logo.png') if img is None: print('Image load failed!') sys.exit() dst = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('img', img) cv2.imshow('gray', dst) cv2.resizeWindow('img', 500, 500) ..
2022.01.07
-
이미지 회전하기
1. 좌표 회전변환과 좌표축 회전변환 이미지를 처리하는 방법에 있어서 여러가지가 있을텐데요, 이번 포스팅에서는 이미지를 회전하는 법에 대해서 알아보겠습니다. 우선 회전에 대한 개념은 고등학교에서 배운 삼각함수와 동일합니다. 특정한 점 A(x, y)를 원점에 대하여 \( \theta \) 만큼 회전한 B의 좌표는 \(B(xcos(\theta)-ysin(\theta),\ ycos(\theta)+xsin(\theta))\) 로 나타낼 수 있습니다. 예를 들어 (1, 0)을 30도 회전하면 \((\frac{\sqrt{3}}{2}, \frac{1}{2})\) 가 됩니다. 이를 이용해서 각 픽셀의 위치만 회전시켜주면 이미지를 회전시킬 수 있습니다. \[\begin{pmatrix}x'\\ y'\end{pmatrix}..
2022.02.03
-
이미지 전단변환
지난 포스팅에서는 Rotate(회전 변환)기법에 대해서 알아보았는데요, 이번 포스팅에서는 Shear(전단 변환)기법에 대해 알아보겠습니다. 지난 포스팅 링크 이미지 회전하기 (tistory.com) 이미지 회전하기 1. 좌표 회전변환과 좌표축 회전변환 이미지를 처리하는 방법에 있어서 여러가지가 있을텐데요, 이번 포스팅에서는 이미지를 회전하는 법에 대해서 알아보겠습니다. 우선 회전에 대한 개념은 tripleler.tistory.com Image Shear은 번역하면 전단 변환이라고 합니다. 말이 어려운데 기하학적으로 기울이는 평행사변형이라고 보시면 됩니다. 파란 그림을 검은 점을 원점으로 하여 전단 변환하였을 때 녹색 그림처렴 변하게 됩니다. x축 전단변환의 경우 각\( \theta \) 만큼 회전할 때 ..
2022.03.06
-
Affine Transformation
Affine Transformation Affine Transformation 을 우리말로 '표현하면 기하학적 변환' 입니다. 지난 포스팅에서 소개했던 회전변환 및 전단변환도 아핀변환중의 하나입니다. 이외에도 닮음변환, 평행이동, 대칭변환등이 이에 포함됩니다. 영상인식 딥러닝에서는 사진을 학습할 때 과적합을 방지하고, 한정된 데이터셋을 증강하기 위해 이러한 작업들을 진행하여 학습합니다. 아핀변환은 아핀행렬로 간단하게 표현이 가능합니다. 변환좌표(x', y')를 아핀행렬 M과 기존좌표 (x, y)로 나타내면 다음과 같은 관계식을 얻을 수 있습니다. \[\begin{pmatrix}x' \\ y'\end{pmatrix}=M \begin{pmatrix}x \\y \\ 1\end{pmatrix} \] 이때, 2차..
2022.03.14