사물인터넷과 피지컬 컴퓨팅 사물인터넷과 피지컬 컴퓨팅
블루투스 풋 스위치(bluetooth foot switch) 제작 1 - 배경 및 자료 수집

블루투스 풋 스위치(bluetooth foot switch) 제작 1 - 배경 및 자료 수집

재작 배경: 제 취미 중 하나가 전자 색소폰을 부는 것인데 이 때 꼭 필요한게 반주기입니다. 색소폰을 연습할 때 악보를 보여주고 MR을 연주해 주는 역할을 합니다. 시중에는 비싼 전용 반주기도 있습니다만, 저는 노트북에 설치하여 사용하는 반주기 프로그램을 사용하고 있습니다. 곡을 선택한 후 MR 연주를 시작할 때 스페이스바를 누르면 되는데, 손으로 누르고 악기로 빠르게 움직여 운지를 할려니 바쁘고 당황하기 일수네요. 그래서 발로 밟는 풋스위치로 노트북 스페이스바를 대신하면 좋겠다는 생각을 했습니다. 그리고 연주자들이 전자 악보를 넘길 때도 요긴하게 사용되리라 생각됩니다. 물론 이 생각을 제가 처음 한건 아니고, 시중에는 풋 스위치와 컴퓨터용 프로그램을 세트로 해서 유선 제품으로 나와 있는걸 볼 수 있습니다. 풋 스위치와 컴퓨터를 USB로 연결하고, 제공되는 컴퓨터용 프로그램에서 자신에게 필요한 단축 키로 설정을 해주고, 사용할 때는 풋 스위치를 밟으면 단축 키 명령이 실행되어 원하는
[번역] 앱 인벤터 구성 요소를 추가하는 방법 4 - 구성 요소 주문 :: MITAppInventor 제공

[번역] 앱 인벤터 구성 요소를 추가하는 방법 4 - 구성 요소 주문 :: MITAppInventor 제공

-원문: https://docs.google.com/document/d/1xk9dMfczvjbbwD-wMsr-ffqkTlE3ga0ocCE1KOb2wvw/pub 5. 팔레트 카테고리 내에서 구성 요소 주문 작성 예정(앤드류) 6. 문서 2019년 9월부터 구성요소 카테고리에 따라 /appinventor/docs/reference/comComponents에서 해당 HTML 파일을 수동으로 업데이트해야 합니다. 파일을 수동으로 편집할 수도 있지만 반자동 접근 방식을 권장합니다: appinventor/comComponents 디렉토리에서 "ant ComponentDocumentation"을 실행합니다. 텍스트 편집기에서 생성된 파일 appinventor/comComponents/build/classes/ComponentDocumentation/comComponent-doc.html을 엽니다. 두 번째 창에서, /appinventor/docs/reference/comComponents에 있는
[번역] 앱 인벤터 구성 요소를 추가하는 방법 3 - 구현 :: MITAppInventor 제공

[번역] 앱 인벤터 구성 요소를 추가하는 방법 3 - 구현 :: MITAppInventor 제공

- 원문: https://docs.google.com/document/d/1xk9dMfczvjbbwD-wMsr-ffqkTlE3ga0ocCE1KOb2wvw/pub 4. 구현 새 구성 요소가 생성되거나 수정될 때마다 Companion 앱의 새 복사본도 생성되어야 합니다. 새 Companion을 장치에 푸시하는 방법에 대한 자세한 내용은 북마크에 추가해야 하는 문서인 MIT 소스에서 App Inventor를 빌드하는 방법의 App Inventor Companion 앱 섹션을 참조하세요. 소스에서 빌드하는 방법 문서에서 이 섹션을 확인하세요. Java 파일은 다음 줄로 시작해야 합니다(해당 연도로 대체). // -*- mode: java; c-basic-offset: 2; -*- // Copyright 2019 MIT, All rights reserved // Released under the Apache License, Version 2.0 // http://www.apache.org/l
[번역] 앱 인벤터 구성 요소를 추가하는 방법 2 - 인터페이스 디자인 :: MITAppInventor 제공

[번역] 앱 인벤터 구성 요소를 추가하는 방법 2 - 인터페이스 디자인 :: MITAppInventor 제공

