본문 바로가기

프로그래밍305

[CPP] opencv에서 rtsp형태로 스트리밍 해보기 [C++] opencv에서 rtsp형태로 스트리밍 해보기 Onvif에서는 영상을 가져올 때 rtp 또는 rtsp로 가져온다. 그러면 c++에서는 Onvif의 영상을 가져오기 위해 어떻게 해야할까. 구글링을 해보니 별도 open source lib를 사용하는 방법도 있으며, 잘 알려진 live555 를 사용하기도 했고, 아래와 같이 opencv를 통해 정말 간단히 접속하기도 했다. #include #include int main(int ac, char *av[]) { cv::Ptr capture = cvCaptureFromFile("rtsp://admin:admin@192.168.1.30:554/stream2"); cv::namedWindow("KnVision"); while(1) { cv::Mat fra.. 2021. 3. 5.
[프로그래밍] YAML 소개 [프로그래밍] YAML 소개 YAML(YAML Ain’t Markup Language) YAML is a human friendly data serialization standard for all programming languages. 작명법. 아재개그?ㅋㅋ 부장님 개그?ㅋㅋ. 야믈. 결론적으로 YAML, JSON, XML 모두 사람의 가독성을 염두에 두고 설계된 포맷이지만 가독성에 더욱 포커싱 하여 나온 포맷이 YAML이라고 해요. JSON에 비해 구조가 좀 더 복잡하지만 사람이 보기엔 좀 더 자연스러운 형태라고 해요. 블로깅을 해보신 분들은 프로그래밍 문법이라고 생각조차 안할정도로 사람에게 친숙한 구조인 듯 해요. 대부분 설정파일을 작성할 때, 파이썬쪽에서 많이 쓰이는 듯 해요. CI 스크립트쪽에서.. 2021. 2. 2.
[알고리즘공부] 마라톤 완주자 알아내기 - 배열 빼기. cpp/c++ [알고리즘공부] 마라톤 완주자 알아내기 - 배열 빼기. cpp/c++ [문제 설명] 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. [제한사항] 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. [입출력 .. 2021. 1. 30.
[Python 기초] 파이썬 기본 연습 반복문-2차원 배열 자르기 파이썬 기본 연습 반복문-2차원 배열 자르기 [문제] 정수를 담은 이차원 리스트, mylist 가 solution 함수의 파라미터로 주어집니다. mylist에 들은 각 원소의 길이를 담은 리스트를 리턴하도록 solution 함수를 작성해주세요. 제한 조건 mylist의 길이는 100 이하인 자연수입니다. mylist 각 원소의 길이는 100 이하인 자연수입니다. 예시 Input Output [[1], [2]] [1,1] [[1, 2], [3, 4], [5]] [2,2,1] 내가 풀어본 해답 def solution(mylist): answer = [] for i in mylist: answer.append(len(i)) return answer 2021. 1. 26.
[C++] 현재 프로세스의 CPU 사용율(점유율) 구하기 현재 제공되는 프로그램이 PC 내의 CPU를 모두 점유하면 안되는 상황에서 해당 프로세스가 너무 오래 점유 하면 잠시 Delay를 주어 처리할 수 있을 것 같아요. Thread의 우선순위를 변경하여 어느정도 CPU 점유율을 낮출 수도 있을 것 같아요. 아래 관련된 Stuff 코드를 참고 해보세요 ㅎㅎ #pragma once /** * @brief CPU 사용율 디버깅을 위한 클래스. * 현재 프로세스가 쓰고 있는 CPU를 반환한다. */ class CPUChecker { public: static CPUChecker* instance() { static CPUChecker conf_; return &conf_; } virtual ~CPUChecker(void); /** * @brief 현재 프로세스가 쓰.. 2021. 1. 6.
Visual Studio 2019 멤버함수 보기 설정 Visual Studio 2019 멤버함수 보기 설정 C#에서는 소스 에디터의 가장 상단을 통해 멤버 함수를 볼 수 있었는데 C++에서는 보지 못했어요. 왜 그럴까 하고 일하면서 한참 고뇌를 했어요. 멤버함수로 검색을 아무리 해봐도 나오지 않았어요, 결국 키워드는 '탐색 모음' 이걸 찾은 것은 인간승리. 탐색 모음으로 검색하니 비슷한 포스팅을 하신 분들은 찾을 수 있었어요. 저같은 사람을 위해 관련없는 키워드인 "멤버함수", "비쥬얼 스튜디오 함수 리스트" 같은 키워드로도 찾아볼 수 있게 공유합니다. ㅎㅎ 비쥬얼스튜디오 환경문제 - "탐색모음" 이 문제. 도구=>옵션=>텍스트 편집기>C/C++ 의 탐색모음을 체크. 아무래도 증상은 C#/C++양쪽 개발하시는 분에게 나타나고, Visual Assist를 깔.. 2020. 12. 23.
비쥬얼 스튜디오 2019 단축키 재정리 비쥬얼스튜디오 2019 단축키 재정리. (버전 및 개발 언어 설정(C#/C++)에 따라 다를 수 있음) ————————————————————————— Ctrl-F : 찾기 대화상자 Ctrl-H : 바꾸기 대화상자 Ctrl-Shift-F : 파일들에서 찾기 대화상자 Ctrl-Shift-H : 파일들에서 바꾸기 대화상자 Ctrl-G : 해당 줄로 가기 (별로 필요없음) Ctrl-K,Ctrl-F : 선택된 영역 자동 인덴트 (VS6의 Alt-F8기능) Ctrl-] :괄호({,}) 쌍 찾기 : 괄호 앞이나 뒤에서 눌러서 닫거나, 여는 괄호이동 Ctrl-Shift-Spacebar : 함수이름편집중 툴팁으로나오는 함수와매개변수설명이 안나올경우, 강제로 나오게 alt-LButton ->Drag : 원하는 영역의 블럭.. 2020. 12. 19.
CentOS8 Mysql 설치 및 연동 절차 CentOS8 Mysql 설치 및 연동 절차 * mysql 레포지토리 설치$>wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm ※ wget을 모를 경우 yum install -y wget $>rpm -Uvh mysql80-community-release-el8-1.noarch.rpm > 설치 확인 $>yum repolist enabled | grep mysql * mysql 설치 > 기존 모듈 사용안함. 버전차이가 있을 수 있기 때문에 사용안하고 새로 설치함. $>yum module disable mysql > mysql 및 개발용 lib 설치 $>yum install -y mysql-community-server $>yu.. 2020. 11. 10.
Visual Studio, Visual Assist 단축키 모음 Visual Assist ALT + G : 변수, 함수 정의된 곳으로 이동. ALT + M : 현재 파일에서 함수 빨리 찾기 ALT + SHIFT + O : 이름으로 솔루션 내 파일 찾기 ALT + SHIFT + S : 솔루션 내 특정 키워드가 포함 부분 찾기 ALT + SHIFT + F : 함수/변수 참조하는 곳 모두 찾기 ALT + SHIFT + R : 함수/변수 이름 일괄 변경 ALT + Left or Right : 이전/이후 위치로 이동. 같은 소스 안에서도 이전 편집 위치를 기억하고 이동이 가능해서 편리 https://docs.wholetomato.com/default.asp?W375 디테일한 단축키는 아래 참고> https://sunhyeon.wordpress.com/2015/08/16/182.. 2020. 2. 28.