no image
[Embedded linux] 임베디드 리눅스 개념
리눅스 일반 리눅스 : 일반 데스크탑 환경인 고성능 프로셋와 대용량 메모리 환경에서 동작하는 범용 컴퓨터용 리눅스 임베디드 리눅스 : 저성능의 마이크로 프로세서와 제한된 메모리 환경에서 동작하는 임베디드 시스템용 리눅스 임베디드란? : 임베디드는 아주 작은 형태의 전자회로를 가지고 있는 컴퓨터이다. 따라서 임베디드는 다양한 사물에 숨겨져있다. 임베디드의 뜻이 우리말로 번역하면 "내장된" 이라고 할 수 있다. 주위에 임베디드 장치를 쉽게 찾아 볼 수 있으며 대표적인 것들이 신호등, 지하철 개찰구, 선풍기 등이 있다. 스마트폰도 임베디드 장치라고 할 수 있는데, 내부에서 다양한 센서와 액츄에이터 그리고 초소형 고성능 컴퓨터를 탑재하고 있다. 수백개에서 수천개의 전자회로를 가지고 있는 자동차도 대표적인 임베디..
2018.08.05
[Linux] .bashrc 수정 후 적용
리눅스에서 .bashrc 파일 수정 후 반드시 다시 로그인해야 적용 됨 터미널 종료 후 다시 실행하면 적용 됨 하지만 source ~/.bashrc 위 명령어를 실행하게 되면 터미널 종료 없이도 적용 가능 참고자료 : http://blog.chopestory.net/157
2018.08.05
[Embedded linux] 크로스 컴파일
크로스 컴파일러(Cross compiler) Wiki 정의 : 크로스 컴파일러는 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 코드를 생성할 수 있는 컴파일러이다. 크로스 컴파일러 툴은 임베디드 시스템 혹은 여러 플랫폼에서 실행파일을 생성하는데 사용된다. 이것은 운영체제를 지원하지 않는 마이크로컨트롤러와 같이 컴파일이 실현 불가능한 플랫폼에 컴파일하는데 사용된다. 이것은 시스템이 사용하는데 하나 이상의 플랫폼을 쓰는 반가상화에 이 도구를 사용하는 것이 더 일반적이게되었다. 크로스 컴파일러는 호스트에서 C언어나 어셈블러로 작성된 소스코드를 호스트와 다른 기종에서 사용될 수 있는 기계어로 번역해주는 컴파일러의 일종이다. 임베디드 시스템을 개발하기 위해서는 반드시 크로스 컴파일러가 있어야 한다..
2018.08.05
[C++] 전처리문의 종류
전처리문 : 실질적인 컴파일 이전에 미리 처리되는 문장을 말하며, 선행 처리기라고도 한다. 따라서 컴파일러는 사용자가 작성한 코드를 컴파일 하기 전에 전처리문에서 정의해놓은 작업을 먼저 수행하게 된다. 파일 처리를 위한 전처리문 : #include형태 처리를 위한 전처리문 : #define, #undef조건 처리를 위한 전처리문 : #if, #ifdef, #else, #elif, #endif에러 처리를 위한 전처리문 : #error디버깅을 위한 전처리문 : #line컴파일 옵션 처리를 위한 전처리문 : #pragma 조건 처리를 위한 전처리문은 어떤 조건에 대한 검사를 하고, 그 결과를 참(0이 아닌 값) 또는 거짓(0)으로 돌ㄹ준다. #if : ~이 참 이라면#ifdef : ~이 정의되어 있다면#els..
2018.08.05
no image
[Linux] 리눅스 버전 확인
리눅스 버전 확인 하는 방법 grep . /etc/*-release 참고자료 1 : 제타위키
2018.08.05
no image
[Linux] diff 명령어
diff 명령어 : 리눅스에서 파일을 비교하는 명령어 diff [옵션] file1 file2 file1과 file2를 비교하여 차이점을 찾아냄 옵션 -b : 연속된 공백 무시-i : 대소문자를 구분하지 않음-t : 출력 라인에 TAB 문자를 넣음-w : 두 행의 비교 시 공백을 무시--brief : 파일 비교 후 결과 표시(같은지, 다른지)-d : 세세한 차이까지 검색-H : 큰 파일을 빠르게 처리할 때 사용-q : 두 파일의 차이점만 출력-s : 두 파일이 같은 지 확인-r : 두 디렉토리의 차이점 출력-u : undirectional new file 옵션으로 비교하는 파일/디렉토리가 빠져있을 경우 dummy로 처리해서 출력을 통일시킴-r : recursive 하위 디렉토리 모두 검색-N : 검색 중 ..
2018.08.05
[Linux] cp 명령어와 mv 명령어
1. cp 명령어 : 리눅스에서 파일 복사(copy) 하는 명령어 cp [옵션] [원본] [사본] 옵션 -a: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다. -b: 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다. -d: 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다. -f: 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다. -i: 만약 복사할 대상이 이미 있으면 사용자에게 물어본다. -l: 하드링크 형식으로 복사한다. -P: 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사된다. -p: 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사된다. -r: 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사된다. -s: 파..
2018.08.05
[C++] STL 정리
STL(Standard Template Library) : C++의 템플릿을 사용하여 표준으로 정리된 라이브러리 - 반복자 / 컨테이너 / 알고리즘 함수객체 등의 라이브러리로 구성 컨테이너(Container) : 컨테이너란 기본 자료형과 유저가 정의한 자료형을 담는 일종의 자료구조 1. 시퀀스 컨테이너 일반적인 자료구조와 동일한 형태 (vector / list / string / deque ...) 자료를 입력한 순서대로 저장하기 때문에 저장, 검색, 알고리즘에 불리함 적은 양의 자료나 검색 속도가 중요하지 않은 경우에 사용 2. 연관 컨테이너 일정한 규칙에 따라 자료를 조직화하여 저장 (set / map / multiset / multimap ...) 자료를 정렬하여 저장하기 때문에 검색에 유리 많은 ..
2018.08.05
no image
[Linux] 프로세스 확인하기
1. 프로세스 목록 확인 ~$ ps 2. 프로세스 목록 확인 - 자세한 정보 ~$ ps -f 3. 모든 프로세스 리스트 확인 ~$ ps -e ~$ ps -ef 4. 프로세스 목록 배열 및 시스템 자원 사용률 확인 ~$ ps -aux * -aux 옵션으로 확인할 수 있는 프로세스 정보의 각 필드 * 프로세스 상태를 나타내는 STAT 항목 - R(Runable) : 실행 대기 상태 - S(Sleeping) : 수면 상태 - D(inDIskwait) : 입출력을 기다리는 상태 - T(sTopped) : 멈춰 있거나 흔적이 남아있는 상태 - Z(Zombie) : 죽었지만 프로세스에 남아있는 상태 (자원 낭비) * ps [-옵션] - a (All processes) : 프로세스 현황 표시 - u (User) : ..
2018.07.22
no image
[Linux] 프로세스(Process) 및 쓰레드(Thread) 개념
프로세스 및 쓰레드 개념 프로세스란? 프로세스란 단순히 실행 중인 프로그램이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행중인 것을 말한다. 여러 명의 사용자들에 의해 공유되고 있는 응용프로그램은 일반적으로 각 사용자들의 실행단계에서 하나의 프로세스를 갖게된다. 즉, 모든 프로그램은 실행 될 때 하나 이상의 프로세스를 갖는다. 프로세스는 자식 프로세스라고도 불리는 서브 프로세스를 시작시킬 수 있다. 자식 프로세스는 부모 프로세스의 복제로서 부모 프로세스의 자원을 일부 공유하는데, 부모 프로세스가 종료되면 더 이상 존재 할 수 없게 된다. 프로세스는 여러 가지 자원을 사용하게 되는데, 해당 명령을 수행하기 위해 운영체제에 따라 CPU를 점유 할 수 있다. ..
2018.07.22
[Image Processing] Computer Vision 분류
컴퓨터 비전 분류 체계 하위 레벨 이미지 프로세싱과 피처 추출 컴퓨터 비전, 정규화, 연결주의, 형태론, 스케일-공간, 개념적 그룹화, 파형요소, 컬러, 센서, 광학, 레이저, 레이더 이미지 프로세싱, 복원, 개선, 필터, 이미지와 비디오 코딩 엣지 탐색과 분석, 라인, 세그먼트, 커브, 코너, 허프 변환 2D 피처 분석, 추출과 재현, 형상, 골조, 텍스쳐 2D 구역 세분화 기술, 스네이크, 활성 회곽선 이미지의 3D 재구성 X의 3D 형태, 쉐이딩, 텍스쳐, 레이저, 구조화된 빛, 포커스, 라인 드로잉 스테레오 : 2개 이상의 뷰를 통한 3차원 묘사, 양안으로 보는 시야, 3안으로 보는 시야 3D 사물 묘사와 계산 테크닉, 표면, 변형, 뷰 생성, 비디오 콘퍼런스 사물인식 등록, 포인트를 사용한 매칭..
2018.07.22
[Qt] setPixmap 화면 업데이트 안되는 문제
리눅스 환경에서 OpenCV + Qt 를 이용하여 GUI 화면에 동영상을 출력하는 예제 작성 중 preview 라는 라벨에 프레임이 지속적으로 뿌려지지 않고, 마지막 프레임만 뿌려지는 문제 발생 시 즉, 화면이 지속적으로 업데이트 안될 때 (Pixmap 업데이트 충돌시) 코드 추가 QApplication::processEvents(); img = QImage((const unsigned char*)(cvMat.data), cvMat.cols,cvMat.rows, QImage::Format_Indexed8); if (!img.isNull()){ ui->preview->setAlignment(Qt::AlignCenter); ui->preview->setPixmap(QPixmap::fromImage(img)...
2018.07.12