- 원문: https://docs.google.com/document/d/1xk9dMfczvjbbwD-wMsr-ffqkTlE3ga0ocCE1KOb2wvw/pub 2. 인터페이스 디자인 2a. 일반 원칙 Josh Bloch는 다음을 포함하여(축어적으로 인용) API 설계의 몇 가지 훌륭한 원칙을 정리하고 제시했습니다. API는 자체 문서화되어야 합니다: 좋은 API에 작성된 코드를 읽는 데 문서화가 필요한 경우는 거의 없습니다. [HelloPurr의 블록의 단순성을 고려하십시오.] API의 초기 초안은 짧아야 하며, 일반적으로 클래스 및 메서드 서명과 한 줄 설명이 포함된 한 페이지로 구성됩니다. 이렇게 하면 처음에 API를 제대로 얻지 못한 경우 API를 쉽게 재구성할 수 있습니다. API를 구현하기 전에, API에 대한 사용 사례를 코딩하세요, 심지어 API를 올바르게 지정하기 전에도. 이렇게 하면 근본적으로 손상된 API를 구현하거나 지정하지 않아도 됩니다. 예제 코드는 예시적이
[번역] 앱 인벤터 구성 요소를 추가하는 방법 1 - 배경 :: MITAppInventor 제공

[번역] 앱 인벤터 구성 요소를 추가하는 방법 1 - 배경 :: MITAppInventor 제공

- 원문: https://docs.google.com/document/d/1xk9dMfczvjbbwD-wMsr-ffqkTlE3ga0ocCE1KOb2wvw/pub 이 문서에서는 App Inventor에 새로운 구성 요소를 디자인하고 추가하는 방법을 설명합니다. 1. 배경 1a. 안드로이드 이 문서의 독자는 Java SDK를 사용하여 Android 프로그램을 작성하는 방법을 알고 있다고 가정합니다. 그렇지 않은 경우 Android 개발자 사이트에서 첫 번째 앱 구축 및 활동 수명 주기 관리에 대한 유용한 정보를 얻을 수 있습니다. 강조하고 읽어볼 가치가 있는 Android의 한 가지 측면은 Android UI 스레드입니다. 이 스레드는 UI 상호작용(예: 버튼 누르기)에 응답하고 UI를 업데이트하는 역할을 담당합니다. 모든 사용자 코드와 대부분의 구성 요소 라이브러리 코드는 UI 스레드에서 실행됩니다. (나중에 사용자 작업의 결과로 스레드를 생성하는 방법에 대해 설명합니다.) 이는 사용
[번역] 앱 인벤터 확장 구성 요소 - 2. 생성 방법 :: MITAppInventor 제공

[번역] 앱 인벤터 확장 구성 요소 - 2. 생성 방법 :: MITAppInventor 제공

-원문: https://docs.google.com/document/d/1orlYWGlHOY0hmAC0zjadQ4DET2K8U34C8hv5zmuxZLU/pub#h.7vwgfkv42pdd 3. Extension 구성요소 생성 방법 확장 구성 요소는 Java로 프로그래밍하여 생성됩니다. Java 코드는 사용자가 작성한 원본 코드일 수도 있고 다른 소스의 Java 라이브러리(jar 파일)를 포함할 수도 있습니다. 개인 용도로 확장 구성 요소를 만들거나 사람들에게 aix 파일을 보내거나 파일을 웹에서 사용할 수 있도록 하여 공유할 수 있습니다. 확장 구성 요소를 생성하는 프로세스는 MIT App Inventor 또는 App Inventor 무료 및 오픈 소스 코드를 사용하여 구축된 로컬 버전 모두에 대해 일반 App Inventor 구성 요소를 생성할 때 사람들이 거치는 과정과 기본적으로 동일합니다. 차이점은 일반 구성 요소를 다른 사람이 사용할 수 있게 만드는 유일한 방법은 자체 App
[번역] 앱 인벤터 확장 구성 요소 - 1. 개요 :: MITAppInventor 제공

[번역] 앱 인벤터 확장 구성 요소 - 1. 개요 :: MITAppInventor 제공

