C++
-
_Uncrustify_C++Clean Code 2024. 5. 29. 16:19
Uncrustify는 내가 작성한 C++코드를 지정한 서식에 맞게 재작성 해준다.Ubuntu에서의 설치법은 간단하며, 대부분의 경우 설치가 되어있다. 참고 사이트:https://github.com/uncrustify/uncrustify GitHub - uncrustify/uncrustify: Code beautifierCode beautifier. Contribute to uncrustify/uncrustify development by creating an account on GitHub.github.comhttps://uncrustify.sourceforge.net/ Uncrustify - Source Code Beautifier for C-like languagesUncrustify Source C..
-
Build_System_CMake1Tools/CMake 2024. 1. 9. 16:09
이전에 미리 작성된 CMake를 사용하여 빌드를 하였지만, CMake를 어떻게 작성하는지 정리하려고 한다. https://mokchanic.tistory.com/100 Basic_CMake 이번에는 간단한 예제를 가지고 CMake를 구성하여 C++ 빌드를 해보려고한다. 만약 이 페이지를 처음 본다면, 아래의 기본적인 Compiler 설치와 Extentions중 Clangd를 적용하고 오는 것을 추천한다. Compiler mokchanic.tistory.com Build System 1. 개요 소스 코드를 실행 가능한 프로그램 또는 라이브러리로 변환하는 과정을 자동화하는 도구와 방법들의 집합. 프로젝트의 규모가 커질수록 잘 관리하는것이 매우 중요하다. 2. 목적 프로젝트의 일관성: 빌드 시스템을 통해 동일..
-
Basic_CMakeTools/CMake 2023. 12. 31. 18:23
이번에는 간단한 예제를 가지고 CMake를 구성하여 C++ 빌드를 해보려고한다. 만약 이 페이지를 처음 본다면, 아래의 기본적인 Compiler 설치와 Extentions중 Clangd를 적용하고 오는 것을 추천한다. Compiler: https://mokchanic.tistory.com/61 GCC_Clang Compiler installation (Ubuntu & Windows) Compiler installation on Ubuntu - GCC 터미널을 열어서 다음의 커맨드를 실행한다. $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y build-essential # 필요한 종속성 설치 $ sudo apt install -y gcc 다음..
-
OpenCV 유용한 함수OpenCV/OpenCV_C++ 2023. 12. 21. 21:29
1. 행렬 합, 평균, 최댓값, 최솟값 - 합(sum) Scalar sum(InputArray src); src: 입력 행렬, 1 ~ 4 channel return: 행렬 원소들의 합 예제 #include #include "opencv2/opencv.hpp" int main() { uchar data[]{ 1, 2, 3, 4, 5, 6 }; cv::Mat mat{ 2, 3, CV_8UC1, data }; int sum = static_cast(cv::sum(mat)[0]); std::cout
-
OpenCV Draw & EventOpenCV/OpenCV_C++ 2023. 12. 14. 20:34
OpenCV Draw OpenCV에서는 그리기 함수를 제공한다. 선, 도형등을 그릴수 있으며, 문자열도 출력이 가능하다. 그리기 방식 세부 그리기 방식 함수 이름 선 그리기 직선 그리기 line() 화살표 그리기 arrowedLine() 마커 그리기 drawMarker() 도형 그리기 사각형 그리기 rectangle() 원 그리기 circle() 타원 그리기 ellipse() 다각형 그리기 polylines(), fillPoly() 문자열 출력하기 문자열 출력하기 putText() 출력 문자열의 크기 계산 getTextSize() 참고: OpenCV documentation 1. 선 그리기 - 직선 그리기 void line(InputOutputArray img, Point pt1, Point pt2, c..
-
OpenCV VideoCapture classOpenCV/OpenCV_C++ 2023. 12. 13. 22:06
OpenCV에서 카메라와 동영상으로부터 프레임(Frame)을 받아오는 작업을 VidepCapture class 하나로 처리할 수 있다. 카메라와 동영상을 여는 작업이 수행되면, 매 프레임을 받아오는 작업을 수행한다. - 카메라 열기 VideoCapture::VideoCapture(int index, int apiPreference = CAP_ANY); bool VideoCapture::open(int index, int apiPreference = CAP_ANY); index: 사용할 캡쳐 장치의 ID (camera_id, domain_offset_id). 시스템 기본 카메라는 0으로 지정됨.(여러대의 카메라는 0부터 순서대로 지정) apiPreference: 선호하는 카메라 처리 방법을 지정. retu..
-
OpenCV Mat class 기초 사용법OpenCV/OpenCV_C++ 2023. 12. 12. 17:33
OpenCV에서 Mat은 자주 사용되며 행렬과 연관이 깊은 클래스이다. https://mokchanic.tistory.com/91 OpenCV 주요 클래스 1. Point, Size, Rect Class - Point Class 2차원 점의 좌표 표현을 위한 템플릿 클래스 멤버 변수: x, y 멤버 함수: dot(), ddot(), cross(), inside() 등 다양한 사칙 연산에 대해 연산자 오버로딩과 std::cout 출력을 위 mokchanic.tistory.com 이번에는 예제를 직접 실행하며 Mat class에 대해 알아보자. Example 1. 객체 생성 및 초기화 void MatOp1() { cv::Mat img1; // empty cv::Matrix cv::Mat img2(480, 6..