Jupyter notebook for C++ OpenCV

1. Jupyter 설치하기 Jupyter 는 Python3 으로 설치하길 권장하고 있다. apt update && apt install python3-pip -y pip3 install --upgrade pip pip3 install jupyter 2. »

[ubuntu] tmp 디렉터리 용량 늘리기

아래의 명령어로 tmp에 저장될수 있는 용량을 볼 수 있다. 기본값이 나의 경우 512MB인데 충분할것 같지만 큰 라이브러리를 cmake로 빌드하는 경우에 문제가 생긴다. df -h opencv contrib »

[c++] std::vector

1. 두 벡터 합치기 std::vector<int> A = { 1,2,3 }; std::vector<int> B = { 4,5,6 }; std::vector<int& »

[WSL] Windows Subsystem for Linux

1. install 윈도우에서 우분투 쉘(bash)을 다룰수 있다. GPU를 사용할수 없어 별로 쓸일이 없을줄 알았는데, 나 같은 경우 Cross-platform 코딩을 많이 하므로 아주 간편하게 우분투를 »

[Neural Network] Single Layer Perceptron

단층 퍼셉트론은 선형 분류기 이다. Neural Networks 의 기본이 되는 Neuron 1개짜리 Single Layer Perceptron 을 C 로 구현한다. 입력의 크기는 고정되지 않지만, 이해를 위해 위 »

[OpenBLAS] Matrix Multiplication Library

BLAS는 Basic Linear Algebra SubPrograms의 약자로써 기초 선형대수(행렬곱) 에 대한 표준(거의 표준) 규격 안이다. 이러한 BLAS의 종류로는 기업용으로는 AMD ACML , Intel MKL , IBM ESSL »

[PascalVOC]

PascalVOC는 표준화된(표준화가 되고 싶은) 이미지 데이터 세트 이다. VOC 는 2005년부터 2012년 까지 데이터를 제공하며, 많은 딥러닝 툴의 성능 평가 지표로 사용되고 있다. 주로 2007과 »

[Firefox] Firefox 를 쓰자

요즘 Chrome의 점유율이 매우 높다. 솔직히 Chrome 이 제일 좋다. 근데 내가 Firefox 로 갈아타게된 이유는 탭을 여러줄로 쓸 수 있다는 점이다. 동기화가 조금 머 하긴 »

[CLion] Tips

1.cmake-build-* 가 없어서 빌드가 안되는 경우. Tools→CMake→Reset Cache and Reload Project 2.Ctrl+Space 로 한/영 전환을 막기 이건 CLion의 문제가 아니라 »

[nvidia jetson tx2] setup

JetPack 을 설치하기 위해서는 먼저 일반적인 Ubuntu 컴퓨터가 있어야 한다.(VMWare 안됨) 1. Install JetPack 1번작업은 host(jetson이 아닌 다른 우분투) 에서 이루어 진다. https://developer. »

[Clips]

1. Install 1.1 전역 설치 http://clipsrules.sourceforge.net/ 에서 다운로드후 설치. 아래의 경로를 환경변수 path에 추가 C:\Program Files (x86)\CLIPS CMD에서 CLIPSDOS 로 »

[YOLOv2]

1. cfg [net] batch : 한번에 몇장을 처리할지를 결정한다. subdivisions : batch를 이 값만큼 나누어서 처리한다. 즉! GPU 메모리만 충분하다면 batch 를 높이거나 subdivisions 를 낮추어 학습속도를 빠르게 »

[windows] cur 파일

cur 파일은 Windows 운영체제에서 마우스 커서로 사용되는 리소스파일이다. 인터넷 변환기가 있으나, 여러개를 동시에 만드는건 돈을 내야 해서 직접 포맷을 보고 구현하였다. 아래는 cur 파일의 포맷이다. 아래는 »