- 원문: https://docs.google.com/document/d/1orlYWGlHOY0hmAC0zjadQ4DET2K8U34C8hv5zmuxZLU/pub#h.7vwgfkv42pdd 참고: App Inventor 확장은 API 레벨 8(Android 시스템 2.2 Froyo) 이상을 실행하는 Android 장치에서만 지원됩니다. 이는 확장 프로그램 생성, 확장 프로그램을 가져오는 프로젝트 빌드, 확장 프로그램을 사용하는 프로젝트의 패키지 APK 실행에 적용됩니다. iOS에서는 확장 프로그램이 (아직) 지원되지 않습니다. 1. App Inventor 확장 구성 요소 개요 App Inventor 앱은 구성 요소를 사용하여 구축됩니다. 구성 요소를 사용하면 앱이 모바일 장치(예: 카메라 또는 LocationSensor)의 내장 기능이나 웹 서비스(예: Twitter 또는 FusionTables)를 사용할 수 있습니다. App Inventor에는 대규모 구성 요소 모음이 포함되어 있으
[번역] 작은 기계 학습(Tiny Machine Learning): 차세대 AI 혁명 :: Medium 제공

[번역] 작은 기계 학습(Tiny Machine Learning): 차세대 AI 혁명 :: Medium 제공

- 원문: https://towardsdatascience.com/tiny-machine-learning-the-next-ai-revolution-495c26463868 더 큰 모델이 항상 더 나은 모델은 아닙니다. NASA의 추진으로 시작된 전자제품의 소형화는 전체 소비재 산업이 되었습니다. 이제 우리는 베토벤 전곡을 옷깃핀에 꽂고 헤드폰을 끼고 듣고 있습니다. — Neil deGrasse Tyson, 천체 물리학자이자 과학 평론가 [...] 마이크로컨트롤러용 TensorFlow Lite와 같은 임베디드 기계 학습 프레임워크의 도입과 함께 초저전력 임베디드 장치의 보급으로 인해 AI 기반 IoT 장치의 대량 확산이 가능해졌습니다. — 비자이 자나파 레디(Vijay Janapa Reddi), 하버드 대학교 부교수 임베디드 장치를 사용한 TinyML(작은 기계 학습) 개요입니다. 이것은 작은 기계 학습에 관한 일련의 기사 중 첫 번째입니다. 이 기사의 목표는 독자에게 작은 기계 학습의
[번역] 스마트 홈 설정을 위한 최고의 가이드 :: WIRED 제공

[번역] 스마트 홈 설정을 위한 최고의 가이드 :: WIRED 제공

원문: https://www.wired.com/story/how-to-set-up-smart-home/ 음성으로 조명을 제어해보세요! 휴대폰으로 진공청소기를 소환해보세요! Wi-Fi 팁부터 보안 조언까지 알아야 할 모든 것이 여기에 있습니다. 스마트 홈: 귀하의 요구 사항을 예측하고 환경을 미세 조정할 수 있도록 지원하는 곳입니다. 글쎄요, 그것은 적어도 정점입니다. 모든 것을 하나로 모으는 것은 순조로운 일이 아니지만, 올바른 설정과 장치의 조합을 통해 생활이 더욱 쉬워지고 진정한 편리함을 더할 수 있습니다. 다양한 장치는 말할 것도 없고 탐색해야 할 생태계와 표준이 무수히 많기 때문에 스마트 홈 현장은 위협적입니다. 우리는 귀하의 옵션을 강조하고 전문 용어를 설명하며 귀하가 선택한 선택의 결과를 이해하도록 돕기 위해 이 스마트 홈 가이드를 구성했습니다. 약간의 계획이 큰 도움이 됩니다. 2023년 2월 업데이트: 대체 생태계를 추가하고, Wi-Fi 및 스마트 홈 표준 섹션을 업데
[번역] 'Matter' 스마트 홈 표준의 모든 것

[번역] 'Matter' 스마트 홈 표준의 모든 것

- 원문: https://www.wired.com/story/what-is-matter/ 이 오픈 소스 프로토콜은 장치가 원활하게 작동하도록 보장합니다. Matter 1.3에는 더 많은 장치 지원 및 에너지 관리가 추가되었습니다. 이상적인 스마트 홈은 사용자의 요구 사항을 원활하게 예측하고 명령에 즉시 응답합니다. 각 가전제품에 대한 특정 앱을 열거나 가장 가까운 스피커에서 좋아하는 팟캐스트의 최신 에피소드를 시작하는 정확한 음성 명령과 음성 지원 조합을 기억할 필요가 없습니다. 경쟁적인 스마트 홈 표준으로 인해 장치 작동이 불필요하게 복잡해졌습니다. 별로... 글쎄요, 똑똑하진 않아요. 기술 대기업들은 음성 비서를 제어 계층으로 제공하여 표준을 넘어서려고 노력하지만 Alexa는 Google Assistant 또는 Siri와 대화하거나 Google 또는 Apple 장치를 제어할 수 없으며 그 반대의 경우도 마찬가지입니다. (그리고 지금까지 단일 생태계에서 최고의 장치를 모두 만든 곳
[OpenCV] 이미지 변환하기 - 이진화 함수 비교

