2024/08 22

[OS / Linux] GUI와 CLI

📌GUI (Graphical User Interface) : 화면상에 보이는 아이콘, 창, 메뉴 등을 마우스 등으로 클릭하여 컴퓨터에 명령을 내리는 인터페이스아이콘, 버튼, 메뉴, 창 등의 시각적 요소가 포함되며, 사용자는 마우스나 터치스크린을 사용하여 직관적으로 조작 가능CLI를 가시적으로 확인할 수 있도록 감싼 환경사용자 친화적멀티태스킹 용이 : 여러 창을 동시에 열어 다양한 작업 수행 가능 → 효율적인 작업단점 ) 자원 소모, 속도제한, 제한된 자동화 : 효율적이지 않은 데이터 공간 필요, 반복적인 작업 자동화 불가능  📌CLI (Command Line Interface) : 입출력만을 이용해서 컴퓨터와 소통하는 텍스트 기반의 인터페이스높은 작업 효율 : GUI에서 손으로 직접 클릭하는 것보다 ..

[지능시스템] 04장. 에지와 영역

에지 검출 : 물체 내부는 명암이 서서히 변하고 물체 경계는 명암이 급격히 변하는 특성 활용미분 : 변수 x가 미세하게 증가했을 때 함수 변화량을 측정하는 기법정수 좌표를 쓰는 디지털 영상에서는 x의 최소 변화량이 1이기에, δx =1 로 한다디지털 영상의 미분해당 식을 영상 f에 적용하는 일은 필터 u(에지 연산자)로 컨볼루션 하여 구현.필터 u의 중심점은 왼쪽 화소임.에지영상 f’은 명암값이 커지면 미분값으로 양수를, 작아지면 음수를 갖는다.[현실 세계의 램프 에지] : 명암이 몇 화소에 걸쳐 변하는 에지에지의 두께가 1보다 큰 경우, 에지의 정확한 위치를 찾는 데에 문제가 생김.1차 미분은 에지 발생 여부, 에지가 어떤 방향을 향하는지에 대한 정보가 제공됨.2차 미분 영상 f’’은 컨볼루션을 두 번..

[JAVA] 패키지 (Package)

📌 패키지 : 관련 클래스와 인터페이스를 그룹화한 하나의 단위(바탕화면에 디렉토리를 생성하고, 그 안에 파일들을 정리하는 것과 유사.)패키지 안에 패키지를 생성할 수 있다. ( 계층구조)단, 계층 구조라 해서 상위-하위 관계가 아니라 각각 독립적이다.파일 시스템 구조 : com/example/rest_back패키지 구조 : com.example.rest_back내장 패키지 : 자바에서 기본적으로 제공하는 패키지들 ( java.util, java.lang 등)java.lang : 자바의 기본적인 클래스들을 포함하는 패키지로, 자바 프로그램에서 기본적으로 사용할 수 있는 클래스들 제공 java.util : 유틸리티 클래스들을 포함하는 패키지로, 컬렉션 프레임워크, 날짜와 시간 처리, 래퍼 클래스 등을 제공..

Language/JAVA 2024.08.30

[지능시스템] 03장. 영상 처리