[C#] C++에서 만든 dll을 디버깅 하기.

1. 프로젝트 묶기 하나의 솔루션안에 C# 과 C++ dll 프로젝트가 같이 있어야 한다. 2. 솔루션 속성 설정 [솔루션 속성]→[공용 속성]→[프로젝트 종속성] 에서 C# 프로젝트를 »

[CLion] 초기 설정

Setting→Editor→Spelling 도대체 이딴 기능은 왜 만들었는지 C/C++ 프로그래머로써 이해할수가 없다. Dictionaries 탭으로 가서 모든 사전을 체크 해제한다. 해제하지 않으면 온갖 밑줄에 눈이 아파진다. »

[windows] batch script

1. 디렉토리 목록 조회 @echo off SETLOCAL EnableDelayedExpansion FOR /R %%E IN (SogangComputerVisionLibrary/SCVL/*.h) DO ( set full_path=%%E set file=%%~nxE echo !full_path! »

[Git] Tips

1.basic usage git add -A git commit -m "message" git push origin master 2.git-lfs Github에는 100MB 이상의 파일을 기본적으로 올릴수 없게 되어 »

[opencv] 동영상 frame count, fps, duration

동영상 파일을 cv::VideoCapture 로 읽으면 헤더정보를 읽어올 수 가 있는데, 이 헤더정보가 실제 데이터와 다른 경우가 종종 존재한다. -_-; 동영상을 열기 전까지 헤더가 올바른지 »

[linux] ubuntu 16.04 KakaoTalk

sudo apt-get install -y wine playonlinux fonts-nanum* curl -L http://app.pc.kakao.com/talk/win32/KakaoTalk_Setup.exe -o KakaoTalk_Setup.exe PlayOnLinux [설치] → [Install »

[HTML] Flat UI Free

공식 사이트 http://designmodo.github.io/Flat-UI/ Github https://github.com/designmodo/Flat-UI 1. 설치 git clone https://github.com/designmodo/Flat-UI 아래 사이트에서 설명이 나와있지만, »

[HTML] Syntax highlighting for the Web.

아래의 사이트는 웹에서의 소스코드 하이라이팅을 지원한다. https://highlightjs.org/ 위 라이브러리를 다운받을때, 필요한 언어 목록들도 선택 할 수 있다. https://highlightjs.org/usage/ 에서는 라이브러리 사용법이 »

[linux] screen capture & upload

1. 캡쳐 Shift + PrintScreen 2. 편집 이미지를 다른 프로그램으로 열기를 선택하고, ImageMagick 을 선택한다. 프로세스가 열리면 이미지에 아무곳이나 터치하면 아래와 같이 메뉴가 뜬다. 여기서 Image Edit을 »

[linux][perl] Apache2 설치

apt-get install apache2 -y cd /etc/apache2/sites-enabled vim 000-default.conf 파일 수정 000-default.conf 의 Line 9 을 아래와 같이 바꾼다. 9: ServerName [해당 서버의 »

[linux] 그래픽 드라이버 & CUDA 설치

그래픽 카드 확인 lspci | grep -i VGA 사실 노트북 같은 경우는 저 명령어로 내장 그래픽이 나오는 경우도 있다. NVIDIA그래픽카드가 뭔지 알고 있으면 위는 무시해도 된다. 설정에서 »

[C++] random

난수를 발생시키기 위해서는 아래 3가지가 필요하다. 생성기 엔진 분포기 1. 생성기 난수 생성기는 std::random_device 를 사용한다. (이것밖에 없는듯) 2. 엔진 엔진은 여러가지가 있지만 주목해야 »

[linux] MATLAB

Matlab R2017a Matlab R2017a GoogleDrive 위 링크에서 Matlab을 받아 설치한다. 설치하는 과정은 생략한다. 설치가 완료 되었으면 이제 런처에 아이콘을 등록해야 한다. (그렇지 않으면 매번 터미널에서 실행시켜야 »

[Boost] 설치

Boost 역시 OpenCV 처럼 빌드 할 수 있지만, 아직 까지 딱히 그럴 필요가 없기에 사실 잘 모른다. (OpenCV는 contrib 모듈을 같이 빌드해서 확장 모듈을 쓸 수 »

[Visual C++] MFC CMenu Custom

MFC 에서 CMenu의 색상을 원하는 대로 바꿀 수 있다. https://msdn.microsoft.com/en-us/library/z25as7e5(v=vs.120).aspx 에서 보듯이 CMenu::DrawItem 함수를 오버라이딩 »

[Web][HTML] redirect

HTML에서 바로 해당 경로로 Redirect 하는 소스이다. 웹 프로그래밍에도 쓰일 수 있지만, 바로 링크를 탐색하게 하는 html 파일을 만들때 많이 사용한다. <html> <meta »

[opencv][C#] Bitmap(C#) to cv::Mat

Bitmap 클래스에는 getHbitmap() 이란 함수가 있다. 반환형은 IntPtr 이며, Bitmap 자체의 포인터를 돌려준다.(복사X) 이를 C++ 측에서 인수로 받아 HBITMAP 으로 형변환을 해준뒤 아래의 함수를 호출하면 »

[opencv] extra modules 빌드

이 작업은 꽤 긴 시간이 걸리므로 커피 한잔과 함께 하는걸 추천한다. 1. 설치 준비 CMake 를 다운받아 설치한다. https://cmake.org/download/ opencv 를 github 에서 »

[C#] 영상 다루기

1. WPF의 System.Windows.Controls.Image 에 이미지 파일 불러오기. 아래의 방법은 프로세스가 파일을 열고 바로 닫는다. //System.Windows.Controls.Image img_main; byte[] buffer = System. »

[Visual C++] 모니터 정보 알아오기

1. 주 모니터 해상도. GetSystemMetrics(SM_CXSCREEN); //가로 해상도 GetSystemMetrics(SM_CYSCREEN); //세로 해상도 2. 전체 모니터 해상도. GetSystemMetrics(SM_CXVIRTUALSCREEN); //전체 가로 해상도 GetSystemMetrics(SM_ »

[c++] get interval time

특정 구간(들) 을 측정하고 싶을때 사용할 수 있도록 구현 하였다. IntervalTime.cpp IntervalTime.h method template<typename T> void StartClock(T param); template& »

[C/C++/C#] dll

1. Predefined macro _CONSOLE 매크로는 하위시스템이 콘솔일때 정의된다. _WINDLL 매크로는 dll프로젝트일때 정의된다. http://stackoverflow.com/questions/7697859/visual-studio-macro-for-checking-configuration-type-exe-dll 이를 이용하면 dll 프로젝트에서 테스트를 위해 main 함수와 »

[Visual C++]Rainbow RGB gradient

![](http://i64.tinypic.com/2uqj2va.png) 아래의 소스는 HSL 색상 모델을 이용해 Rainbow 색상을 찍어내는 코드이다. #include <shlwapi.h> #pragma comment( lib, "shlwapi. »

[Atom]동기화

Atom의 Install 화면에서 sync-setting을 검색하여 설치한다. https://github.com/settings/tokens/new 에 들어가서 Github Token을 새로 생성한다. https://gist.github.com/ 에서 Gist Id를 생성한다. »

[visual c++] visual studio theme

Solarized 테마로 Visual studio 2013/2015/2017 를 설정한다. 아래의 색상 테이블을 조금 참조하여 변경하였다. 폰트 산돌미생체(SDMisaeng).ttf 다운로드 Visual Studio 2017 ColorThemeEditor.vsix (2017) »

[c++] template class 타입 제한하기.

c++의 템플릿은 어떤 타입이라도 타입인수로 받을 수 있는데, 이 타입을 특정 타입만으로 제한할 수도 있다. 예를들어 타원의 정보를 담는 클래스 EllipseT를 만든다고 가정해보자 이 클래스는 »

[geometry]다각형 내부에 점이 있는가?

http://stackoverflow.com/questions/2049582/how-to-determine-if-a-point-is-in-a-2d-triangle 소스 코드는 이곳에서 발췌 하였다. 기본 아이디어는 아래 그림에서 시작한다. P0 이 P1과 P2직선 을 넘어서 존재하는지? 넘지 않는지? 를 »