[OpenCV] 이미지 변환하기 - 이진화 함수 비교

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 이진화(Binary Thresholding)는 이미지를 단순화하여 객체 검출, 형태 분석 등의 작업에 유용합니다. 이진화를 더 확실하게 하는 방법은 다양한 방법을 활용하여 각 상황에 맞는 최적의 결과를 얻는 것입니다. OpenCV에서는 여러 가지 이진화 방법을 제공합니다. 1. 기본 이진화 기본 이진화는 픽셀 값을 임계값과 비교하여 두 가지 값(0 또는 255)으로 설정하는 간단한 방법입니다. 간단하고 빠르지만, 조명이 균일한 경우에만 효과적입니다. threshold(src, dst, thresh, maxValue, THRESH_BINARY) src: 입력 이미지 dst: 출력 이미지 thresh: 임계값 maxValue: 임계값을 넘는 픽셀에 할당할 값 THRESH_BINARY: 이진화 방법 (여기서는 기본 이진화) 2. Otsu 이진화 Otsu's 방법은 임계값을 자동으로 선택하여 이진화를 수행합니다
[OpenCV] 이미지 변환하기 - 경계(Contour) 특성 2

[OpenCV] 이미지 변환하기 - 경계(Contour) 특성 2

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 컨투어의 특성을 분석하는 함수들은 다양한 이미지 분석 및 컴퓨터 비전 작업에 매우 유용합니다. 여기서는 주요 특성 및 이를 추출하는 방법에 대해 설명하겠습니다. 주요 컨투어 특성: 1. 경계 상자 (Bounding Box) 컨투어를 둘러싸는 가장 작은 직사각형을 계산할 수 있습니다. cv::boundingRect 함수를 사용합니다. Rect boundingRect(InputArray points) points: 입력 2D 점들의 배열. std::vector 또는 cv::Mat 형식으로 제공. Rect: 입력 점 집합을 포함하는 최소한의 직사각형 영역(반환 값). 반환된 사각형은 x, y, width, height 필드를 가짐. 2. 최소 외접 원 (Minimum Enclosing Circle) 컨투어를 둘러싸는 가장 작은 원을 계산할 수 있습니다. cv::minEnclosingCirc
[OpenCV] 이미지 변환하기 - 경계(Contour) 특성 1

[OpenCV] 이미지 변환하기 - 경계(Contour) 특성 1

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 컨투어의 특성을 분석하는 함수들은 다양한 이미지 분석 및 컴퓨터 비전 작업에 매우 유용합니다. 여기서는 주요 특성 및 이를 추출하는 방법에 대해 설명하겠습니다. 주요 컨투어 특성: 1. 면적 (Area) 컨투어가 차지하는 면적을 계산할 수 있습니다. cv::contourArea 함수를 사용합니다. double contourArea(InputArray contour, bool oriented = false) contour: 면적을 계산할 컨투어 포인트의 벡터. oriented: 참이면 면적의 방향을 고려합. 기본값은 거짓. 2. 둘레 길이 (Perimeter) 컨투어의 둘레 길이를 계산할 수 있습니다. cv::arcLength 함수를 사용합니다. double arcLength(InputArray curve, bool closed) curve: 둘레 길이를 계산할 컨투어 포인트의 벡터. closed: 참이면
[OpenCV] 이미지 변환하기 - 경계(Contour) 검출