📌 영상 처리 : 특적 목적을 달성하기 위해 원래 영상을 개선된 새로운 영상으로 변환하는 작업물체에서 반사된 빛이 카메라의 작은 구멍을 통해 안으로 들어가 뒷면에 있는 영상 평면에 맺힌다. 영상 평면이란 눈의 경우 망막, 필름 카메라의 경우 필름, 디지털카메라의 경우 CCD센서빛이라는 아날로그 신호를 받은 CCD센서는 샘플링/양자화 과정을 거쳐 디지털 신호로 변환하고, 영상을 메모리에 저장함.가로 N*세로 M(영상의 크기, 해상도)의 구간으로 샘플링 후, L단계로 양자화.L은 보통 한 바이트로 표현할 수 있도록 L=256을 사용. f(j, i) : j행 i열의 명암.원점이 왼쪽 위에 위치함.영상을 저장하는 배열에서 화소의 위치를 지정할 때는 그림처럼 (y, x) 표기를 사용하지만 그 외에는 주로 (x,..

[JAVA] 컬렉션 (Collection)

📌컬렉션(Collection) : 여러 개의 객체를 하나의 단위로 묶어서 관리할 수 있는 구조 - 컬렉션 프레임워크 (Collection Framework) :  데이터의 집합을 다루는 데 필요한 다양한 인터페이스와 클래스구성 요소인터페이스 : 컬렉션의 기본적인 동작을 정의하는 인터페이스- List, Set, Queue, Map 등구현 클래스 : 인터페이스를 구현한 구체적인 클래스- List의 경우 ArrayList, LinkedList 등알고리즘 : 컬렉션을 쉽게 조작할 수 있는 메서드를 제공하는 유틸리티 클래스- Collection 클래스에서 제공하는 정렬, 검색, 비교 등의 알고리즘  제네릭 컬렉션 타입 안정성 보장컴파일 타임에 타입 오류 잡을 수 있음불필요한 형변환(Casting) 방📄 Col..

Language/JAVA 2024.08.29

[JAVA] 제네릭 (Generic)

📌 제네릭 : 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법.Person 클래스를 만들 때 이용하여 전역변수 info의 데이터타입을 T로 일시적으로 지정해 준다. 이후 Person이 인스턴스화할 때 지정한 구체적인 데이터 타입 (여기에서는 string)이 T자리에 들어가 변수 info가타입을 갖게 된다.*특징*1. 제네릭의 이름은 서로 달라야 한다. 보통 T  뒤에 위치한 알파벳을 대문자 형태로 사용한다.2. 제네릭의 자료형은 기본 데이터 타입 (int, char,...) 이 아닌 참조형 데이터 타입만을 취급한다. 제네릭 프로그래밍 (generic programming) : 다양한 종류의 데이터를 처리할 수 있는 클래스와 메서드를 작성하는 기법자료형에 대한 정보가 담겨있는 박스를 제공해 ..

Language/JAVA 2024.08.28

마우스 클릭을 통한 실시간 전경 표시와 GrabCut 알고리즘 코드 분석

파이썬 코드결과 화면 GrabCut 알고리즘에서 반복 횟수의 역할: 40 번째 줄의 grabCut 메서드의 6번째 매개변수는 물체 및 배경을 추정하기 위해 반복적으로 알고리즘이 실행되는 횟수를 의미한다. GrabCut 반복 횟수 조정에 따른 성능 변화: 5 → 1로 바꾼다면 알고리즘의 반복 횟수를 줄이는 것으로, 처리 시간이 줄어들어 grabCut 알고리즘이 더욱 빨리 수렴한다. 그러나 반복 횟수가 충분하지 않아 알고리즘이 물체와 배경을 정확히 구분하는 데에 필요한 충분한 정보를 수집하지 못하기에 결과가 덜 정확하게 분리되어 출력됨. 물체와 배경 경계가 흐리거나 일부 배경이 물체로 잘못 분류되는 등의 문제 발생할 수 있다.  Scharr 연산자를 이용한 에지 감지의 장점: Scharr 연산자는 이미지의 ..

[지능시스템] 07장. 비전 에이전트

컴퓨터 비전 방법론규칙 기방 방법론 : 인간의 논리 체계를 바탕으로 데이터를 이해하는 방법 (6장 내용)기계 학습 방법론 : 획득한 데이터를 바탕으로 문제를 해결하는 방법신경망 모델 - 얕은 신경망, 깊은 신경망(딥러닝)*얕은 신경망 : 퍼셉트론 ~ 다층 퍼셉트론 ~ 깊은 다층 퍼셉트론 * 딥러닝 : 깊은 신경망 구조를 설계하고 학습하고 예측에 사용하는 기술 비신경망 모델모델 : 기계학습에서 부르는 함수학습 : 수집한 데이터로 방정식을 풀어 함수를 알아내는 일예측 : 학습된 모델로 결과를 계산하는 일 기계학습의 4단계 : 데이터 수집 → 모델 선택 → 학습 → 예측데이터 수집모델의 입력 : 특징 벡터   / 모델의 출력 : 참값, 레이블 회귀 문제 : 레이블이 연속적인 값분류 문제 : 레이블이 이산적인..

[JAVA] OCP (Open Closed Principle) 개방 폐쇄의 원칙

📌 개방 폐쇄의 원칙 (OCP) ? : 객체 지향 설계 원칙 중 하나로 Open for extention + Closed for modification 즉, 새로운 기능의 추가나 변경 사항이 생겼을 때 기존 코드는 확장할 수 있어야 하지만 기존의 코드는 수정되지 않아야 하는 원칙이다. 확장에는 열려있고 변경에는 닫혀있어야 한다는 의미이다. Open for extention : 확장은 열려있다는 뜻으로, 클라이언트 코드 수정을 제외한 기능 추가 가능을 의미.Closed for modification : 코드 수정은 닫혀있다는 의미로, 클라이언트 코드 수정 금지를 의미.  장점코드의 유지보수성을 높이고 변경으로 인한 오류를 줄일 수 있다.다형성을 활용하고 역할과 구현을 잘 분리하였기에 핵심 코드들을 유지할..

Language/JAVA 2024.08.26