일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- file access
- memory
- Encapusulation
- compare
- Class
- aduino
- public
- SERIAL
- Android
- Overloading
- Binary
- Pointer
- wpf
- parameter
- flutter
- java
- stream
- inheritance
- atmega328
- length
- Unity
- APP
- UNO
- Barcode
- Contour
- mfc
- sensor
- digitalRead
- preprocessing
- Read
- Today
- Total
목록분류 전체보기 (287)
폴크(FOLC)
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특별한 정보를 생성한다. > 추출된 정보를 일반화한다. # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특별한 정보를 생성 > Points : 입력, model : 결과, distance : 노이즈로 판단하는 경계값 # MA( Moving Average ) > cv::Point2d *pSrc = new cv::Point2d[1000]; > cv::Point2d *pDst = new cv::Point2d[1000]; > CMovingAverage MA; > MA.SmoothFilter(pSrc, pDst, 1000); * 소스 코드 세부 내용 * void CMovingAverage::SmoothFilter(cv::Point..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 일반적인 정보를 생성한다. > 추출된 정보를 일반화한다. # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 일반적인 정보를 생성 > Points : 입력, model : 결과, distance : 노이즈로 판단하는 경계값 # RANSAC ( Random sample consensus ) > vector vecData; > CFitLineRANSAC ransac; > cv::Vec4f model; > ransac.FitLine(vecData, 3.0, model); * 소스 코드 세부 내용 * double CFitLineRANSAC::FitLine(const vector &src, double distance_threshol..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특별한 정보를 제거한다 > 특별한 주파수 성분을 제거한다. # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특별한 정보를 제거 > srcImage : 입력, dstImage : 결과 # cv::dft, cv::idft > cv::Mat padded, complexI; > const int m = cv::getOptimalDFTSize(srcImage.rows); > const int n = cv::getOptimalDFTSize(srcImage.cols); > cv::copyMakeBorder(srcImage, padded, 0, m - srcImage.rows, 0, n - srcImage.cols, cv::BORDER..
# 디지털 이미지 처리 # 이미지 상태 정보에서 배경을 제거하고 전경을 추출한다. > 이미지 정보에서 배경을 제거하고 전경 추출 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보에서 배경을 제거하고 전경을 추출 > srcImage : 입력, dstImage : 결과 # cv::createBackgroundSubtractorKNN > cv::Ptr pBackSubKNN = cv::createBackgroundSubtractorKNN(); > pBackSubKNN->apply(srcImage, dstImage); # cv::createBackgroundSubtractorMOG2 > cv::Ptr pBackSubMOG2 = cv::createBackgroundSubtractorMOG..
# Unity 프로젝트 컴파일 관련 > 이미지 트레킹 관련 라이브러리(AR) 연동에서 컴파일 오류 발생 Failed to generated ARCore reference image library 'ReferenceImageLibrary' UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) BuildFailedException: Failed to generate image database. Output from arcoreimg: Error building Player: 2 errors Build completed with a result of 'Failed' in 0 seconds (131 ms) UnityEngine.GUIUtility:ProcessEven..
# Excel 파일로 데이터를 연동 > Excel 관련 Reference 를 연결시키면 파일 저장 및 열기를 손 쉽게 진행 한다. # 솔루션 탐색기 - 참조 - COM - Excel 를 검색 > 설치되어있는 Excel 버전에 따라서 Object Library 번호가 다르다. # using Excel = Microsoft.Office.Interop.Excel; # SaveFileDialog saveFile = new SaveFileDialog(); > saveFile.Filter = "Excel Files|*.xls"; > saveFile.Title = "Save Excel File"; > if (saveFile.ShowDialog() == DialogResult.OK) { Excel.Application..
# 병렬 컴퓨팅(parallel computing) 또는 병렬 연산 > 크고 복잡한 문제를 작게 나눠 동시에 해결하는 데에 주로 사용되며, 비트/명령어/데이터/작업 병렬 처리 방식 > 오래전부터 주로 고성능 연산에 이용되었으며, 최근 컴퓨터 이용에서 멀티 코어 프로세서 구조로 주목 받음 # 병렬 처리 컴퓨터들은 대체적으로 하드웨어의 병렬화 방법에 따라 분류 > 클러스터, MPP, 그리드 - 여러 컴퓨터에서 한 가지 작업을 하도록 설계 > 멀티 코어나 멀티 프로세서 컴퓨터 - 여러 개의 CPU 를 한 기기에 탑재 # OPENMP ( Open Multi-Processing ) > 반복문의 구문을 각각의 스레드로 동작하게 할 수 있게 해주는 특수한 라이브러리 > Visual Studio 에서 기본 기능으로 지..
# 디지털 이미지 처리 # 이미지 상태 정보에서 특별한 내용을 추출한다. > 이미지 정보에서 특별한 내용 추출 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보에서 특별한 내용을 추출 > srcImage : 입력, decode : 결과 # cv::QRCodeDetector > cv::QRCodeDetector detector; > vector points; > if (detector.detect(srcImage, points) == true) > { > cv::String info = detector.decode(srcImage, points); > }
# 디지털 이미지 처리 # 이미지 상태 정보의 시인성을 높여주도록 복원한다. > 이미지 정보의 시인성을 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보의 시인성을 높여주도록 복원 > srcImage : 입력, dstImage : 결과, Merge : HDR 정보 생성 # cv::MergeDebevec > vector images; // exposure time image > vector times; // exposure time value > cv::Mat response; > cv::Ptr calibrate_debevec = cv::createCalibrateDebevec(); > calibrate_debevec->process(images, response, time..
# 디지털 이미지 처리 # 이미지 상태 정보의 시인성을 높여주도록 복원한다. > 이미지 정보의 시인성을 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보의 시인성을 높여주도록 복원 > srcImage : 입력, dstImage : 결과, Calibrate : 카메라 반응 복원 # cv::CalibrateDebevec > vector images; // exposure time image > vector times; // exposure time value > cv::Mat response; > cv::Ptr calibrate_debevec = cv::createCalibrateDebevec(); > calibrate_debevec->process(images, respon..
# 디지털 이미지 처리 # 이미지 상태 정보의 시인성을 높여주도록 복원한다. > 이미지 정보의 시인성을 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보의 시인성을 높여주도록 복원 > srcImage : 입력, dstImage : 결과, Tonemap : HDR -> LDR 로 매핑 # cv::Tonemap > vector images; // exposure time image > vector times; // exposure time value > cv::Ptr tonemap = cv::createTonemap(2.2f); > tonemap->process(hdrImage, dstImage); # cv::TonemapDrago > vector images; // expo..
# 디지털 이미지 처리 # 이미지 상태 정보의 시인성을 높여주도록 복원한다. > 이미지 정보의 시인성을 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지 상태 정보의 시인성을 높여주도록 복원 > srcImage : 입력, dstImage : 결과, calbrateDebevec : 카메라 응답 예측, MergeDebevec : HDR 생성 > Tonemap : HDR -> LDR 로 매핑 # cv::AlignMTB, CalibrateDebevec, createMergeDebevec, createTonemap > vector images; // exposure time image > vector times; // exposure time value > cv::Ptr alignMTB = ..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특별한 영역을 복원한다. > 이미지 정보에서 특별한 영역 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특별한 영역을 복원 > srcImage : 입력, dstImage : 결과, templateWindowSize : 복원 반경, searchWindowSize : 검색크기 > h : 필터 강도, hColor : 색상 구성 # cv::fastNlMeansDenoising > float h = 3.f; > int templateWindowSize = 7, searchWindowSize = 21; > cv::fastNlMeansDenoising(srcImage, dstImage, h, templateWindowSize,..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특별한 영역을 복원한다. > 이미지 정보에서 특별한 영역 복원 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특별한 영역을 복원 > srcImage : 입력, mskImage : 마스크, inpaintRadius : 복원 반경, flags : 알고리즘 > dstImage : 결과 # cv::inpaint > cv::Mat mskImage; > double inpaintRadius = 3.0; > int flags = cv::INPAINT_NS; > cv::inpaint(srcImage, mskImage, dstImage, inpaintRadius, flags);
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특징점을 매칭한다. > 이미지 정보에서 특징점을 매칭 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특징점을 매칭 > srcImage : 입력, keypoints : 특징점, k : 가장 가까운 세트 개수, crossCheck : 서로 확인 > maxDistance : 최대 거리 # Feature Detector - SIFT, BRISK, ORB, MSER, FFD, AFD, SBD, KAZE, AKAZE... > cv::Mat srcImage1, srcImage2; > vector kpts1, kpts2; > cv::Mat desc1, desc2; > cv::Ptr orb_detector = cv::ORB::creat..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 특징점을 추출한다. > 이미지 정보에서 특징점을 추출 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 특징점을 추출 > srcImage : 입력, keypoints : 특징점 # cv::SIFT - 특허 > vector keypoints; > cv::Ptr sift_detector = cv::SIFT::create(500); > sift_detector->detect(srcImage, keypoints); # cv::BRISK > cv::Ptr brisk_detector = cv::BRISK::create(500); > brisk_detector->detect(srcImage, keypoints); # cv::ORB > ..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 코너 특징점을 추출한다. > 이미지 정보에서 코너 특징점을 추출 [ Harris-Stephens, Shi-Tomasi ] # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 코너 특징점을 추출 > srcImage : 입력, blockSize : 영역크기, ksize : 커널크기, QualityLevel : 정확도 > minDistance : 최소거리, k : 하리스코너 자유 매개변수 # cv::cornerHarris > int blockSize = 2, ksize = 3, int borderType = cv::BORDER_DEFAULT; > double k = 0.05; > cv::cornerHarris(srcImage, d..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 동일한 특별한 영역를 추출한다. > 이미지 색상의 정보를 이용해서 동일한 영역 추출 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 동일한 특별한 영역를 추출 > srcImage : 입력, mskImage : 마스크, thresh1 : 경계값, L2gradient : 기울기 # cv::canny > double thresh1 = 128.0, thresh2 = 228.0; > int L2gradient = false; > cv::Canny(srcImage, dstImage, thresh1, thresh2, L2gradient); # cv::LineSegmentDetector > cv::Ptr det = cv::createL..
# 디지털 이미지 처리 # 이미지의 상태 정보에서 동일한 특별한 영역를 추출한다. > 이미지 색상의 정보를 이용해서 동일한 영역 추출 # 이미지 처리 - OpenCV 4.5.3 으로 테스트 # 이미지의 상태 정보에서 동일한 특별한 영역를 추출 > srcImage : 입력, mskImage : 마스크, rtROI : 관심영역, bgModel : 배경, fgModel : 전경 > iter : 반복 횟수 # cv::segmentation::IntelligentScissorsMB > cv::segmentation::IntelligentScissorsMB tool; > tool.setEdgeFeatureCannyParameters(16, 100).setGradientMagnitudeMaxLimit(200); > ..
# 크롤링(Crawling) / 스크레이핑(Scraping) 은 웹에 노출된 데이터를 가져와서 특정한 규칙 또는 위치의 데이터를 추출한다. # 전용 소프트웨어를 크롤러(crawler)라고 한다. # 스파이더(spider), 봇(bot)과 같은 지능형 검색엔진들도 크롤링 기법을 많이 이용한다. # 미리 입력된 방식에 따라 끊임없이 새로운 웹 페이지를 찾고 찾은 결과를 이용해 새로운 정보에 색인을 추가 1. Selenium 설치한다. > Visual Studio 에서 메뉴 - 도구 - NuGet 패키지 관리자로 이동 > Selenium.WebDriver, Selenium.Support 설치 > Selenium.WebDriver.ChromeDriver, DotNetSeleniumExtras.WaitHelper..