[OpenCV] 이미지 변환하기 - 경계(Contour) 검출

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. "컨투어(Contour)"는 같은 색 또는 강도를 가진 영역의 경계를 나타내는 곡선을 의미합니다. 컨투어는 객체 인식 및 형태 분석에 매우 유용하며, 객체의 모양과 크기를 추출하거나 객체를 추적하는 데 사용됩니다. 컨투어를 찾기 위해 주로 사용하는 함수는 findContours() 함수입니다. 이 함수는 바이너리 이미지(흑백 이미지)에서 윤곽선을 찾아내어 벡터 형태로 반환합니다. 컨투어는 객체의 모양 분석, 객체 검출, 인식, 경계 추출 등의 목적으로 사용됩니다. 일반적으로 이미지에서 컨투어를 찾기 위해서는 다음과 같은 과정을 거칩니다: 그레이스케일 변환: 컬러 이미지를 그레이스케일로 변환합니다. 이진화(Binarization): 이미지를 이진 이미지로 변환합니다. 일반적으로 cv::threshold나 cv::Canny 함수를 사용합니다. 컨투어 찾기: cv::findContours 함수를 사용하여 컨투
[OpenCV] 이미지 변환하기 - HoughCircles() 사용

[OpenCV] 이미지 변환하기 - HoughCircles() 사용

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 허프 변환을 이용하여 원을 검출할 수 있는데 일반적인 허프 변환 대신 허프 그래디언트 방법 (Hough Gradient Method) 을 사용하여 원을 검출합니다. 원 검출의 원리는 이미지의 각 픽셀에 대해 주어진 반지름 값에서 원의 중심을 찾는 과정으로, 이는 고차원 공간에서의 누적 배열(accumulator array)을 사용하여 구현됩니다. 그래디언트 방법은 전통적인 허프 변환을 확장한 방법으로, 이미지의 그래디언트 정보(엣지 방향 및 강도)를 사용하여 더 효율적으로 원을 검출합니다. 이 방법은 다음과 같은 단계로 진행됩니다: 엣지 검출: 입력 이미지를 Canny 에지 검출기 또는 다른 엣지 검출 방법을 사용하여 엣지 이미지를 생성합니다. 누적 배열 생성: 각 엣지 픽셀에 대해, 픽셀의 그래디언트 방향을 따라 원의 중심을 추정합니다. 이는 주어진 반지름 값에서 가능한 원의 중심 좌표를 누적 배열에
[OpenCV] 이미지 변환하기 - HoughLinesP() 사용

[OpenCV] 이미지 변환하기 - HoughLinesP() 사용

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 확률적 허프 변환(Probabilistic Hough Transform, PHT)은 표준 허프 변환(Hough Transform)의 개선된 버전입니다. PHT는 계산 효율성을 높이고 메모리 사용을 줄이기 위해, 랜덤하게 표본을 추출하여 직선을 검출하는 방법입니다. 특히, 많은 에지 포인트가 있는 복잡한 이미지에서 유용하며, 이를 통해 허프 변환의 결과로 나온 직선들의 수를 줄이고 더 의미 있는 결과를 얻을 수 있습니다. 확률적 허프 변환의 주요 특징: 1. 랜덤 샘플링: 이미지에서 임의의 점들을 선택하여 허프 변환을 수행합니다. 이로 인해 계산량이 크게 줄어듭니다. 2. 더 적은 메모리 사용: 필요한 누적 배열의 크기가 작아집니다. 이는 더 빠른 계산과 메모리 사용량 감소로 이어집니다. 3. 선 세그먼트 검출: PHT는 무한 직선을 찾는 대신, 선 세그먼트(시작점과 끝점이 있는 직선)를 검출합니다. 이는
[OpenCV] 이미지 변환하기 - HoughLines() 사용

[OpenCV] 이미지 변환하기 - HoughLines() 사용

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 허프 변환(Hough Transform)은 이미지에서 기하학적 모양을 감지하는 데 사용되는 기술입니다. 허프 변환은 직선, 원 또는 임의의 형태의 모양을 감지할 수 있습니다. 여기에는 주로 직선 허프 변환과 원 허프 변환이 사용됩니다. 직선 허프 변환은 직선 형태의 객체를 감지하고 추출하는 데 사용되며, 원 허프 변환은 원 형태의 객체를 감지하고 추출하는 데 사용됩니다. 직선 허프 변환은 다음과 같은 단계로 작동합니다. 에지 감지: 먼저 이미지에서 에지를 감지합니다. 일반적으로 캐니 에지 검출 또는 다른 에지 감지 알고리즘이 사용됩니다. 허프 공간 생성: 에지 픽셀은 허프 공간에 투영됩니다. 허프 공간은 (r, θ) 매개변수 공간으로 정의되며, 각 픽셀에 대해 모든 가능한 직선을 나타내는 점이 표시됩니다. 허프 변환 계산: 모든 에지 픽셀에 대해 허프 공간에서 누적값이 증가됩니다. 이 누적값은 허프 변환
[OpenCV] 이미지 변환하기 - 관심 영역 설정

