바탕화면 영역과 다른 소프트 선택 영역의 마우스 크기가 문제.
cat /etc/X11/default-display-manager
/usr/sbin/lightdm
sudo apt-get install lightdm-gtk-greeter
카테고리
asm
(27)
bootloader_x86_grub
(1)
C
(92)
compile
(11)
config
(76)
CPP
(13)
CSS
(1)
debugging
(7)
gimp
(1)
Go
(1)
html
(1)
Java
(1)
JavaScript
(1)
kernel
(19)
LibreOffice
(3)
Linux system progamming
(21)
MFC
(1)
opencv
(4)
OpenGL
(1)
PHP
(1)
Python
(4)
qemu
(29)
shell
(3)
socket
(7)
troubleshooting
(2)
ubuntu18.04
(2)
windows
(1)
2018/12/25
wayland gksu 사용권한 적용
권한이 필요할
xhost si:localuser:root
작업이 끝나면 권한 제거
xhost -si:localuser:root
부팅
cat <<EOF | sudo tee /etc/xdg/autostart/xhost.desktop
[Desktop Entry]
Name=xhost
Comment=Fix graphical root applications
Exec="xhost +si:localuser:root"
Terminal=false
Type=Application
EOF
.bashrc 에다가 적용해 사용 할 수 있다.
alias gsuon='xhost si:localuser:root'
alias gsuoff='xhost -si:localuser:root'
2018/12/24
양의 정수, 음의 정수 구분, 중첩문 사용
#include <stdio.h>
int main(void) {
double number;
printf("Enter a number: ");
scanf("%lf", &number);
// 입력된 숫가 0 보다 작은 경우 참
if(number < 0.0)
printf("You entered a negative number.");
// 입력된 숫가 0 보다 큰 경우 참
else if(number > 0.0)
printf("You entered a positive number.");
// 두 개의 조건식이 전부 거짓으로 판단 되면
else
printf("You entered 0.");
return 0;
}
int main(void) {
double number;
printf("Enter a number: ");
scanf("%lf", &number);
// 입력된 숫가 0 보다 작은 경우 참
if(number < 0.0)
printf("You entered a negative number.");
// 입력된 숫가 0 보다 큰 경우 참
else if(number > 0.0)
printf("You entered a positive number.");
// 두 개의 조건식이 전부 거짓으로 판단 되면
else
printf("You entered 0.");
return 0;
}
양의 정수, 음의 정수 분별.
#include <stdio.h>
int main(void) {
double number;
printf("Enter a number: ");
scanf("%lf", &number);
if (number <= 0.0)
{
if (number == 0.0)
printf("You entered 0.");
else
printf("You entered a negative number.");
} else
printf("You entered a positive number.");
return 0;
}
int main(void) {
double number;
printf("Enter a number: ");
scanf("%lf", &number);
if (number <= 0.0)
{
if (number == 0.0)
printf("You entered 0.");
else
printf("You entered a negative number.");
} else
printf("You entered a positive number.");
return 0;
}
재귀 함수 factorial
#include <stdio.h>
long int multiplyNumbers(int n);
int main(void){
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Factorial of %d = %ld\n", n, multiplyNumbers(n));
return 0;
}
long int multiplyNumbers(int n){
if(n >= 1)
return n*multiplyNumbers(n-1);
else
return 1;
}
정수 입력 : 6
6 = 720
long int multiplyNumbers(int n);
int main(void){
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Factorial of %d = %ld\n", n, multiplyNumbers(n));
return 0;
}
long int multiplyNumbers(int n){
if(n >= 1)
return n*multiplyNumbers(n-1);
else
return 1;
}
정수 입력 : 6
6 = 720
factorial
#include <stdio.h>
int main(void){
int n, i;
unsigned long long factorial = 1;
printf("Enter an integer: ");
scanf("%d", &n);
// 사용자 음의 정수 입력시 오류
if(n < 0)
printf("Error! Factorial of a negative number doesn't exist.\n");
else{
for(i=1; i<=n; ++i){
factorial *= i; // factorial = factorial * 1;
}
printf("Factorial of %d = %llu\n", n, factorial);
}
return 0;
}
int main(void){
int n, i;
unsigned long long factorial = 1;
printf("Enter an integer: ");
scanf("%d", &n);
// 사용자 음의 정수 입력시 오류
if(n < 0)
printf("Error! Factorial of a negative number doesn't exist.\n");
else{
for(i=1; i<=n; ++i){
factorial *= i; // factorial = factorial * 1;
}
printf("Factorial of %d = %llu\n", n, factorial);
}
return 0;
}
운분투 18.04 kali Linux 사용 설치 유틸
운분투 18.04 kali Linux 사용 설치 유틸
katoolin을 사용해 원하는 프로그램만 설치 가능하다.
파일썬 및 git 설치
sudo apt-get install python git
복사
git clone https://github.com/LionSec/katoolin.git
실행 파일 이동
sudo cp katoolin/katoolin.py /usr/bin/katoolin
실행 권한
sudo chmod +x /usr/bin/katoolin
sudo vi /usr/bin/katoolin
첫줄 파있너 버전 변경
#!/usr/bin/env python2.7
실행
sudo katoolin
1. 저장수 추가 및 업데이트
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat > 1
하위 메뉴 생성 저장소 추가 1 입력
1) Add kali linux repositories
2) Update
3) Remove all kali linux repositories
4) View the contents of sources.list file
What do you want to do ?> 1
저장소 업데이트 2 입력
저장소 제거 3 입력
저장소 리스트 항목(/etc/apt/source.list) 보기
1) Add kali linux repositories
2) Update
3) Remove all kali linux repositories
4) View the contents of sources.list file
What do you want to do ?> 2
이전 메뉴 이동
What do you want to do ?> back
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
주 메뉴 이동
kat > gohome
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat >
2. 카테고리
kat > 2
**************************** All Categories *****************************
1) Information Gathering 8) Exploitation Tools
2) Vulnerability Analysis 9) Forensics Tools
3) Wireless Attacks 10) Stress Testing
4) Web Applications 11) Password Attacks
5) Sniffing & Spoofing 12) Reverse Engineering
6) Maintaining Access 13) Hardware Hacking
7) Reporting Tools 14) Extra
0) All
Select a category or press (0) to install all Kali linux tools .
총 14 개의 카테고리, 전체 설치가 있음.
전체 설치시 디스크 용량을 많이 사용 하므로 필요한 프로그램만 설치한다.
kat > 8
=+[ Exploitation Tools
1) Armitage
2) Backdoor Factory
3) BeEF
4) cisco-auditing-tool
5) cisco-global-exploiter
6) cisco-ocs
7) cisco-torch
8) commix
9) crackle
10) jboss-autopwn
11) Linux Exploit Suggester
12) Maltego Teeth
13) SET
14) ShellNoob
15) sqlmap
16) THC-IPV6
17) Yersinia
0) Install all Exploitation Tools
Insert the number of the tool to install it .
kat >
3. Classic 메뉴 설치
클래식 메뉴 GUI
sudo apt-get install classicmenu-indicator
4. 칼리 메뉴 설치
주 메뉴로 이동 후
key> 4
종료 Ctrl + C
프로젝트 사이트: https://github.com/LionSec/katoolin
katoolin을 사용해 원하는 프로그램만 설치 가능하다.
파일썬 및 git 설치
sudo apt-get install python git
복사
git clone https://github.com/LionSec/katoolin.git
실행 파일 이동
sudo cp katoolin/katoolin.py /usr/bin/katoolin
실행 권한
sudo chmod +x /usr/bin/katoolin
sudo vi /usr/bin/katoolin
첫줄 파있너 버전 변경
#!/usr/bin/env python2.7
실행
sudo katoolin
1. 저장수 추가 및 업데이트
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat > 1
하위 메뉴 생성 저장소 추가 1 입력
1) Add kali linux repositories
2) Update
3) Remove all kali linux repositories
4) View the contents of sources.list file
What do you want to do ?> 1
저장소 업데이트 2 입력
저장소 제거 3 입력
저장소 리스트 항목(/etc/apt/source.list) 보기
1) Add kali linux repositories
2) Update
3) Remove all kali linux repositories
4) View the contents of sources.list file
What do you want to do ?> 2
이전 메뉴 이동
What do you want to do ?> back
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
주 메뉴 이동
kat > gohome
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat >
2. 카테고리
kat > 2
**************************** All Categories *****************************
1) Information Gathering 8) Exploitation Tools
2) Vulnerability Analysis 9) Forensics Tools
3) Wireless Attacks 10) Stress Testing
4) Web Applications 11) Password Attacks
5) Sniffing & Spoofing 12) Reverse Engineering
6) Maintaining Access 13) Hardware Hacking
7) Reporting Tools 14) Extra
0) All
Select a category or press (0) to install all Kali linux tools .
총 14 개의 카테고리, 전체 설치가 있음.
전체 설치시 디스크 용량을 많이 사용 하므로 필요한 프로그램만 설치한다.
kat > 8
=+[ Exploitation Tools
1) Armitage
2) Backdoor Factory
3) BeEF
4) cisco-auditing-tool
5) cisco-global-exploiter
6) cisco-ocs
7) cisco-torch
8) commix
9) crackle
10) jboss-autopwn
11) Linux Exploit Suggester
12) Maltego Teeth
13) SET
14) ShellNoob
15) sqlmap
16) THC-IPV6
17) Yersinia
0) Install all Exploitation Tools
Insert the number of the tool to install it .
kat >
3. Classic 메뉴 설치
클래식 메뉴 GUI
sudo apt-get install classicmenu-indicator
4. 칼리 메뉴 설치
주 메뉴로 이동 후
key> 4
종료 Ctrl + C
프로젝트 사이트: https://github.com/LionSec/katoolin
우분투 18.04 하드디스크 관리 유틸
기본 제공 디스크 관리
sudo apt-get install gnome-disk-utility
baobab: 사용량 확인
usb-creator-gtk : 부팅 디스크 만들기
gnome-shell-extension-hard-disk-led : 확장 셜
localepurge : /etc/locale.nopurge 지정한 언어로만 man page 설정, 나머지는 제거
sudo apt-get install baobab usb-creator-gtk gnome-shell-extension-hard-disk-led localepurge
sudo apt-get install gnome-disk-utility
baobab: 사용량 확인
usb-creator-gtk : 부팅 디스크 만들기
gnome-shell-extension-hard-disk-led : 확장 셜
localepurge : /etc/locale.nopurge 지정한 언어로만 man page 설정, 나머지는 제거
sudo apt-get install baobab usb-creator-gtk gnome-shell-extension-hard-disk-led localepurge
우분투 마메설정(MAME)
ubuntu 16.04 MAME Install
MAME(Multiple Arcade Machine Emulator)
1 기본 흐름.
1.1 저장소 등록
sudo add-apt-repository universe
1.2 업데이트
sudo apt update
1.3 MAME 설치
sudo apt-get install mame
2. 우분투 설치
2.1 sudo add-apt-repository ppa:c.falco/mame
2.2 sudo apt-get update
2.3 sudo apt-get install mame
3. 실행
cd ~/.mame
mame -createconfig
mame.ini 생성
vi mame.ini
롬파일 위치 지정
mkdir -p ~/mame/roms
굳이 압축 파일을 풀 필요는 없습니다. mame에서 알아서 해독하고 실행합니다.
4. 조이스틱
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
sudo apt-get udpate
sudo apt-get install pcsx2
검색: pcsx
설정창 확인 -> 조이스틱 버튼 설정
MAME(Multiple Arcade Machine Emulator)
1 기본 흐름.
1.1 저장소 등록
sudo add-apt-repository universe
1.2 업데이트
sudo apt update
1.3 MAME 설치
sudo apt-get install mame
2. 우분투 설치
2.1 sudo add-apt-repository ppa:c.falco/mame
2.2 sudo apt-get update
2.3 sudo apt-get install mame
3. 실행
cd ~/.mame
mame -createconfig
mame.ini 생성
vi mame.ini
롬파일 위치 지정
mkdir -p ~/mame/roms
굳이 압축 파일을 풀 필요는 없습니다. mame에서 알아서 해독하고 실행합니다.
4. 조이스틱
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
sudo apt-get udpate
sudo apt-get install pcsx2
검색: pcsx
설정창 확인 -> 조이스틱 버튼 설정
우분투 18.04 의존성 문제
우분투 16.04에서 18.04로 업데이트 한 후 gtk3-dev와 wayland 에서 문제가 발생한다.
기본 16.04에서 wayland 테스트 때문에 작성하고 테스트 했던 파일의 문제인듯 하다.
설치했던 파일 부터 확인해 본다.
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
dpkg -l libwayland* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
의존성 파일을 가지고 있는 파일 백업, 수정.
/var/lib/dpkg/status
16.04 검색 후 필요 없는 프로그램 삭제.
중복 파일 제거.
/var/lib/dpkg/triggers/File
sudo apt-get remove --purge
libwayland-client0
libwayland-cursor0
libwayland-server0
sudo apt-get install libwayland-client0 libwayland-cursor0 libwayland-server0
sudo apt-get install lightdm
sudo apt-get install gnome-shell
sudo apt install ubuntu-restricted-extras
sudo apt install mate-control-center
기본 16.04에서 wayland 테스트 때문에 작성하고 테스트 했던 파일의 문제인듯 하다.
설치했던 파일 부터 확인해 본다.
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
dpkg -l libwayland* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
의존성 파일을 가지고 있는 파일 백업, 수정.
/var/lib/dpkg/status
16.04 검색 후 필요 없는 프로그램 삭제.
중복 파일 제거.
/var/lib/dpkg/triggers/File
sudo apt-get remove --purge
libwayland-client0
libwayland-cursor0
libwayland-server0
sudo apt-get install libwayland-client0 libwayland-cursor0 libwayland-server0
sudo apt-get install lightdm
sudo apt-get install gnome-shell
sudo apt install ubuntu-restricted-extras
sudo apt install mate-control-center
우분투 비쥬얼 스튜디오 설치 및 사용방법
1. 설치
1.1 윈도우
1.1.1 다운로드: https://code.visualstudio.com/download
1.1.2 환경설정
기타: "Code(으로 열기" 작업를 Windows 탐색기 파일의 상항에 맞는 메뉴에 추가
기타: "Code(으로 열기" 작업를 Windows 탐색기 디렉토리의 상항에 맞는 메뉴에 추가
기타: Code를 지원되는 파일 형식에 대한 편집기로 등록한다.
기타: PATH에 추가(다시 시작한 후 사용 가능)
1.2 우분투
1.2.1 다운로드
저장소 GPG 키 등록
sudo sh -c 'curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg'
저장소 추가
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
설치
sudo apt-get update
sudo apt-get install git
sudo apt-get install code
실행
arlt + F2 : code
2. 언어 설정
2.1 인터페이스 검색
검색 : ctrl + shipt + p
입력 : display
변경 : "local": "en" -> "ko"
적용 : clrs + s
2.2 인터페이스 한글 저장소 패키지 다운로드
검색 : ctrl + shipt + x
입력 : korea language pack
변경 : install 클릭
적용 : reset now 클릭
2.3 사용할 언어 문법 강조 패키지 다운로드
검색 : ctrl + p
입력 : ext install c/c++
선택 : c/c++ IntelliSense, debugging, and code bro....
적용 : 다시로드
2.4 MinGW 문법 강조(리눅스에서 윈도우 프로그램)
2.4.1 구성
- 리눅스 파티션에 윈도우 설치
- 윈도우 개발환경 구성
- 리눅스 부팅후 마운팅
- apt-get install g++-mingw-w64 mingw-w64 ---> 상항에 맞게 설치
검색 : ctrl + shift + p
입력 : c/pp
선택 : c/cpp: edit configurations...
변경 :
a) 이동: 프로젝트 .vscode 디렉토리
b) 확인: vi c_cpp_propertiess.json
c) 검색: /compilePath
d) 설명: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md
e) 설정:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
"mount_driver_C:/MinGW/include",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=6",
"__cdecl=__attribute__((__cdecl__))"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${workspaceRoot}",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
"mount_driver_C:/MinGW/include",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
f) 다시로드
3. 프로젝트 생성
3.1 프로젝트 위치 지정
검색 : ctrl + shift + e (탐색기 창)
열기 : ctrl + k, ctrl + o
생성 : 디렉토로 만들기(아이콘 클릭) 생성
3.2 디렉토리 생성
검색 : 오른쪽 패널창 -> 디렉토리 아이콘 생성 클릭
입력 : 디렉토리 이름
3.2.1 추가
영역 : 생성할 디렉토리 빈 공간 영역 선택
검색 : 오른쪽 패널창 -> 디렉토리 아이콘 생성 클릭
입력 : 디렉토리 이름
3.3 파일 생성
검색 : 오른쪽 패널창 -> 파일 아이콘 생성 클릭
입력 : 파일 이름
4. 컴파일
4.1 빌드 환경 구성
이동: 오른쪽 패널창 -> .vscode::{} tasks.json
입력: tasks.json
수정:
{
"version": "2.0.0",
"runner": "terminal",
"type": "shell",
"echoCommand": true,
"presentation" : { "reveal": "always" },
"tasks": [
// g++ compile
{
"label": "save and compile for C++",
"command": "g++",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
//gcc compile
{
"label": "save and compile for C",
"command": "gcc",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
// linux binary execution
{
"label": "execute",
"command": "cd ${fileDirname} && ./${fileBasenameNoExtension}",
"group": "test"
}
// // windows binary execution
// {
// "label": "execute",
// "command": "cmd",
// "group": "test",
// "args": [
// "/C", "${fileDirname}\\${fileBasenameNoExtension}"
// ]
// }
]
}
4.2 단축키 설정
선택: 파일 > 기본 설정 > 바로 가기 키
이동: 오른쪽 패널창 -> 열려 있는 편집기 -> Keyboard Shortcuts
입력: 고급 사용자 지정의 경우 다음 파일을 열고 편집하세요. keybinding.json <- 클릭
우선 순위: 1. 사용자 환경 단축키
2. 기본 제공 단축키 설정
// Place your key bindings in this file to override the defaults
[
// compile
{ "key": "ctrl+alt+c", "command": "workbench.action.tasks.build" },
// execute
{ "key": "ctrl+alt+r", "command": "workbench.action.tasks.test" }
]
단축키 : Ctrl +Alt + C
컴파일: save and compile for C
확인: 오른쪽 패널창 컴파일 결과 파일 생성
실행: Ctrl + Alt + R -> execute
5. 디버깅
이동: 오른쪽 패널창 -> .vscode::{} tasks.json
입력: tasks.json
수정:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"runner": "terminal",
"type": "shell",
"echoCommand": true,
"presentation" : { "reveal": "always" },
"tasks": [
// g++ compile
{
"label": "save and compile for C++",
"command": "g++",
"args": [
"${file}",
"-g",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
//gcc compile
{
"label": "save and compile for C",
"command": "gcc",
"args": [
"${file}",
"-g",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
// linux binary execution
{
"label": "execute",
"command": "cd ${fileDirname} && ./${fileBasenameNoExtension}",
"group": "test"
}
// // windows binary execution
// {
// "label": "execute",
// "command": "cmd",
// "group": "test",
// "args": [
// "/C", "${fileDirname}\\${fileBasenameNoExtension}"
// ]
// }
]
}
선택: 오른쪽 패널창 -> 디버그 아이콘 클릭
이동: 환경설정 아이콘 클릭 -> 사용할 GDB 선택
수정: launch.json
{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
// "program": "enter program name, for example ${workspaceFolder}/a.out",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
//"externalConsole": true,
"externalConsole": false,
"MIMode": "gdb",
// windows gdb
// "miDebuggerPath": "C:/MinGW/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
적용: 비쥬얼 스튜디오 디시 시작
참고:
윈도우에서 사용하는 디버깅 창 및 단축키,
비주얼 스튜디오 버전마다 단축키 차이가 있음.
자동/조사식/메모리 창
자동창 생성: 디버그 -> 창 -> 자동
단축키 : ctrl + alt + v, a
조사식창 생성: 디버그 -> 창 -> 조사식 -> 조사식 1~4
단축키 : ctrl + alt + w, 1~4
Shift+F9: 다른 창을 띄워서 변수의 값이 얼마인지 계산할 수있고, 그 자리에서 조사식을 추가 할 수도 있다.
메모리창 생성: 디버그 -> 메모리 -> 메모리 1~4
단축키 : ctrl + alt + m, 1~4
기본 메모리 창 : alt + 6
F9 : 브레이크 포인트 설정 및 해제
전체 브레이크 포인트 해제 : 디버그 -> 모든 중단점 해제
단축키 : Ctrl + Shift + F9
F5 : 디버깅 연결 프로그램과 시작.
Shift + F5 : 디버깅 없이 실행
F10: 디버깅 모드에서 한줄씩 코드를 진행하되, 다른 함수를 호출하게 되는 경우에 그 프로시저를 모두 실행하고 원래 코드로 돌아와서 한줄을 실행하는 기능
Ctrl + F10 : 커서까지 실행, 디버깅 모드에서 커서가 위치한 줄을 만날때 까지 실행하는 기능
Shift + F10 : 프로시저 나가기
F11: 한줄씩 실행
Shift + F11: 프로시저 나가기, 디버깅 모드에서 현재 현재 프로시저의 나머지를 모두 실행하고 나가는 기능
디버깅 공식
1) 중단점을 설정한다.
2) 디버깅 시작
3) F11 을 누르며 한단계씩 코드 실행 or F10 으로 프로시저 단위 실행
4) 조사식을 추가하여 변수의 변화를 살펴본다.
함수 추적시.
stdio.h, iostream 라이브러리 호출 부분으로 진입시.
Shift + F10 : 프로시저 나가기
1.1 윈도우
1.1.1 다운로드: https://code.visualstudio.com/download
1.1.2 환경설정
기타: "Code(으로 열기" 작업를 Windows 탐색기 파일의 상항에 맞는 메뉴에 추가
기타: "Code(으로 열기" 작업를 Windows 탐색기 디렉토리의 상항에 맞는 메뉴에 추가
기타: Code를 지원되는 파일 형식에 대한 편집기로 등록한다.
기타: PATH에 추가(다시 시작한 후 사용 가능)
1.2 우분투
1.2.1 다운로드
저장소 GPG 키 등록
sudo sh -c 'curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg'
저장소 추가
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
설치
sudo apt-get update
sudo apt-get install git
sudo apt-get install code
실행
arlt + F2 : code
2. 언어 설정
2.1 인터페이스 검색
검색 : ctrl + shipt + p
입력 : display
변경 : "local": "en" -> "ko"
적용 : clrs + s
2.2 인터페이스 한글 저장소 패키지 다운로드
검색 : ctrl + shipt + x
입력 : korea language pack
변경 : install 클릭
적용 : reset now 클릭
2.3 사용할 언어 문법 강조 패키지 다운로드
검색 : ctrl + p
입력 : ext install c/c++
선택 : c/c++ IntelliSense, debugging, and code bro....
적용 : 다시로드
2.4 MinGW 문법 강조(리눅스에서 윈도우 프로그램)
2.4.1 구성
- 리눅스 파티션에 윈도우 설치
- 윈도우 개발환경 구성
- 리눅스 부팅후 마운팅
- apt-get install g++-mingw-w64 mingw-w64 ---> 상항에 맞게 설치
검색 : ctrl + shift + p
입력 : c/pp
선택 : c/cpp: edit configurations...
변경 :
a) 이동: 프로젝트 .vscode 디렉토리
b) 확인: vi c_cpp_propertiess.json
c) 검색: /compilePath
d) 설명: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md
e) 설정:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
"mount_driver_C:/MinGW/include",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=6",
"__cdecl=__attribute__((__cdecl__))"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${workspaceRoot}",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
"mount_driver_C:/MinGW/include",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"mount_driver_C:/MinGW/lib/gcc/mingw32/6.3.0/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
f) 다시로드
3. 프로젝트 생성
3.1 프로젝트 위치 지정
검색 : ctrl + shift + e (탐색기 창)
열기 : ctrl + k, ctrl + o
생성 : 디렉토로 만들기(아이콘 클릭) 생성
3.2 디렉토리 생성
검색 : 오른쪽 패널창 -> 디렉토리 아이콘 생성 클릭
입력 : 디렉토리 이름
3.2.1 추가
영역 : 생성할 디렉토리 빈 공간 영역 선택
검색 : 오른쪽 패널창 -> 디렉토리 아이콘 생성 클릭
입력 : 디렉토리 이름
3.3 파일 생성
검색 : 오른쪽 패널창 -> 파일 아이콘 생성 클릭
입력 : 파일 이름
4. 컴파일
4.1 빌드 환경 구성
이동: 오른쪽 패널창 -> .vscode::{} tasks.json
입력: tasks.json
수정:
{
"version": "2.0.0",
"runner": "terminal",
"type": "shell",
"echoCommand": true,
"presentation" : { "reveal": "always" },
"tasks": [
// g++ compile
{
"label": "save and compile for C++",
"command": "g++",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
//gcc compile
{
"label": "save and compile for C",
"command": "gcc",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
// linux binary execution
{
"label": "execute",
"command": "cd ${fileDirname} && ./${fileBasenameNoExtension}",
"group": "test"
}
// // windows binary execution
// {
// "label": "execute",
// "command": "cmd",
// "group": "test",
// "args": [
// "/C", "${fileDirname}\\${fileBasenameNoExtension}"
// ]
// }
]
}
4.2 단축키 설정
선택: 파일 > 기본 설정 > 바로 가기 키
이동: 오른쪽 패널창 -> 열려 있는 편집기 -> Keyboard Shortcuts
입력: 고급 사용자 지정의 경우 다음 파일을 열고 편집하세요. keybinding.json <- 클릭
우선 순위: 1. 사용자 환경 단축키
2. 기본 제공 단축키 설정
// Place your key bindings in this file to override the defaults
[
// compile
{ "key": "ctrl+alt+c", "command": "workbench.action.tasks.build" },
// execute
{ "key": "ctrl+alt+r", "command": "workbench.action.tasks.test" }
]
단축키 : Ctrl +Alt + C
컴파일: save and compile for C
확인: 오른쪽 패널창 컴파일 결과 파일 생성
실행: Ctrl + Alt + R -> execute
5. 디버깅
이동: 오른쪽 패널창 -> .vscode::{} tasks.json
입력: tasks.json
수정:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"runner": "terminal",
"type": "shell",
"echoCommand": true,
"presentation" : { "reveal": "always" },
"tasks": [
// g++ compile
{
"label": "save and compile for C++",
"command": "g++",
"args": [
"${file}",
"-g",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
//gcc compile
{
"label": "save and compile for C",
"command": "gcc",
"args": [
"${file}",
"-g",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": "build",
// compile error editer apply
// reference: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
// The regular expression.
//Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
// linux binary execution
{
"label": "execute",
"command": "cd ${fileDirname} && ./${fileBasenameNoExtension}",
"group": "test"
}
// // windows binary execution
// {
// "label": "execute",
// "command": "cmd",
// "group": "test",
// "args": [
// "/C", "${fileDirname}\\${fileBasenameNoExtension}"
// ]
// }
]
}
선택: 오른쪽 패널창 -> 디버그 아이콘 클릭
이동: 환경설정 아이콘 클릭 -> 사용할 GDB 선택
수정: launch.json
{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
// "program": "enter program name, for example ${workspaceFolder}/a.out",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
//"externalConsole": true,
"externalConsole": false,
"MIMode": "gdb",
// windows gdb
// "miDebuggerPath": "C:/MinGW/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
적용: 비쥬얼 스튜디오 디시 시작
참고:
윈도우에서 사용하는 디버깅 창 및 단축키,
비주얼 스튜디오 버전마다 단축키 차이가 있음.
자동/조사식/메모리 창
자동창 생성: 디버그 -> 창 -> 자동
단축키 : ctrl + alt + v, a
조사식창 생성: 디버그 -> 창 -> 조사식 -> 조사식 1~4
단축키 : ctrl + alt + w, 1~4
Shift+F9: 다른 창을 띄워서 변수의 값이 얼마인지 계산할 수있고, 그 자리에서 조사식을 추가 할 수도 있다.
메모리창 생성: 디버그 -> 메모리 -> 메모리 1~4
단축키 : ctrl + alt + m, 1~4
기본 메모리 창 : alt + 6
F9 : 브레이크 포인트 설정 및 해제
전체 브레이크 포인트 해제 : 디버그 -> 모든 중단점 해제
단축키 : Ctrl + Shift + F9
F5 : 디버깅 연결 프로그램과 시작.
Shift + F5 : 디버깅 없이 실행
F10: 디버깅 모드에서 한줄씩 코드를 진행하되, 다른 함수를 호출하게 되는 경우에 그 프로시저를 모두 실행하고 원래 코드로 돌아와서 한줄을 실행하는 기능
Ctrl + F10 : 커서까지 실행, 디버깅 모드에서 커서가 위치한 줄을 만날때 까지 실행하는 기능
Shift + F10 : 프로시저 나가기
F11: 한줄씩 실행
Shift + F11: 프로시저 나가기, 디버깅 모드에서 현재 현재 프로시저의 나머지를 모두 실행하고 나가는 기능
디버깅 공식
1) 중단점을 설정한다.
2) 디버깅 시작
3) F11 을 누르며 한단계씩 코드 실행 or F10 으로 프로시저 단위 실행
4) 조사식을 추가하여 변수의 변화를 살펴본다.
함수 추적시.
stdio.h, iostream 라이브러리 호출 부분으로 진입시.
Shift + F10 : 프로시저 나가기
우분투 18.04 OpenCV 4.0 가상 개발 환경 구성.
0. 기존 버전 제거.
pkg-config --modversion opencv
설치 버전 정보 출력
기존 패키지 삭제.
sudo apt-get remove --purge libopencv* python-opencv
sudo apt-get autoremove
삭제 확인
pkg-config --modversion opencv
동적 라이브러리 삭제(--purge) 옵션만 사용할 경우
sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;
sudo apt-get update
sudo apt-get upgrade
0. 저장소 지원하는 패키지 설치 할 경우.
OpenCV 설치
sudo apt update
sudo apt install python3-opencv
설치 확인.
python3 -c "\
import cv2
print(cv2.__version__)"
이 방법은 자동 설치는 쉬우나 개발에 유연성이 없으므로 소소코드 버전으로 설치한다.
기존 패키지 삭제.
sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove
파일썬 버전 확인
python3 --version
Python 3.6.5
파일썬 간단하게 테스트
python3
>> print("OpenCV!")
OpenCV!
>> quit()
1. 개발 도구 설치
sudo apt install build-essential cmake git pkg-config libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libxine2-dev
실시간 비디오 캡처 API
sudo apt-get install v4l-utils
GStreamer는 비디오 스트리밍을 위한 라이브러리 설치
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt install libgtk-3-dev
만약 다른 GUI 일 경우 선택 가능
libgtk2.0-dev
libqt4-dev
libqt5-dev
OpenGL 지원 라이브러리 설치
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
OpenCV 기본 개발 라이브러리 및 이미지 다차원 처리 패키지 등
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev libatlas-base-dev libeigen3-dev
sudo apt install libatlas-base-dev gfortran
python2-7 OpenCv-Python 바인딩 필요 라이브러리 추가.
sudo apt-get install python2.7-dev python-numpy
2. 소스코드 복사
mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
3. Python 환경 설정
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
가상 개발 환경 구성
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
가상 cv 환경 구축
mkvirtualenv cv -p python3
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy -> 이 부분은 apt-get는 일반 환경이며 여기서는 가상 환경에서의 라이브러리.
4. CMake로 OpenCV 설정
workon cv
cd ~/opencv_build/opencv
git checkout 4.0.0
cd ~/opencv_build/opencv_contrib
git checkout 4.0.0
컴파일 구성
mkdir build
cd build
a) 가상환경
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
b) 일반 환경 구성 라이브러리 경로 설정 없음
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
c) 일반 환경구성 라이브러리 경루 추가
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
-D BUILD_EXAMPLES=ON ..
경로 패스 지정의 경우: CMAKE 출력 파일의 패스 정보 출력 부분이 없다면 추가 해준다.
OpenCV 4.0.0에서 pkg-config 지원하지 않음.
OPENCV_GENERATE_PKGCONFIG=ON 옵션 추가해, pkg-config의 사용.
https://github.com/opencv/opencv/issues/13154
현재 cv 이름의 가상 환경을 만든 후 일반 환경 구성으로 컴파일해 적용 테스트 중.
4. OpenCV 컴파일 및 설치
cat /proc/cpuinfo | grep processor | wc -l
time make -j4
Makefile:162: recipe for target 'all' failed
make clean
make
sudo make install
동적 라이브러리 설정 확인
cat /etc/ld.so.conf.d/*
/usr/local/lib ---> 존재 여부 확인
없을 경우 /usr/local/lib 동적 라이브러리 추가
sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'
적용.
sudo ldconfig
5. 확인
pkg-config --modversion opencv
6.심볼 링크
가상 개발 환경
ls /usr/local/python/cv2/python-3.6/
cv2.cpython-36m-x86_64-linux-gnu.so
일반 개발 환경.
ls /usr/lib/lib/python3/dist-packages/
cv2.cpython-36m-x86_64-linux-gnu.so
이름 변경.
가상 개발 환경
cd /usr/local/python/cv2/python-3.6
sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
일반 개발 환경
cd /usr/lib/python3/dist-packages
이름 변경 없이 사용.
심볼 링크
가상 개발 환경
cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
ln -s /usr/local/python/cv2/python-3.6/cv2.so cv2.so
일반 개발 환경
cd /usr/lib/python3/dist-packages
이름 변경 없이 사용
특정 버전의 개발 환경.
cv2.so 파일 이름을 변경해 관리한다.
cv2.so의 이름을 변경하는 대신, cv2.opencv3.4.4.so 사용.
심볼릭 링크에서 버전별로 적절하게 사용한다.
참고:
apt-get remove --purge 삭제시 cv2.so 파일 삭제 됨.
즉, 가상 환경에서는 문제 없시 동작, 만약 일반 환경에서도 동작 하기 위해서는 cv2.so 파일을 복사한다.
sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/local/lib/python2.7/disk-packages/
sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/lib/python2.7/disk-packages/
sudo cp /usr/local/python/cv2/python-Version/cv2.cpython-36m-x86_64-linux-gnu.so /usr/lib/pythonVersionVersionVersion/disk-packages/
sudo cp /usr/local/python/cv2/python3/cv2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/pythonVersionVersion3.6/disk-packages/
6 단계 : OpenCV 테스트
cd /home/username/
workon cv
python
>>> import cv2
>>> cv2.__version__
'4.0.0'
pkg-config --modversion opencv
설치 버전 정보 출력
기존 패키지 삭제.
sudo apt-get remove --purge libopencv* python-opencv
sudo apt-get autoremove
삭제 확인
pkg-config --modversion opencv
동적 라이브러리 삭제(--purge) 옵션만 사용할 경우
sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;
sudo apt-get update
sudo apt-get upgrade
0. 저장소 지원하는 패키지 설치 할 경우.
OpenCV 설치
sudo apt update
sudo apt install python3-opencv
설치 확인.
python3 -c "\
import cv2
print(cv2.__version__)"
이 방법은 자동 설치는 쉬우나 개발에 유연성이 없으므로 소소코드 버전으로 설치한다.
기존 패키지 삭제.
sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove
파일썬 버전 확인
python3 --version
Python 3.6.5
파일썬 간단하게 테스트
python3
>> print("OpenCV!")
OpenCV!
>> quit()
1. 개발 도구 설치
sudo apt install build-essential cmake git pkg-config libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libxine2-dev
실시간 비디오 캡처 API
sudo apt-get install v4l-utils
GStreamer는 비디오 스트리밍을 위한 라이브러리 설치
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt install libgtk-3-dev
만약 다른 GUI 일 경우 선택 가능
libgtk2.0-dev
libqt4-dev
libqt5-dev
OpenGL 지원 라이브러리 설치
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
OpenCV 기본 개발 라이브러리 및 이미지 다차원 처리 패키지 등
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev libatlas-base-dev libeigen3-dev
sudo apt install libatlas-base-dev gfortran
python2-7 OpenCv-Python 바인딩 필요 라이브러리 추가.
sudo apt-get install python2.7-dev python-numpy
2. 소스코드 복사
mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
3. Python 환경 설정
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
가상 개발 환경 구성
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
가상 cv 환경 구축
mkvirtualenv cv -p python3
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy -> 이 부분은 apt-get는 일반 환경이며 여기서는 가상 환경에서의 라이브러리.
4. CMake로 OpenCV 설정
workon cv
cd ~/opencv_build/opencv
git checkout 4.0.0
cd ~/opencv_build/opencv_contrib
git checkout 4.0.0
컴파일 구성
mkdir build
cd build
a) 가상환경
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
b) 일반 환경 구성 라이브러리 경로 설정 없음
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
c) 일반 환경구성 라이브러리 경루 추가
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
-D BUILD_EXAMPLES=ON ..
경로 패스 지정의 경우: CMAKE 출력 파일의 패스 정보 출력 부분이 없다면 추가 해준다.
OpenCV 4.0.0에서 pkg-config 지원하지 않음.
OPENCV_GENERATE_PKGCONFIG=ON 옵션 추가해, pkg-config의 사용.
https://github.com/opencv/opencv/issues/13154
현재 cv 이름의 가상 환경을 만든 후 일반 환경 구성으로 컴파일해 적용 테스트 중.
4. OpenCV 컴파일 및 설치
cat /proc/cpuinfo | grep processor | wc -l
time make -j4
Makefile:162: recipe for target 'all' failed
make clean
make
sudo make install
동적 라이브러리 설정 확인
cat /etc/ld.so.conf.d/*
/usr/local/lib ---> 존재 여부 확인
없을 경우 /usr/local/lib 동적 라이브러리 추가
sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'
적용.
sudo ldconfig
5. 확인
pkg-config --modversion opencv
6.심볼 링크
가상 개발 환경
ls /usr/local/python/cv2/python-3.6/
cv2.cpython-36m-x86_64-linux-gnu.so
일반 개발 환경.
ls /usr/lib/lib/python3/dist-packages/
cv2.cpython-36m-x86_64-linux-gnu.so
이름 변경.
가상 개발 환경
cd /usr/local/python/cv2/python-3.6
sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
일반 개발 환경
cd /usr/lib/python3/dist-packages
이름 변경 없이 사용.
심볼 링크
가상 개발 환경
cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
ln -s /usr/local/python/cv2/python-3.6/cv2.so cv2.so
일반 개발 환경
cd /usr/lib/python3/dist-packages
이름 변경 없이 사용
특정 버전의 개발 환경.
cv2.so 파일 이름을 변경해 관리한다.
cv2.so의 이름을 변경하는 대신, cv2.opencv3.4.4.so 사용.
심볼릭 링크에서 버전별로 적절하게 사용한다.
참고:
apt-get remove --purge 삭제시 cv2.so 파일 삭제 됨.
즉, 가상 환경에서는 문제 없시 동작, 만약 일반 환경에서도 동작 하기 위해서는 cv2.so 파일을 복사한다.
sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/local/lib/python2.7/disk-packages/
sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/lib/python2.7/disk-packages/
sudo cp /usr/local/python/cv2/python-Version/cv2.cpython-36m-x86_64-linux-gnu.so /usr/lib/pythonVersionVersionVersion/disk-packages/
sudo cp /usr/local/python/cv2/python3/cv2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/pythonVersionVersion3.6/disk-packages/
6 단계 : OpenCV 테스트
cd /home/username/
workon cv
python
>>> import cv2
>>> cv2.__version__
'4.0.0'
2018/12/23
우분투 18.04 openCV Version 3.4.4
openCV Version 3.4.4 opencv(extra modules) 컴파일 후 우분투 18.04 설치 방법.
Ubuntu 18.04
python 버전 확인
python3 --version
python3 간단한 동작 확인
python3
>> print("오픈CV + 우분투 18.04!")
오픈CV + 우분투 18.04!
>> quit()
1 단계 : opencv 의존성 패키지 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake unzip pkg-config
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
OpenCV 내부의 메트릭스 기능과 같은 다양한 기능을 최적화하는 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
파이썬 라이브러리 버전 설치
sudo apt-get install python3-dev
2 단계: OpenCV 소스코드 다운로드
cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.4.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.4.zip
압축해제
unzip opencv.zip
unzip opencv_contrib.zip
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
적극적으로 개발중인 모듈 및 또는 특허가있는 모듈이다.(상업적/산업적 용도로는 사용 가능하지 않음)
즉, contrib 모듈에 있는 건 비 상업적으로만 사용해야 한다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
동일한 버전 다운로드
mv opencv-3.4.4 opencv
mv opencv_contrib-3.4.4 opencv_contrib
3 단계: Python 환결 설정.
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
가상 개발 환경 구성
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
가상 cv 환경 구축
mkvirtualenv cv -p python3
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy
4 단계: OpenCV 컴파일.
가상 환경 접근
workon cv
컴파일
cd ~/opencv/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
OPENCV_ENABLE_NONFREE=ON 설정해 특허 알고리즘 사용 할 수 있도록 한다.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬 인터프리터 등록 확인.
"Non-free algorithms" 이 "YES"로 설정되어 있는지 확인
참고
stdlib 관련된 오류 발생시 stdlib.h: No such file or
CMake : -D ENABLE_PRECOMPILED_HEADERS=OFF
이 경우에는 빌드 디렉토리를 삭제하고, 다시 빌드, 위의 옵션이 포함 된 CMake를 다시 실행하는 것이 좋다.
이렇게하면 stdlib.h 오류가 해결.
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
실패시 기본 프로세서 정보로 컴파일
make clean
make
설치
sudo make install
sudo ldconfig
설치 확인
pkg-config --modversion opencv
3.4.4
5 단계: 설치 확인.
폴더 확인
ls /usr/local/python/cv2/python-3.6
cv2.cpython-36m-x86_64-linux-gnu.so
이름 변경.
cd /usr/local/python/cv2/python-3.6
sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
심볼 링크
cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
ln -s /usr/local/python/cv2/python-3.6/cv2.so cv2.so
6 단계 : OpenCV 테스트
cd /home/username/
workon cv
python
Python 3.4.4
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.4'
>>>
--------------
파이썬 2.7를 설치 하려면,
1 단계가 끝나고 아래 명령어 실행.
sudo apt-get install python2.7 python2.7-dev
sudo python2.7 get-pip.py
mkvirtualenv cv -p python2.7
Ubuntu 18.04
python 버전 확인
python3 --version
python3 간단한 동작 확인
python3
>> print("오픈CV + 우분투 18.04!")
오픈CV + 우분투 18.04!
>> quit()
1 단계 : opencv 의존성 패키지 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake unzip pkg-config
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
OpenCV 내부의 메트릭스 기능과 같은 다양한 기능을 최적화하는 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
파이썬 라이브러리 버전 설치
sudo apt-get install python3-dev
2 단계: OpenCV 소스코드 다운로드
cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.4.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.4.zip
압축해제
unzip opencv.zip
unzip opencv_contrib.zip
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
적극적으로 개발중인 모듈 및 또는 특허가있는 모듈이다.(상업적/산업적 용도로는 사용 가능하지 않음)
즉, contrib 모듈에 있는 건 비 상업적으로만 사용해야 한다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
동일한 버전 다운로드
mv opencv-3.4.4 opencv
mv opencv_contrib-3.4.4 opencv_contrib
3 단계: Python 환결 설정.
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
가상 개발 환경 구성
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
가상 cv 환경 구축
mkvirtualenv cv -p python3
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy
4 단계: OpenCV 컴파일.
가상 환경 접근
workon cv
컴파일
cd ~/opencv/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
OPENCV_ENABLE_NONFREE=ON 설정해 특허 알고리즘 사용 할 수 있도록 한다.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬 인터프리터 등록 확인.
"Non-free algorithms" 이 "YES"로 설정되어 있는지 확인
참고
stdlib 관련된 오류 발생시 stdlib.h: No such file or
CMake : -D ENABLE_PRECOMPILED_HEADERS=OFF
이 경우에는 빌드 디렉토리를 삭제하고, 다시 빌드, 위의 옵션이 포함 된 CMake를 다시 실행하는 것이 좋다.
이렇게하면 stdlib.h 오류가 해결.
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
실패시 기본 프로세서 정보로 컴파일
make clean
make
설치
sudo make install
sudo ldconfig
설치 확인
pkg-config --modversion opencv
3.4.4
5 단계: 설치 확인.
폴더 확인
ls /usr/local/python/cv2/python-3.6
cv2.cpython-36m-x86_64-linux-gnu.so
이름 변경.
cd /usr/local/python/cv2/python-3.6
sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
심볼 링크
cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
ln -s /usr/local/python/cv2/python-3.6/cv2.so cv2.so
6 단계 : OpenCV 테스트
cd /home/username/
workon cv
python
Python 3.4.4
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.4'
>>>
--------------
파이썬 2.7를 설치 하려면,
1 단계가 끝나고 아래 명령어 실행.
sudo apt-get install python2.7 python2.7-dev
sudo python2.7 get-pip.py
mkvirtualenv cv -p python2.7
Ubuntu 16.04 OpenCV 3.1.0 및 Python 3.5 설치
우분투 OpenCV 3.1.0 및 Python 3.5 설치
Ubuntu 16.04
OpenCV 3.1.0 버전 Python 3 이상과 호환.
Python2.7.12 버전: 터미널 파이썬 실행 버전(우분투 기본 설치 버전)
Python3.5.2 버전: python3 명령을 통해 접근 할 수 있음.
두개를 동시에 사용해야 하므로, 동작 안하는 프로그램이 있을 수 있다.
이 문제는 env 환경 구성에서 python 정보를 직접 입력해 해결 하면된다.
1 단계 : opencv 의존성 패키지 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake git pkg-config
pkg-config: 패키지 설정 파일.
git : GitHub OpenCV 프로젝트 사이트 소스 코드 다운로드
cmake: 빌드 구성
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
OpenCV 내부의 메트릭스 기능과 같은 다양한 기능을 최적화하는 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
파이썬 버전 설치
sudo apt-get install python2.7-dev python3.5-dev
2 단계: OpenCV 소스코드 다운로드
https://github.com/Itseez/opencv/archive/3.1.0.zip
https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip
동일한 버전 다운로드
3 단계: Python 환결 설정.
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
:wq
cat 명령으로 환경 설정
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
둘 중 편한 방법을 선택해 적용한다.
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
OpenCv 3.1 + Python 2.7 버전 개발을 위해, 가상 cv 환경 구축
mkvirtualenv cv -p python2
3.x 버전으로 만들 경우
mkvirtualenv cv -p python3
어떤 버전을 사용해도 상관은 없다.
최졍 cv python 가상 환경을 만드는게 목적이다.
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy
4 단계: python 3.5 + OpenCV 컴파일.
가상 환경 접근
workon cv
컴파일
cd ~/opencv-3.1.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
stdlib 관련된 오류 발생시 stdlib.h: No such file or
CMake : -D ENABLE_PRECOMPILED_HEADERS=OFF
이 경우에는 빌드 디렉토리를 삭제하고, 다시 빌드, 위의 옵션이 포함 된 CMake를 다시 실행하는 것이 좋다.
이렇게하면 stdlib.h 오류가 해결.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬3 버전 인터프리터 등록 확인.
Python 2:
Interpreter : /home/username/.virtualevns/cv/bin/python (ver 2.7.12)
Libraries : /usr/lib/x86_64-linux-gnu/libpython2.7.12~~~
numpy: /home/username/.virualenvs/cv/lib/python2.7.12/site.packages/numpy/core~~~~
packages path: lib/python2.7.12/site-packages
1. 컴파일 2.7 버전으로 가상환경 구축
2. 라이브러는 2.7 사용
3. NumPy 2.7 가상환경
4. 패키지 경로 cv2.so lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages/
3.5 버전으로 컴파일 했을 경우
CMAKE 의 출력 내용은 3.5로 나타난다.
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
실패시 기본 프로세서 정보로 컴파일
make clean
make
설치
sudo make install
sudo ldconfig
5 단계: 설치 확인.
Python2.7: 컴파일시.
ls -l /usr/local/lib/python2.7/site-packages/
심볼 링크
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
Python3.5: 컴파일시.
ls -l /usr/local/lib/python3.5/site-packages/
동적 라이브러리가 이름이 변경되 고생 함.
cd /usr/local/lib/python3.5/site-packages/
sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
심볼 링크
cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so
6 단계 : OpenCV 테스트
python 3.5 구성시
cd /home/username/
workon cv
python
Python 3.5.2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.1.0'
>>>
python 2.7 구성시
cd /home/username/
python
>>> import cv2
>>> cv2.__version__
'3.1.0'
>>>
어떤한 파있너 버전을 사용해도 상관이 없다 cs2를 파이썬이 호출 하면된다.
Ubuntu 16.04
OpenCV 3.1.0 버전 Python 3 이상과 호환.
Python2.7.12 버전: 터미널 파이썬 실행 버전(우분투 기본 설치 버전)
Python3.5.2 버전: python3 명령을 통해 접근 할 수 있음.
두개를 동시에 사용해야 하므로, 동작 안하는 프로그램이 있을 수 있다.
이 문제는 env 환경 구성에서 python 정보를 직접 입력해 해결 하면된다.
1 단계 : opencv 의존성 패키지 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake git pkg-config
pkg-config: 패키지 설정 파일.
git : GitHub OpenCV 프로젝트 사이트 소스 코드 다운로드
cmake: 빌드 구성
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk-3-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
OpenCV 내부의 메트릭스 기능과 같은 다양한 기능을 최적화하는 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
파이썬 버전 설치
sudo apt-get install python2.7-dev python3.5-dev
2 단계: OpenCV 소스코드 다운로드
https://github.com/Itseez/opencv/archive/3.1.0.zip
https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip
동일한 버전 다운로드
3 단계: Python 환결 설정.
파이썬 패키기 관린 pip 설치
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
:wq
cat 명령으로 환경 설정
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
둘 중 편한 방법을 선택해 적용한다.
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
OpenCv 3.1 + Python 2.7 버전 개발을 위해, 가상 cv 환경 구축
mkvirtualenv cv -p python2
3.x 버전으로 만들 경우
mkvirtualenv cv -p python3
어떤 버전을 사용해도 상관은 없다.
최졍 cv python 가상 환경을 만드는게 목적이다.
cv 가상 환경 확인
workon cv
(cv) username:~$
OpenCV 이미지 다차원 처리 NumPy 배열로 표현하며 최종 단계 숫자로 처리함.
pip install numpy
4 단계: python 3.5 + OpenCV 컴파일.
가상 환경 접근
workon cv
컴파일
cd ~/opencv-3.1.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
stdlib 관련된 오류 발생시 stdlib.h: No such file or
CMake : -D ENABLE_PRECOMPILED_HEADERS=OFF
이 경우에는 빌드 디렉토리를 삭제하고, 다시 빌드, 위의 옵션이 포함 된 CMake를 다시 실행하는 것이 좋다.
이렇게하면 stdlib.h 오류가 해결.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬3 버전 인터프리터 등록 확인.
Python 2:
Interpreter : /home/username/.virtualevns/cv/bin/python (ver 2.7.12)
Libraries : /usr/lib/x86_64-linux-gnu/libpython2.7.12~~~
numpy: /home/username/.virualenvs/cv/lib/python2.7.12/site.packages/numpy/core~~~~
packages path: lib/python2.7.12/site-packages
1. 컴파일 2.7 버전으로 가상환경 구축
2. 라이브러는 2.7 사용
3. NumPy 2.7 가상환경
4. 패키지 경로 cv2.so lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages/
3.5 버전으로 컴파일 했을 경우
CMAKE 의 출력 내용은 3.5로 나타난다.
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
실패시 기본 프로세서 정보로 컴파일
make clean
make
설치
sudo make install
sudo ldconfig
5 단계: 설치 확인.
Python2.7: 컴파일시.
ls -l /usr/local/lib/python2.7/site-packages/
심볼 링크
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
Python3.5: 컴파일시.
ls -l /usr/local/lib/python3.5/site-packages/
동적 라이브러리가 이름이 변경되 고생 함.
cd /usr/local/lib/python3.5/site-packages/
sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
심볼 링크
cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so
6 단계 : OpenCV 테스트
python 3.5 구성시
cd /home/username/
workon cv
python
Python 3.5.2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.1.0'
>>>
python 2.7 구성시
cd /home/username/
python
>>> import cv2
>>> cv2.__version__
'3.1.0'
>>>
어떤한 파있너 버전을 사용해도 상관이 없다 cs2를 파이썬이 호출 하면된다.
ubuntu 14.04 python3.4 + OpenCV 3.0 개발 환경 구축 및 테스트
우분투 OpenCV 3.0 및 Python 3.4 설치
Ubuntu 14.04
OpenCV 3.0 버전 Python 3 이상과 호환.
Python 3.4 버전과 Python2.7 버전은 설치 방법은 다름.
1 단계 : 필수 구성 요소 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake git pkg-config
pkg-config: 패키지 설정 파일.
git : GitHub OpenCV 프로젝트 사이트 소스 코드 다운로드
cmake: 빌드 구성
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk2.0-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
OpenCV 내부의 다양한 루틴 최적화 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
2 단계: Python 설치 1
파이썬 패키기 관린 pip 설치
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
OpenCv 3.0 + Python 3.4 비전 개발을 위해, 가상 cv 환경 구축
mkvirtualenv cv
2 단계: Python 설치 2
python 3.4 개발도구 설치
sudo apt-get install python3.4-dev
OpenCV 이미지 다차원 처리 NumPy 배열로 표현한다.
가상 개발 환경 CV에 설치 한다. 개발의 편의를 위해 imutils 설치
pip install numpy
cash 디렉토리 문제 발생 지우고 다시 설치
sudo rm -rf ~/.cache/pip/
pip install numpy
3 단계: python 3.4 + OpenCV 3.0 빌드
opencv 3.0 다운로드
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.0.0
동일 버전 설이 3.0.0
빌드 설정:
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
-D INSTALL_C_EXAMPLES=OFF (보다는 ON).이 스위치를 켜 놓으면 오류가 발생할 수있는 OpenCV v3.1.0 CMake 빌드 스크립트에 버그가 있다.
이 스위치를 off로 설정하면 CMake가 문제없이 실행됩니다.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬3 버전 인터프리터 등록 확인.
Python 3:
Interpreter : /home/username/.virtualevns/cv/bin/python3.4 (ver 3.4)
Libraries : /usr/lib/x86_64-linux-gnu/libpython3.4~~~
numpy: /home/username/.virualenvs/cv/lib/python3.4/site.packages/numpy/core~~~~
packages path: lib/python3.4/site-packages
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
설치
sudo make install
sudo ldconfig
4 단계
python3.4 설치 위치
/usr/local/lib/python3.4/site-packages
가상 개발 환경으로 심볼릭 링크
cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so
심볼릭 링크가 잘 생성 되는지 확인한다. 만약 링크가 생성이 안되면 파일썬에서 OpenCV 호출 하지 못한다.
5 단계
python3.4 바인딩을 사용하여 OpenCV 3.0 설치 완료
가상 개발 환경 설치 확인
workon cv
python
>>> import cv2
>>> cv2.__version__
'3.0.0'
6 단계
테스트
색상이 있는 사진 한장 준비.
pip install imutils
vi find_image.py
# 필요한 패키지 가지고 오기
import numpy as np
import imutils
import cv2
# 이미지 로드
image = cv2.imread("test.jpg")
# 빨간색 이미지 찾기
upper = np.array([65, 65, 255])
lower = np.array([0, 0, 200])
mask = cv2.inRange(image, lower, upper)
# 마스크 된 이미지에서 윤곽선을 찾고 가장 큰 것을 유지
cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
c = max(cnts, key=cv2.contourArea)
# 윤곽율 근사 값
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.05 * peri, True)
# 빨간 색을 둘러싼 녹색 테두리 상자 그리기
cv2.drawContours(image, [approx], -1, (0, 255, 0), 4)
cv2.imshow("Image", image)
cv2.waitKey(0)
실행
python find_image.py
Ubuntu 14.04
OpenCV 3.0 버전 Python 3 이상과 호환.
Python 3.4 버전과 Python2.7 버전은 설치 방법은 다름.
1 단계 : 필수 구성 요소 설치
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
개발 도구 설치
sudo apt-get install build-essential cmake git pkg-config
pkg-config: 패키지 설정 파일.
git : GitHub OpenCV 프로젝트 사이트 소스 코드 다운로드
cmake: 빌드 구성
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk2.0-dev
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
OpenCV 내부의 다양한 루틴 최적화 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
2 단계: Python 설치 1
파이썬 패키기 관린 pip 설치
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
OpenCv 3.0 + Python 3.4 비전 개발을 위해, 가상 cv 환경 구축
mkvirtualenv cv
2 단계: Python 설치 2
python 3.4 개발도구 설치
sudo apt-get install python3.4-dev
OpenCV 이미지 다차원 처리 NumPy 배열로 표현한다.
가상 개발 환경 CV에 설치 한다. 개발의 편의를 위해 imutils 설치
pip install numpy
cash 디렉토리 문제 발생 지우고 다시 설치
sudo rm -rf ~/.cache/pip/
pip install numpy
3 단계: python 3.4 + OpenCV 3.0 빌드
opencv 3.0 다운로드
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.0.0
동일 버전 설이 3.0.0
빌드 설정:
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
-D INSTALL_C_EXAMPLES=OFF (보다는 ON).이 스위치를 켜 놓으면 오류가 발생할 수있는 OpenCV v3.1.0 CMake 빌드 스크립트에 버그가 있다.
이 스위치를 off로 설정하면 CMake가 문제없이 실행됩니다.
CMAKE 출력 파일 확인
Cmake 파일이 파이썬3 버전 인터프리터 등록 확인.
Python 3:
Interpreter : /home/username/.virtualevns/cv/bin/python3.4 (ver 3.4)
Libraries : /usr/lib/x86_64-linux-gnu/libpython3.4~~~
numpy: /home/username/.virualenvs/cv/lib/python3.4/site.packages/numpy/core~~~~
packages path: lib/python3.4/site-packages
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
설치
sudo make install
sudo ldconfig
4 단계
python3.4 설치 위치
/usr/local/lib/python3.4/site-packages
가상 개발 환경으로 심볼릭 링크
cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so
심볼릭 링크가 잘 생성 되는지 확인한다. 만약 링크가 생성이 안되면 파일썬에서 OpenCV 호출 하지 못한다.
5 단계
python3.4 바인딩을 사용하여 OpenCV 3.0 설치 완료
가상 개발 환경 설치 확인
workon cv
python
>>> import cv2
>>> cv2.__version__
'3.0.0'
6 단계
테스트
색상이 있는 사진 한장 준비.
pip install imutils
vi find_image.py
# 필요한 패키지 가지고 오기
import numpy as np
import imutils
import cv2
# 이미지 로드
image = cv2.imread("test.jpg")
# 빨간색 이미지 찾기
upper = np.array([65, 65, 255])
lower = np.array([0, 0, 200])
mask = cv2.inRange(image, lower, upper)
# 마스크 된 이미지에서 윤곽선을 찾고 가장 큰 것을 유지
cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
c = max(cnts, key=cv2.contourArea)
# 윤곽율 근사 값
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.05 * peri, True)
# 빨간 색을 둘러싼 녹색 테두리 상자 그리기
cv2.drawContours(image, [approx], -1, (0, 255, 0), 4)
cv2.imshow("Image", image)
cv2.waitKey(0)
실행
python find_image.py
ubuntu 14.04 opencv3.0 + python 2.7 바인딩 개발 환경 구축 및 테스트
우분투 OpenCV 3.0 및 Python 2.7 설치
Ubuntu 14.04
OpenCV 3.0 버전 Python 3 이상과 호환.
Python 2.7 버전과 Python 3 이상 버전은 설치 방법은 다름.
1 단계
터미널 열기 ctrl + art + t
sudo apt-get update
sudo apt-get upgrade
2 단계
개발 도구 설치
sudo apt-get install build-essential cmake git pkg-config
pkg-config: 패키지 설정 파일.
git : GitHub OpenCV 프로젝트 사이트 소스 코드 다운로드
cmake: 빌드 구성
3 단계
OpenCV는 JPEG, PNG, TIFF등 디스크에 있는 이미지 파일을 로드 할 수 있다.
디스크에 있는 이미지 파일을 로드 하려면 이미지 I/O 패키지가 필요함.
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
4 단계
로드 된 후 모니터 화면에 보여주기 위해서는 highgui 모듈, GUI에 의존하는 GTK 개발 라이브러리 필요.
sudo apt-get install libgtk2.0-dev
5 단계
OpenCV 비디오 스트림 처리, 개별 프레임 접근 하기 위해 다음 라이브러리 설치
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
6 단계
OpenCV 내부의 다양한 루틴 최적화 라이브러리 설치
sudo apt-get install libatlas-base-dev gfortran
7 단계
파이썬 패키기 관린 pip 설치
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
8 단계
https://virtualenv.pypa.io/en/latest/ 및 https://virtualenvwrapper.readthedocs.io/en/latest/ 를 설치한다.
이 두개의 패키지는 별도의 파이썬 버전과 개발 환경을 생성할 수 있게 한다.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf /home/username/.cache/pip
사용자 환경 설정.
vi /home/username/.bashrc
# virtualenv 및 virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
:wq
로그아웃 또는 재부팅, 아니면 source /home/username/.bashrc
OpenCv 3.0 + Python 2.7 비전 개발을 위해, 가상 cv 환경 구축
mkvirtualenv cv
9 단계
python 2.7 개발도구 설치
sudo apt-get install python2.7-dev
OpenCV 이미지 다차원 처리 NumPy 배열로 표현한다.
가상 개발 환경 CV에 설치 한다. 개발의 편의를 위해 imutils 설치
pip install numpy
pip install imutils
10 단계
opencv 3.0 다운로드
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
opencv_contrib repo 설치, 설치 안 할 경우 표준 키보드의 키 위치를 감지 및 OpenCV 2.4.x 버전에서 사용한 SIFT, SURF 접근 할 수 없다.
또한 자연 스러운 이미지 텍스트 감지와 같은 OpenCV 3.0 새로운 기능을 사용하지 못함.
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.0.0
빌드 설정 :
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
-D INSTALL_C_EXAMPLES=OFF (보다는 ON).이 스위치를 켜 놓으면 오류가 발생할 수있는 OpenCV v3.1.0 CMake 빌드 스크립트에 버그가 있다.
이 스위치를 off로 설정하면 CMake가 문제없이 실행됩니다.
컴파일
make -j4
컴파일 속도를 높이려면 현재 사용되는 컴퓨터의 프로세서 코어수를 넣어준다.
설치
sudo make install
sudo ldconfig
11 단계
Python2.7 설치 위치
/usr/local/lib/python2.7/site-packages
가상 개발 환경으로 심볼릭 링크
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
12 단계
python2.7 바인딩을 사용하여 OpenCV 3.0 설치 완료
가상 개발 환경 설치 확인
workon cv
python
>>> import cv2
>>> cv2.__version__
'3.0.0'
13 단계
테스트
색상이 있는 사진 한장 준비.
vi find_image.py
# 필요한 패키지 가지고 오기
import numpy as np
import imutils
import cv2
# 이미지 로드
image = cv2.imread("test.jpg")
# 빨간색 이미지 찾기
upper = np.array([65, 65, 255])
lower = np.array([0, 0, 200])
mask = cv2.inRange(image, lower, upper)
# 마스크 된 이미지에서 윤곽선을 찾고 가장 큰 것을 유지
cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
c = max(cnts, key=cv2.contourArea)
# 윤곽율 근사 값
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.05 * peri, True)
# 빨간 색을 둘러싼 녹색 테두리 상자 그리기
cv2.drawContours(image, [approx], -1, (0, 255, 0), 4)
cv2.imshow("Image", image)
cv2.waitKey(0)
실행
python find_image.py
윈도우 10 mmc card 설치
윈도우 10 mmc card 설치
BIOS 설정
fasb boot 설정 해제.
설정이 되어 있으면, grub> 모드로 진입 함.
windows_10_mmc_Boot 디렉토리, 현 테스트 중 버전 컴파일 및 실행
더욱 자세한건, 현재 작성중인 파일을 본다 03_config/windows_10_mmc_boot .
프로그램 설명.
"Ubuntu Windows To Go"는 USB 플래시 드라이브, 모바일 하드 드라이브 등과 같은 휴대용 장치에 Windows 설치하고, 다른 컴퓨터 하드웨어에서 운영체제 동작!
"USB 플래시 드라이브에서 Windows 동작"
요구 사항 :
16GB 이상의 USB 디스크 또는 MicroSD 카드 (Windows 10 Version 1703 CN에서는 더 이상 사용할 수 없음.)
UWTG 프로그램.
Windows 설치 이미지 (Windows7, Windows8, Windows8.1, Windows 10, Windows Server 2012, Windows Server 2012 R2)
1. 운영체제 이미지 iso 파일 로딩(윈도위 7 권장하지 않음), 윈도우 8은 ISO 파일을 두 번 클릭하여 수행 된다.
2. Ubuntu WTG Assistant lee_ubuntu_wintogo_test.exe을 실행, 영문 변경. 영어 번역을 할 시 GUI만 무거워 진다. 언어를 변경하면 POP-UP 프로그램이 다시 시작 된다, 하지만 수동으로 다시 실행 시켜 준다.
3. install.wim 선택
3.1 drive:\sources 가상 마운트 지정
3.2 설치 디스크 지정: USB 또는 MicroSD Card 여야 함.
3.3 오른쪽 사이트 창 Com 탭 선택
3.3.1 VHDX 및 Windows 10 Pro를 Ver 선택... 사용한 운영체제 버전 선택.
3.3.2 Option : UEFI + GPT 표시된다.
3.3.2.1: Options VHD 탭에서 슬라이더를 오른쪽으로 이동하여 VHD 파일의 이름을 변경하고 크기를 변경할 수 있음. 일부 옵션은 긴 문자로 처리되지만 수정할 필요 없음.
참고: VHD 파티션 테이블 형식은 GPT이고 VHD Temp Folder는 현재 OS 임시 폴더에 있다.
4. Sys 탭에서 Fix Letter가 기본적으로 선택됨. 또한 이 VHD 시스템에서 부팅 할 때 Lcl 디스크 숨기기를 선택하여 로컬 디스크를 숨 긴다.
(optional) Disk (디스크)탭 아래에 No temp (임시 없음) 옵션이 있다.이 옵션은 이동식 디스크에 직접 VHD를 만드는 것을 의미한다. 장치의 하드웨어 인터페이스 부분이 빠르다면 시간이 절약 된다.
5. GO 선택, 두개의 경고창 생성, 확인 확인 눌러 넘어간다.
6. 대기
(optional) PRO 사용자의 경우 64GB MicroSD 카드에서 파티션 구조는 64GB.
VHD 파일, EFI 파티션 ~ 100MB(EFI 부팅 파일 저장 공간) 및 예비 파티션(~ 4.5GB)을 저장하는 기본 파티션이 있다.
하드디스크 공간 낭비를 하고 싶지 않을 경우에 EFI 파티션을 끝으로 옮기고 4.5 GB 공간을 메인 파티션에 병합한다.
경고: 잘못된 조작으로 인해 데이터가 손실 될 수 있습니다!
여기 까지 완전하게 진행 됨.
UDoo x86 이동
7. BIOS 또는 부팅 선택 모드가 장치에서 지원 한 다면, EFI SD/MMC card(AFGCE)를 선택.
부팅 프로세스 시작
8. 초기화가 시작. 일부 지역 설정 및 개인 정보, 합의 ...... 일반적인 Windows 10 설치 프로세스임.
9. 기본 윈도우 설치 완료
10. 정품 인증 재 설치
11. 내부 eMMC 오프라인 파일 관리자에서 볼 수 없음.
MicroSD Card의 VHD는 운영체제 C:\ 드라이버로 마운트 된다.
이러한 방식으로 보안을 강화 시킨다.
12. 윈도우 스토어 사용 가능
13. 그랙픽 드라이버 설치 후, 세이프 모드 동작, HDMI 동작
참고: UDOO X86은 MicroSD Card를 직접 부팅 할 수 없어 블루 스크린이 표시된다.
이럴때는 UEFI 펌웨어 옵션을 일부 수정했냐 한다.
super + I Windows 설정.
업데이트 및 보안 을 클릭
복구 탭을 클릭한 다음, 오른쪽의 고급 시작 옵션의 아래에 있는 지금 다시 시작 버튼을 클릭.
PC를 다시 시작하면, 옵션 선택 화면에서 문제 해결을 클릭.
고급 옵션 화면에서, UEFI 펌웨어 설정 클릭.
1다시 시작 버튼을 클릭하여 UEFI (BIOS) 부팅 모드로 전환.
BIOS 진입 (Boot)화면에 나타나며, 레거시 모드로 되어 있다면 1 UEFI부팅 모드로 전환한 후, BIOS 설정을 저장하고 PC를 재 부팅.
BIOS 설정
fasb boot 설정 해제.
설정이 되어 있으면, grub> 모드로 진입 함.
windows_10_mmc_Boot 디렉토리, 현 테스트 중 버전 컴파일 및 실행
더욱 자세한건, 현재 작성중인 파일을 본다 03_config/windows_10_mmc_boot .
프로그램 설명.
"Ubuntu Windows To Go"는 USB 플래시 드라이브, 모바일 하드 드라이브 등과 같은 휴대용 장치에 Windows 설치하고, 다른 컴퓨터 하드웨어에서 운영체제 동작!
"USB 플래시 드라이브에서 Windows 동작"
요구 사항 :
16GB 이상의 USB 디스크 또는 MicroSD 카드 (Windows 10 Version 1703 CN에서는 더 이상 사용할 수 없음.)
UWTG 프로그램.
Windows 설치 이미지 (Windows7, Windows8, Windows8.1, Windows 10, Windows Server 2012, Windows Server 2012 R2)
1. 운영체제 이미지 iso 파일 로딩(윈도위 7 권장하지 않음), 윈도우 8은 ISO 파일을 두 번 클릭하여 수행 된다.
2. Ubuntu WTG Assistant lee_ubuntu_wintogo_test.exe을 실행, 영문 변경. 영어 번역을 할 시 GUI만 무거워 진다. 언어를 변경하면 POP-UP 프로그램이 다시 시작 된다, 하지만 수동으로 다시 실행 시켜 준다.
3. install.wim 선택
3.1 drive:\sources 가상 마운트 지정
3.2 설치 디스크 지정: USB 또는 MicroSD Card 여야 함.
3.3 오른쪽 사이트 창 Com 탭 선택
3.3.1 VHDX 및 Windows 10 Pro를 Ver 선택... 사용한 운영체제 버전 선택.
3.3.2 Option : UEFI + GPT 표시된다.
3.3.2.1: Options VHD 탭에서 슬라이더를 오른쪽으로 이동하여 VHD 파일의 이름을 변경하고 크기를 변경할 수 있음. 일부 옵션은 긴 문자로 처리되지만 수정할 필요 없음.
참고: VHD 파티션 테이블 형식은 GPT이고 VHD Temp Folder는 현재 OS 임시 폴더에 있다.
4. Sys 탭에서 Fix Letter가 기본적으로 선택됨. 또한 이 VHD 시스템에서 부팅 할 때 Lcl 디스크 숨기기를 선택하여 로컬 디스크를 숨 긴다.
(optional) Disk (디스크)탭 아래에 No temp (임시 없음) 옵션이 있다.이 옵션은 이동식 디스크에 직접 VHD를 만드는 것을 의미한다. 장치의 하드웨어 인터페이스 부분이 빠르다면 시간이 절약 된다.
5. GO 선택, 두개의 경고창 생성, 확인 확인 눌러 넘어간다.
6. 대기
(optional) PRO 사용자의 경우 64GB MicroSD 카드에서 파티션 구조는 64GB.
VHD 파일, EFI 파티션 ~ 100MB(EFI 부팅 파일 저장 공간) 및 예비 파티션(~ 4.5GB)을 저장하는 기본 파티션이 있다.
하드디스크 공간 낭비를 하고 싶지 않을 경우에 EFI 파티션을 끝으로 옮기고 4.5 GB 공간을 메인 파티션에 병합한다.
경고: 잘못된 조작으로 인해 데이터가 손실 될 수 있습니다!
여기 까지 완전하게 진행 됨.
UDoo x86 이동
7. BIOS 또는 부팅 선택 모드가 장치에서 지원 한 다면, EFI SD/MMC card(AFGCE)를 선택.
부팅 프로세스 시작
8. 초기화가 시작. 일부 지역 설정 및 개인 정보, 합의 ...... 일반적인 Windows 10 설치 프로세스임.
9. 기본 윈도우 설치 완료
10. 정품 인증 재 설치
11. 내부 eMMC 오프라인 파일 관리자에서 볼 수 없음.
MicroSD Card의 VHD는 운영체제 C:\ 드라이버로 마운트 된다.
이러한 방식으로 보안을 강화 시킨다.
12. 윈도우 스토어 사용 가능
13. 그랙픽 드라이버 설치 후, 세이프 모드 동작, HDMI 동작
참고: UDOO X86은 MicroSD Card를 직접 부팅 할 수 없어 블루 스크린이 표시된다.
이럴때는 UEFI 펌웨어 옵션을 일부 수정했냐 한다.
super + I Windows 설정.
업데이트 및 보안 을 클릭
복구 탭을 클릭한 다음, 오른쪽의 고급 시작 옵션의 아래에 있는 지금 다시 시작 버튼을 클릭.
PC를 다시 시작하면, 옵션 선택 화면에서 문제 해결을 클릭.
고급 옵션 화면에서, UEFI 펌웨어 설정 클릭.
1다시 시작 버튼을 클릭하여 UEFI (BIOS) 부팅 모드로 전환.
BIOS 진입 (Boot)화면에 나타나며, 레거시 모드로 되어 있다면 1 UEFI부팅 모드로 전환한 후, BIOS 설정을 저장하고 PC를 재 부팅.
2018/12/22
16 진수 읽기
Little Endian Format
헥사 에디터
- 두 자리 수의 집합 = 1 byte(8 bits)
16 진수 D3은 이진수 11010011
10 진수와 혼동을 피하기 위해 0x를 사용해 표시
- 0x30
Little Endian format 오른쪽에서 왼쪽으로 읽음.
- 03 04 little endian format 0403으로 읽음 .
- 0x0403은 0x403으로 표시하며 앞의 0들은 다 제거.
예 1:
- 00 04 00 00 Little Endian Format
- 00000400 16 진수 정렬 표현
- 0x400
- 10 진수 1024 형식 표현
예 2:
- 60 00 Little Endian Format
- 0060 16진수 정렬 표현
- 0x60
- 10 진수 96 형식 표현
예 3:
- D3 04 Little Endian Format
- 04D3 16진수 정렬 표현
- 0x4D3
- 10 진수 1235 형식 표현
NTFS 파일 시스템 섹터
NTFS
파일 시스템 및 파티션
파티션의 처음
16
섹터 (0-15)
섹터 0(부트
스트랩 코드)
-
점프 지시
-
OEMID
-
바이오스 매개변수 블록(BPB)
-
확장 된 BPB
-
부트 스트랩 코드
-
섹터 마커의 끝
섹터 1-15
(부트 섹터 초기 프로그램 로더)
NTFS
Master File Table(MFT)
12.5%
MFT를 위한 예약된 디스크 공간.
디스크 공간의
50%
까지 확장 가능
모든 파일 및
폴더의 정보가 MFT에
나열.
파일 기록
-
FILE0(ASCII) 기록
-
섹터 길이는 1024
바이트(512
x 2)
-
파일 속성 포함:
메터데이터 헤더:
-
0x10 Attribute: 파일 생성, 생성 날자 및 변경 업데이트 시간
-
0x20 Attribute: 비거주 속성
-
0x30 Attribute: 짥고 긴 파일 이름
-
0x40 Attribute: 소유권 및 접근권한
-
0x50 Attribute: 파일에 대한 접근 권한 목록
-
0x70 Attribute: 볼륨의 버전 및 상태
-
0x80 Attribute: 비거주 클러스트의 상주파일 번호
-
0x90 Attribute: 폴더 및 루트 인덱스
-
0xA0 Attribute: 폴더 및 인덱스 할당
-
0XB0 Attribute: 폴더 및 인데스 비트
-
0XC0 Attribute: Volume mount 위치
-
0xD0 Attribute: OS/2 HPFS
-
0xE0 Attribute: OS/2 HPFS
-
0x100 Attribute: EFS Windows 사용.
NTFS
Data
비거주 파일에
대한 파일 정보
-
상주 파일이 512
보다 작의면 MFT에
저장
-
비거주 파일이 크면 MFT에
저장할 수 없음.
boot
Secotor
|
MFT
|
Data
|
|
16 진수 헥사 편집기
16 진수 편집기 .
파일 또는 디스크 파티션의 1과 0을 읽고 이를 16 진수 형식으로 변환한다.
헥사 에디터를 사용해 ASCII 텍스트를 해석하고 표시한다.
16 진수:
0,1,2,3,4,5,6,7,8,9.A,B,C,D,E,F
16 진수 하나의 값은 8 비트 집합을 나타냄.
Example: 3F = 00111111
8 bits = 1byte
EB = 1 byte
EB = 8 bit
EB = 11101011
헥사 에디터 창 배치 정보
왼쪽: 메모리 주소
중간: 16진수 값
오른쪽: ASCII
헥사 에디터 종류
Hexedit(console)
- sudo apt-get install hexedit
Tweak(console)
- sudo apt-get install tweak
Ghex(GUI)
- sudo apt-get install ghex
Okteta(GUI)
- sudo apt-get install okteta
- 우분투 KDE 버전 포함
WxHexeditor(GUI)
- Download : Https://sourceforge.net/projects/wxhexeditor/
- 개발 베타 버전
Bless(GUI)
- sudo apt-get install bless
파일 또는 디스크 파티션의 1과 0을 읽고 이를 16 진수 형식으로 변환한다.
헥사 에디터를 사용해 ASCII 텍스트를 해석하고 표시한다.
16 진수:
0,1,2,3,4,5,6,7,8,9.A,B,C,D,E,F
16 진수 하나의 값은 8 비트 집합을 나타냄.
Example: 3F = 00111111
8 bits = 1byte
EB = 1 byte
EB = 8 bit
EB = 11101011
헥사 에디터 창 배치 정보
왼쪽: 메모리 주소
중간: 16진수 값
오른쪽: ASCII
헥사 에디터 종류
Hexedit(console)
- sudo apt-get install hexedit
Tweak(console)
- sudo apt-get install tweak
Ghex(GUI)
- sudo apt-get install ghex
Okteta(GUI)
- sudo apt-get install okteta
- 우분투 KDE 버전 포함
WxHexeditor(GUI)
- Download : Https://sourceforge.net/projects/wxhexeditor/
- 개발 베타 버전
Bless(GUI)
- sudo apt-get install bless
피드 구독하기:
글 (Atom)