1. 개요 다른 사람이 작성한 코드를 보고 프로그램의 구조를 파악할 때 주석이 없다면 굉장히 힘든 작업이 될 것입니다. 또한 과거 자신이 작성한 코드도 주석이 없다면 구조를 파악하기 힘듭니다. 이러한 이유로 주석을 달아놓는 작업이 귀찮다고 생략을 하거나 대충 하게 되면, 주석을 작성하는데 소요되는 시간보다 더 큰 시간을 미래에 사용하게 될 가능성이 커집니다. 작성자는 주석을 미래의 나와 동료에게 보내는 편지라 생각하며, 과거 귀찮아서 생략한 주석들 덕분에 며칠 고생을 하고 본 포스팅을 작성합니다. 본 포스팅의 개요 부분을 읽는 개발자분들은 적절한 주석의 중요성을 한번 더 상기한다면, 미래의 나와 협업하는 동료를 위한 개발자로 한층 더 거듭날 수 있을 것이라 생각합니다. 주석은 개발자가 작성한 코드에 설명..
1. 개요 OpenCV를 이용한다면 받아온 RTSP 영상이나 PC에 연결된 캠 영상을 동영상으로 저장 가능합니다. 간단하게 인코딩 형식을 정의할 수 있으며, 능력이 된다면 크롭이나 리사이징, 노이즈 제거와 같은 영상처리 가공 결과물을 영상으로 저장 가능합니다. 물론 동영상을 가공하거나 편집하는 기능을 갖고 있는 툴을 대용하기는 힘들겠지만, 잘 활용한다면 개발자만의 독특한 영상편집 기능을 구현할 수 있는 좋은 프로그램을 제작할 수도 있을 것입니다. VidoWriter는 OpenCV에서 제공하는 영상 저장 기능을 담고 있는 클래스입니다. OpenCV 컴파일 시 FFmpeg나 Gstreamer, V4l 라이브러리를 이용하는 것으로 보아 여러 가지 오픈소스를 이용하여 구현된 클래일 것으로 예상됩니다. 관심 있으..
1. 개요 Visual Studio 2019에서 C++로 OpenCV를 이용하여 동영상을 불러와 재생하는 예제입니다. 인코딩 된 동영상을 재생할 수 있을 뿐만 아니라, 웹캠이나 URL을 이용한 RTSP 영상도 재생 가능합니다. 본 포스팅의 작업 환경은 Windows 10에 Visual Studio 2019, OpenCV 4.3입니다. **OpenCV 버전이나 기타 요인에 따라 예제 코드가 동작하지 않을 수 있습니다. 2. Mat 함수를 이용한 영상 불러오기 코드 복사 붙여 넣기를 통해 프로젝트에 넣어주면 됩니다. /********************************************************* Heisanbug OpenCV Test 2020.07.13 Mat 함수를 이용한 동영상 ..
1. 개요 OpenCV를 이용하여 작업을 하게 되는 경우 거의 대부분 이미지나 동영상을 불러와 작업을 하는 경우라고 생각합니다. 한때는 OpenCV 라이브러리를 사용하여 프로젝트를 진행한다고 하면, Python이 아닌 C나 C++을 이용하는 경우가 대부분이었는데 요즘은 Python이 대세인 것 같습니다 ㅎㅎ 이번 포스팅에서는 C++을 이용하여 OpenCV를 이용하여 이미지를 불러오는 방법을 알아보고, 각 함수에 대하여 간단하게 알아보도록 하겠습니다. Windows 10에 Visual Studio 2019, OpenCV 4.3이 이번 포스팅의 작업환경이며, OpenCV 버전이나 기타 요인에 따라 코드가 동작하지 않을 수 있습니다. 2. Mat 함수를 이용한 이미지 불러오기 코드 아래는 Mat 함수를 이용한..
1. 개요 Visual Studio 2019에서 C++ 언어 기반의 프로젝트에서 OpenCV 라이브러리를 이용하는 경우 OpenCV 라이브러리를 직접 다운로드하고 Path 설정을 해줘야 합니다. 처음 OpenCV를 설치하시는 분들을 위하여 포스팅을 하며, 차근차근 따라한다면 OpenCV를 Visual Studio 2019에서 C or C++ 언어 기반의 프로젝트에서 사용하실 수 있습니다. 2020년 7월 4일을 기준으로 포스팅을 작성하며, Windows 10의 Visual Studio 2019를 기준으로 포스팅을 작성하였습니다. 포스팅 기준의 OpenCV 버전은 4.3입니다. 2. OpenCV 4.3 다운로드 먼저 OpenCV 4.3을 다운로드하기 위해서 아래의 사이트에 접속합니다. https://ope..
1. 개요 안드로이드 개발 보드에 AOSP를 커스텀 컴파일하여 안드로이드 운영체제를 새로 설치하는 과정을 반복 진행하며, 안드로이드 초기 셋팅 시스템 설정 값을 변경하여 테스트 시작에 필요한 기본 설정 시간을 줄여 시간 효율을 높이는 작업의 필요성을 느꼈습니다. 여러 가지 셋팅 변경 중에 Screen Off Timeout 시간을 조정하는 것을 이번 포스팅의 목표로 합니다. 설정 > 디스플레이 > 화면 자동 꺼짐 시간 의 초기 설정 값이 변경됩니다. 작업 환경은 안드로이드 빌드 버전으로 Android 9 Pie이며, AOSP를 빌드하기 위한 PC의 운영체제는 Ubuntu 16.04 LTS입니다. 2. AOSP의 시스템 설정 값 안드로이드의 시스템 설정 값이 저장되어 있는 파일은 아래의 두 파일에 저장이 되..
1. 개요 Qt5에서 가상키보드인 Qt Virtual Keyborad를 사용하는 방법에 대한 설명입니다. 글쓴이가 Qt 프로그래밍에 대한 이해가 많이 부족하고, Qt가 설치된 OS나 Version에 따라 동작 여부가 달라질 수 있다는 것을 참고하시면 됩니다. - OS : Ubuntu 18.04.3 LTS - Qt Creator 4.5.2 - Qt 5.9.5(GCC 7.3.0, 64 bit) - qtvirtualkeyboard 5.7 원하는 기능은 Qt에서 qml로 구현한 응용프로그램에서 한글과 영어가 지원되는 Virtual Keyboard를 사용하는 것입니다. 여러 가지 방법을 서치한 결과 Qt에서 기본 제공되는 Qt Virtual Keyboard를 사용하는 방법을 채택했고, apt-get을 이용한 설치..
1. 개요 안드로이드 개인 프로젝트를 진행 도중 난수 생성이 필요하여 정리를 합니다. 최근 안드로이드 개발은 코틀린을 사용하는 것이 대세인 듯합니다. 하지만 저는 프로젝트를 빠르게 진행하기 위해 저에겐 조금 더 익숙한 Java를 사용하여 안드로이드 프로젝트를 진행하고 있습니다. 각설하고, 안드로이드에 내장된 Java에서 난수 생성을 하는 방법은 2가지 방법이 있습니다. Java.lang.Math 클래스를 사용하는 방법과 Java.util.Random 클래스를 사용하는 방법입니다. 두 방법에 사용법에 대하여 알아보고, 차이점에 대해서도 정리해 보도록 하겠습니다. *이번 글에서 사용한 예제는 0부터 9까지 숫자에서 랜덤 하게 정수를 생성하는 방법을 다룹니다. 2. Math class를 이용한 난수 생성 Ma..
1. 문자열 자르기 자바를 이용하여 String 메시지를 파싱 하여 처리를 해야 하는 상황이 많아 자체적으로 정리를 하다가 Split 함수에 관하여 포스팅합니다. 자바 String 클래스에는 여러가지 유용하게 사용 가능한 함수들이 많습니다. SubString, Split, replace 등등의 함수가 내장되어 있는데 프로젝트를 진행하며 직접 구현을 대신하여 사용 가능한 함수들이 많습니다. 그중에서도 Split 함수의 경우 간단하게 특정 문자나 문자열을 기준으로 문자열을 잘라주는 함수입니다. 사용 도중 "|" 으로 문자열을 잘라야 하는 경우까지 대비해서 예제로 사용법에 대하여 포스팅하오니 유용하게 사용하시길 바랍니다. 2. Split 함수 사용 String str = "Beenzino#Dok2#The Qu..
1. 개요 이번 포스팅은 Visual Studio 2019 설치 이후 코딩하는데 도움이 되는 테마와 글꼴 및 글자 크기와 색 변경에 관한 포스팅입니다. 코딩을 하다 보면 생각보다 IDE나 코드 편집기의 테마나 글꼴에 일의 효율이 결정되는 경우가 많았습니다. 예를 들어 대문자 I(i) 와 소문자 l(L)이 구분이 되지 않는 글씨체를 기본으로 하는 글꼴을 사용하면 오타가 발생할 경우 디버깅 시 한눈에 오타를 발견하기 어려울 수 있습니다. 또한 모니터나 스마트폰을 많이 봐야 하는 직업을 갖고 계신 분들이라면 눈에 피로가 덜 가는 테마를 사용함으로 작업 시 피로도를 줄일 수 있는 장점이 있습니다. 이번 포스팅을 참고하여 제가 기본으로 항상 사용하는 세팅을 소개하고, 더 나아가 자신에게 맞는 환경을 설정하셔서 편..
1. 개요 C나 C++를 사용하기 위하여 Visual Studio 2019를 설치하신 분이고 이제 막 프로그래밍에 입문하신 분이라면 이 포스팅을 따라하시면 처음 Visual Studio 2019 프로젝트를 생성하고 컴파일및 실행이 가능합니다. 이 포스팅은 완전 처음 프로젝트를 생성하는 방법을 다루고 있습니다. 이미 프로젝트를 만들줄 아시거나, 기본적인 코딩이 가능하신 분들은 이번 포스팅은 스킵하시는 것이 시간 단축에 도움이 되실듯 합니다. 아직 Visual Studio 2019를 설치하지 않으신 분이라면 아래의 포스팅을 참고하셔서 꼭 설치를 먼저 완료하시길 바랍니다. https://heisanbug.tistory.com/11 Visual Studio 2019 설치_Windows 10_C_C++ 1. 개요..
1. 개요 2019년 4월 2일 Visual Studio 2019가 정식 출시되었습니다. 대학교 학부생 시절 전산실에 설치된 Visual Studio 2008을 처음으로 접했던 제가 어느덧 졸업 이후에 개인 개발및 개인 프로젝트용 노트북을 구매 이후 최신 버전의 Visual Studio를 설치하였습니다. (2019년 5월 31일 기준) 이제 처음 Visual Studio 라는 프로그램을 설치기 하거나 최신 버전의 Visual Studio를 설치하시기 원하시는 분들을 위한 분들의 포스팅이고, 저의 Visual Studio 사용 목적인 C언어 C++ 이외의 C#, MFC, app제작 등의 기능을 이용하시기 위해서는 추가적으로 페키지를 설치하셔야 합니다. 앞으로 Visual Studio 2019를 이용하여 알..