[OpenCV] 이미지 변환하기 - 관심 영역 설정

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 차선 인식을 위해 관심 영역(Region of Interest, ROI)을 설정하려면 다음과 같은 과정을 거칩니다: 원본 이미지 불러오기: 먼저 차선을 인식할 원본 이미지를 불러옵니다. ROI를 나타내는 다각형 정의: 차선이 일반적으로 도로의 아래쪽에 있기 때문에 ROI는 이미지의 하단 부분에 위치합니다. 따라서 관심 영역을 나타내는 다각형을 정의합니다. 이 다각형은 일반적으로 이미지의 하단 경계에 볼록한 모양을 가집니다. 다각형을 이미지에 그리기: 정의한 다각형을 원본 이미지에 그립니다. OpenCV의 cv::polylines() 함수를 사용하여 다각형을 그릴 수 있습니다. 이때, 다각형을 나타내는 꼭지점들의 좌표를 함수에 전달합니다. 관심 영역 외의 영역 제거: 다각형으로 표시된 관심 영역 외의 부분은 제거합니다. 이를 위해 이미지에 마스킹을 적용하거나 관심 영역 외의 픽셀 값을 제거할 수 있습니다.
[OpenCV] 이미지 변환하기 - warpPerspective() 사용

[OpenCV] 이미지 변환하기 - warpPerspective() 사용

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 원근 변환(Perspective Transformation)은 이미지나 영상의 원근 효과를 보정하거나, 특정 영역을 추출하는 등의 작업을 수행하기 위해 사용되는 기술입니다. 이 변환은 평면 상의 점을 다른 평면 상의 점으로 매핑시키는 방법 중 하나입니다. 원근 변환은 일반적으로 카메라나 렌즈로 찍힌 이미지에서 발생하는 원근 효과를 보정하기 위해 사용됩니다. 예를 들어, 건물이나 도로와 같은 수평한 선이 실제로는 수평선이지만 카메라의 원근 효과로 인해 왜곡되는 경우, 이를 보정하여 정확한 수평과 수직을 유지할 수 있습니다. OpenCV에서는 cv::warpPerspective 함수를 사용하여 원근 변환을 수행할 수 있습니다. 원근 변환은 네 개의 점을 매핑시켜야 합니다. 변환 전과 후의 각 점의 좌표를 알고 있다면, 이를 기반으로 변환 행렬을 계산하여 이미지에 적용할 수 있습니다. 이 변환 행렬은 cv::
[OpenCV] 이미지 변환하기 - Laplacian() 사용

[OpenCV] 이미지 변환하기 - Laplacian() 사용

Visual Studio 2019 환경에서 OpenCV 4.9.0을 사용합니다. 라플라시안(Laplacian) 필터는 이미지에서 엣지(경계)를 감지하는 데 사용되는 필터 중 하나입니다. 이 필터는 이미지의 고주파 성분을 감지하여 엣지를 찾습니다. 라플라시안 필터는 이미지의 2차 미분을 계산하는 것으로, 이미지의 픽셀 값이 빠르게 변화하는 지점을 감지합니다. 라플라시안 필터는 주로 다음과 같은 두 가지 방법으로 사용됩니다: 엣지 검출(Edge Detection): 이미지에서 엣지를 검출하기 위해 라플라시안 필터를 사용합니다. 라플라시안 필터는 이미지의 고주파 성분을 감지하므로, 픽셀 값이 급격하게 변화하는 지점이 감지되어 엣지가 형성됩니다. 이미지 선명도 향상(Image Sharpening): 라플라시안 필터는 이미지에서 세부 사항을 강조하여 이미지를 선명하게 만드는 데 사용될 수 있습니다. 라플라시안 필터의 결과를 원래 이미지에 더하는 것으로 이미지를 선명하게 만들 수 있습니다. 라
ⓒ 2022 [사물인터넷과 피지컬 컴퓨팅] All rights reserved.
Supported by Keyzard