분류 전체보기
-
Intensity Transformation컴공지식/컴퓨터비전 2024. 9. 3. 12:34
Intensity Transformation은 이미지의 각 픽셀 값(밝기)을 어떤 수학적인 함수를 이용해서 다른 값으로 변환하는 과정이다.입력 밝기 값이 r일 때 이 값을 어떤 함수를 이용해 출력 밝기 값 s 로 바꿀 수 있다.이걸 이용해서 이미지의 밝기를 조정하거나 대비를 향상시킬 수 있다. Image Negatives에 대해 알아보자원본 이미지의 밝기 값을 반전시키는 거다.예를 들어, 밝은 부분은 어둡게, 어두운 부분은 밝게 바꾸는 거다.공식은 s = L - 1 - r 이다.r는 입력 이미지의 밝기 값이다. 즉, 원래 이미지에서 각 픽셀의 밝기 값s는 변환된 결과 이미지의 밝기 값이다.L은 이미지의 밝기 레벨의 최대값이다. 만약 밝기 값의 범위가 0부터 255라면, L - 1은 255가 된다. ..
-
OOP(객체 지향 프로그래밍)에서의 병렬 처리와 멀티스레딩컴공지식/프로그래밍언어론 2024. 9. 2. 23:48
요리사가 동시에 여러 재료를 가공하는 상황이다. 일반적으로, OOP의 요리사(객체) 는 하나의 작업에 집중한다.예를 들어, 파스타 요리사는 먼저 면을 끓이고, 그 다음에 소스를 준비하고, 마지막으로 접시에 담아 서빙한다.이 과정은 순차적으로 진행되며, 한 번에 한 가지의 일을 한다. 근데 주방이 바빠지고, 손님 주문이 몰려들어 한 명의 요리사가 여러 재료를 동시에 가공해야 하는 상황이 발생할 수 있다.예를 들어, 파스타 요리사는 동시에 면을 끓이면서 소스도 준비해야 하고, 한편으로는 샐러드 채소도 씻어야 할 수 있다. 이 상황은 OOP에서 병렬 처리 또는 멀티스레딩으로 비유할 수 있다! 병렬 처리(Parallel Processing)는 주방에서 여러 요리사가 동시에 여러 재료를 가공하는 것과 같다.프로그..
-
프로그래밍 패러다임컴공지식/프로그래밍언어론 2024. 9. 2. 23:37
객체 지향 프로그래밍(Object-Oriented Programming, OOP)과 함수형 프로그래밍(Functional Programming, FP)을 비교해보자 객체 지향 프로그래밍은 클래스와 객체의 개념을 중심으로 코드가 작성된다.클래스는 객체를 생성하는 청사진으로 사용되고, 클래스 내에는 속성과 메서드가 포함된다.OOP의 주요 특징은 상속, 다형성, 캡슐화, 추상화다.예를 들어, KitKat이라는 클래스가 Food 클래스를 상속받아 확장될 수 있다.OOP는 코드 재사용성과 유지보수성이 높지만, 보일러플레이트 코드가 많아 코드가 길어질 수 있다. 객체 지향 프로그래밍을 공장으로 비유해보겠다.이 공장은 각 작업자가 명확한 역할을 가지고 있으며, 서로 협력해서 결과물을 만들어내는 구조로 설명된다.각 ..
-
데이터에 관하여-3경제 2024. 9. 2. 00:36
Categorical Data (범주형 데이터)를 요약하는 여러 가지 방법을 소개하겠다.범주형 데이터는 숫자가 아닌 범주나 그룹으로 나눌 수 있는 데이터를 말한다. Frequency Distribution은 각 범주나 그룹에 속하는 데이터의 개수를 나타낸 거다.예를 들어, 어떤 설문 조사에서 "예"라고 답한 사람의 수가 30명, "아니오"라고 답한 사람의 수가 20명이라면, 이 숫자들이 빈도 분포를 구성한다. Relative Frequency Distribution은 각 범주의 빈도를 전체 데이터 개수로 나눈 값을 의미한다.즉, 각 범주가 전체에서 차지하는 비율을 나타내는 거다.예를 들어, 전체 응답자 수가 50명이고 그중 30명이 "예"라고 답했다면, "예"의 상대 빈도는 30/50 = 0.6 또는 6..
-
데이터에 관하여-2경제 2024. 9. 2. 00:05
Numerical Descriptive Statistics (수치형 기술 통계)에 관하여 설명하겠다 가장 일반적으로 사용되는 수치형 기술 통계량은 평균(Average)이다.평균은 데이터의 중심 경향(central tendency)을 보여준다. 중심 경향은 데이터가 대체로 어떤 값 주변에 몰려 있는지를 보여주는 통계적 개념이다.예를 들어, 특정 부품의 평균 비용을 알면, 그 비용이 대체로 어느 정도인지 감을 잡을 수 있다. 다음으로, 데이터 분석에서 중요한 두 개념인 Population(모집단)과 Sample(표본)의 차이에 대해서 설명하겠다. Population은 특정 연구에서 관심 있는 모든 요소들의 집합으로, 쉽게 말해 연구 대상 전체를 의미한다.여기서 Census(전수 조사)라는 개념이 나오는데, ..
-
데이터에 관하여경제 2024. 9. 1. 23:45
Elements (요소): 데이터가 수집되는 대상. 예를 들어, 설문 조사에서 응답자 한 명 한 명이 바로 요소다.Variables (변수): 요소의 특징이나 속성. 예를 들어, 연간 매출 등이 있다.Observation (관찰값): 한 요소에 대해 수집된 정보의 집합. 테이블의 한 행(row)이 바로 관찰값이 되는 거다.Dataset (데이터 세트): 특정 연구에서 수집된 모든 데이터. 모든 Observation을 모아놓은 것이라고 생각하면 될 듯. 다음 이미지를 보면 이해하기 쉬워진다. 이제 데이터 측정에 사용되는 네 가지 척도를 알아보자각각의 척도는 데이터가 얼마나 많은 정보를 담고 있는지 결정하고, 그에 따라 적절한 요약 방법이나 통계 분석 방법이 달라진다. Nominal (명목척도): 이름이나 ..
-
테스트 주도 개발(TDD, Test-Driven Development)컴공지식/프로그래밍언어론 2024. 8. 31. 23:25
TDD는 소프트웨어 개발 방법론 중 하나로, 테스트를 먼저 작성한 후 그 테스트를 통과할 수 있는 코드를 작성하는 방식이다.이 방법론은 코드의 품질을 높이고, 버그를 줄이는 데 아주 효과적이다. TDD의 첫 번째 단계는, 구현할 기능을 테스트하는 테스트 케이스를 작성하는 거다.테스트는 코드가 올바르게 작동하는지 확인하기 위한 명확한 기준이 된다.예를 들어, 정사각형의 넓이를 구하는 함수를 작성할 때, 4를 입력하면 16이 반환되어야 한다는 테스트 케이스를 먼저 작성하는 거다. 그리고 그 테스트를 통과할 수 있는 가장 간단한 코드를 작성한다.코드가 복잡할 필요는 없어, 오직 테스트를 통과하는 것만 목표로 한다.예를 들어, 아까 말한 테스트 케이스를 통과하기 위해 a * a처럼 간단한 코드를 작성하는 거다...
-
어떻게 함수를 설계할까컴공지식/프로그래밍언어론 2024. 8. 31. 23:22
계약(Contract): 함수의 입력과 출력의 타입을 정의.목적(Purpose): 함수가 하는 일을 설명.테스트(Tests): 함수가 올바르게 동작하는지 확인.헤더(Header): 함수의 정의와 매개변수, 반환 타입을 명시.본문(Body): 함수의 실제 동작을 구현. 다음을 모두 만족시키도록 함수를 설계하자.예를 들어 정사각형의 넓이를 구하는 함수를 설계한다고 해보자. 계약 단계에서 입력으로는 정사각형의 한 변의 길이인 정수 타입 a를 정의하고 정수 타입 넓이인 w를 정의하고목적으로는 정사각형의 넓이를 구한다고 할 수 있다.테스트로는 4를 넣으면 16이 반환되는지 테스트 해볼 수 있다.헤더에는 areaOfSquare이라고 함수를 정의하고 매개 변수로는 a, 그리고 반환타입으로는 정수형인 Int를 붙일 수..