전체 글

전체 글

    C# Delegate : 대리자

    소개 C#에서 대리자(delegate)는 메서드를 참조하는 개체입니다. 대리자는 메서드를 다른 메서드에 전달하거나 이벤트 처리를 위해 사용됩니다. 이번 글에서는 C# 대리자에 대해 자세히 살펴보겠습니다. 대리자란? 대리자는 메서드를 참조하는 개체입니다. 대리자를 사용하면 메서드를 다른 메서드에 전달할 수 있습니다. 이는 이벤트 처리에 매우 유용합니다. 대리자는 델리게이트(delegate) 키워드를 사용하여 선언됩니다. 대리자의 예 다음은 대리자의 간단한 예입니다. delegate int Calculate(int x, int y); 위의 예제에서 Calculate 대리자는 int 형식의 x와 y 매개 변수를 사용하는 메서드를 참조합니다. Calculate 대리자는 int 형식의 값을 반환하는 메서드를 참조..

    C# Dictionary ContainsKey() vs TryGetValue()

    소개 C#에서 Dictionary는 키-값 쌍을 저장하는 일반적으로 사용되는 컬렉션입니다. Dictionary 작업 중에는 특정 키가 있는지 확인하거나 키와 연결된 값을 검색해야 할 수 있습니다. 이 블로그 포스트에서는 이러한 목표를 달성하는 데 사용되는 두 가지 방법을 살펴보겠습니다 ContainsKey() 메서드 ContainsKey() 메서드는 Dictionary에 지정된 키가 있는지 확인하는 데 사용됩니다. 이 메서드는 키가 Dictionary에 있는지 여부를 나타내는 부울 값이 반환됩니다. Dictionary myDictionary = new Dictionary(); // Dictionary에 일부 키-값 쌍 추가 myDictionary.Add("apple", 1); myDictionary.Ad..

    파이썬 모듈 : OpenCV 동영상 캡쳐&녹화

    이번 글에서는 파이썬 cv2 모듈을 활용하여 동영상을 캡쳐하고 녹화하는 방법에 대해 알아보겠습니다. 동영상 캡쳐 동영상 캡쳐는 파이썬 cv2 모듈을 사용하여 간단하게 구현할 수 있습니다. 아래 코드는 웹캠에서 동영상을 캡쳐하는 예제입니다. import cv2 # 웹캠에서 동영상 캡쳐 cap = cv2.VideoCapture(0) while True: # 프레임 읽기 ret, frame = cap.read() # 프레임 출력 cv2.imshow('frame', frame) # 'q' 키를 누르면 종료 if cv2.waitKey(1) & 0xFF == ord('q'): break # 자원 해제 cap.release() cv2.destroyAllWindows() 위 코드에서 cv2.VideoCapture() ..

    Unity에서 Resources 클래스 사용하기

    Unity에서는 Resources 클래스를 이용하여 프로젝트에서 사용할 수 있는 리소스들을 로드할 수 있습니다. 이번 글에서는 Resources 클래스를 사용하는 방법과 주의사항에 대해 알아보겠습니다. Resources 폴더 생성 먼저, Resources 폴더를 생성합니다. Resources 폴더는 프로젝트의 루트 디렉토리에 생성하면 됩니다. 이 폴더에는 프로젝트에서 사용할 리소스들을 저장합니다. 예를 들어, 이미지, 사운드, 텍스트 등의 파일을 저장할 수 있습니다. Resources.Load 메서드 Resources 폴더에 있는 리소스를 로드하려면, Resources.Load 메서드를 사용합니다. 이 메서드는 로드할 리소스의 경로를 문자열로 전달받습니다. 예를 들어, Resources 폴더에 있는 이미..

    파이썬 모듈 : OpenCV 윤곽선 검출

    이번 글에서는 파이썬 cv2 모듈을 이용하여 이미지 윤곽선을 검출하는 방법에 대해 알아보겠습니다. 윤곽선 검출 이미지 윤곽선 검출은 이미지에서 물체의 윤곽선을 검출하는 것을 의미합니다. 이를 통해 이미지에서 물체의 형태와 크기를 파악할 수 있습니다. OpenCV에서는 다양한 윤곽선 검출 알고리즘을 제공하며, 이 중 가장 많이 사용되는 알고리즘은 cv2.findContours() 함수를 이용한 Contour Detection 입니다. Contour Detection Contour Detection은 이미지에서 객체의 경계를 인식하여, 객체의 윤곽선을 검출하는 알고리즘입니다. 아래 코드는 이미지 윤곽선을 검출하는 예제입니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image...

    파이썬 모듈 : OpenCV 가장자리 검출

    이번 글에서는 파이썬 cv2 모듈을 활용하여 이미지 가장자리를 검출하는 방법에 대해 알아보겠습니다. Canny Edge Detection Canny Edge Detection은 이미지에서 가장자리를 검출하는 알고리즘 중 가장 성능이 우수한 알고리즘 중 하나입니다. 이 알고리즘은 다음과 같은 과정으로 가장자리를 검출합니다. 이미지를 grayscale로 변환합니다. Gaussian blur를 적용하여 이미지의 noise를 제거합니다. Sobel filter를 사용하여 이미지의 gradient를 계산합니다. Non-maximum suppression을 사용하여 이미지의 가장자리를 추출합니다. Double threshold를 사용하여 추출한 가장자리 중 유효한 가장자리를 선택합니다. Hysteresis thre..

    Unity에서 플레이어 데이터를 JSON 파일로 저장하기

    Unity에서 게임을 개발할 때, 플레이어 데이터를 저장하고 불러오는 것은 매우 중요합니다. 이번 글에서는 Unity에서 플레이어 데이터를 JSON 파일로 저장하고 불러오는 방법에 대해 알아보겠습니다. 플레이어 데이터 클래스 생성하기 먼저, 플레이어 데이터를 저장할 클래스를 생성합니다. 이 클래스는 SerializableAttribute를 적용하여 직렬화 가능하도록 만들어야 합니다. using System; [Serializable] public class PlayerData { public int level; public int experience; public int gold; } 위 코드에서는 level, experience, gold를 저장할 수 있는 PlayerData 클래스를 생성하였습니다. ..

    파이썬 모듈 : OpenCV 이미지 확대, 회전, 자르기

    OpenCV는 다양한 이미지 처리 함수를 제공합니다. 이미지 확대, 회전, 자르기와 같은 기본적인 함수들도 포함되어 있습니다. 이번 글에서는 OpenCV를 사용하여 이미지를 확대, 회전, 자르는 방법에 대해 알아보겠습니다. 이미지 확대 이미지를 확대하기 위해서는 resize() 함수를 사용합니다. 이 함수는 이미지를 지정한 크기로 확대하거나 축소할 수 있습니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image.jpg') # 이미지 확대하기 img_resized = cv2.resize(img, None, fx=2.0, fy=2.0, interpolation=cv2.INTER_CUBIC) # 이미지 출력하기 cv2.imshow('image', img_resized) cv2...