posted by 심재형 2017. 11. 11. 00:21

#include "opencv.hpp"

using namespace cv;

using namespace std;

int main()

{

Mat rgbImage = imread("hand.jpg");

// Mat rgbImage = imread("flower.jpg");


imshow("rgbImage", rgbImage);


Mat hsvImage;

cvtColor(rgbImage, hsvImage, COLOR_BGR2HSV);

imshow("hsvImage", hsvImage);


// hand.jpg

Scalar lowerb(0, 40, 0);

Scalar upperb(20, 180, 255);


// flower.jpg

// Scalar lowerb(150, 100,  100);

// Scalar upperb(180, 255, 255);


Mat dstImage;

inRange(hsvImage, lowerb, upperb, dstImage);

imshow("dstImage1", dstImage);


// check HSV range in object hand

vector<Mat> planes;

split(hsvImage, planes);

// imshow("planes[0]", planes[0]);

// imshow("planes[1]", planes[1]);

// imshow("planes[2]", planes[2]);


double minH, maxH;

minMaxLoc(planes[0], &minH, &maxH, NULL, NULL, dstImage);

cout << "minH =" << minH << ", maxH =" << maxH << endl;


double minS, maxS;

minMaxLoc(planes[1], &minS, &maxS, NULL, NULL, dstImage);

cout << "minS =" << minS << ", maxS =" << maxS << endl;


double minV, maxV;

minMaxLoc(planes[2], &minV, &maxV, NULL, NULL, dstImage);

cout << "minV =" << minV << ", maxV =" << maxV << endl;


waitKey();

return 0;

}

'OpenCV' 카테고리의 다른 글

블러함수들  (0) 2017.11.11
merge, split 함수  (0) 2017.11.11
Template Matching 이용해 모양찾기  (0) 2017.11.04
OpenCV 이미지 크기 조정하기  (0) 2017.11.04
OpenCV Assertion failed (size.width>0 && size.height>0) Error  (0) 2017.11.04
posted by 심재형 2017. 11. 10. 23:34

유비소프트(Ubisoft) 게임 와치독이 14일까지 무료로 배포되고 있습니다.

 

스팀버전이 아니라서 유비소프트 아이디가 있어야합니다.

 

https://freetrial.ubisoft.com/promotions/watch-dogs-1/8/

posted by 심재형 2017. 11. 9. 01:21
$ sudo apt-get update $ sudo apt-get upgrade


3. 빌드에 필요한 패키지 설치

$ sudo apt-get install build-essential cmake pkg-config
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev $ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python2.7-dev python3-dev


4. openCV 3.1 소스 코드 내려받기

$ cd ~ $ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip $ unzip opencv.zip

Full Version 설치는 아래의 소스 코드를 내려받는다고 한다.
하지만 내 경우 위의 코드로 진행하였다.
아래의 소스 코드도 받아야 하기 빌드 설정을 이용할 수 있다.

$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip $ unzip opencv_contrib.zip


5. pip 패키지 설치

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python get-pip.py


6. Python numpy 설치

$ pip install numpy


7. 빌드 환경 설정

$ 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 OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON ..

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON ..
8. 빌드

$ make -j4


posted by 심재형 2017. 11. 6. 04:46

Ubuntu에 vi가 기본적으로 설치되어있지만, vim패키지를 설치해서 사용하면 훨씬 편하다.


1) 설치파일 업데이트  

$sudo apt-get update


2) vim설치 

$sudo apt-get install vim


3) 에디터 설정

$vi ~/.vimrc


set autoindent

set number

syntax enabel

syntax on

set cindent

set smartinent


취향에 맞춰 선택하여 넣는다.


4) 사용방법

$vi [파일명]

ex)vi hi.c  


vi 내에서 i누르면 insert모드, o누르면 한 줄 내려가서 insert모드

posted by 심재형 2017. 11. 6. 04:38

라즈베리파이3는 동글 없이 WIFI와 Bluetooth 사용이 가능하다.

블루투스 키보드를 연결하는 과정에서 GDBus.Error.org.bluez.Error 연결문제가 생겨 

해결방법을 찾았다.

Microsoft universal keyboard를 연결하는 과정이다. 



1. 블루투스 키보드 전원을 킨다.


2.연결설정

$sudo blutoothctl

[NEW] Controller C6:CC:73:EF:50:1A raspberrypi3 [default]
[NEW] Device C6:CC:73:EF:50:1A universal keyboard
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# pair C6:CC:73:EF:50:1A
Attempting to pair with C6:CC:73:EF:50:1A
[CHG] Device C6:CC:73:EF:50:1A Connected: yes
[agent] PIN code: 278290


3.핀코드 입력 **여기서 헷갈릴 수 있다.

블루투스 키보드에 화면에 나온 PIN코드를 그대로 누른다.(278290)

**누른 숫자는 화면에 안뜬다.

그런 다음 Enter를 누르면 정말 Paring 할껀지 물어본다. 확인누르면 성공적으로 등록이 되면 연결을 시도한다.

[CHG] Device C6:CC:73:EF:50:1A Paired: yes
Pairing successful
[CHG] Device C6:CC:73:EF:50:1A Connected: no
[bluetooth]# connect C6:CC:73:EF:50:1A
Attempting to connect to C6:CC:73:EF:50:1A
[CHG] Device AA:AA:AA:FF:FF:FF Connected: yes
Connection successful
[bluetooth]# quit
Agent unregistered
[DEL] Controller C6:CC:73:EF:50:1A raspberrypi [default]


bluetoothctl를 종료하면 키보드 연결이 종료되지만, GUI에서 다시 쉽게 등록이 가능하다.

(와이파이 옆에 블루투스 이미지 누르면 연결할 Device가 뜬다.)


+페어링이 안될 경우 'pairable on'명령을 실행하거나 'trust on'명령을 실행한다.

pairable on : 블루투스장치를 페어링 가능하도록 설정

trust [MAC 주소] : 신뢰할 수 있는 장치로 설정


posted by 심재형 2017. 11. 6. 04:37

프로그램 실행시 tbb.dll을 찾을 수 없다는 에러가 발생하는 경우가 있다.


tbb.dll

1) 파일을 다운로드한다.


2) tbb.dll 파일을 C:\Windows\System32 에 넣어준다.


3) 그래도 오류나면, 사용하는 프로그램과 같은 폴더에 tbb.dll을 넣어준다.


4) 프로그램 다시 실행


posted by 심재형 2017. 11. 6. 03:19

g++ file.cpp -o file -lwiringPi

posted by 심재형 2017. 11. 5. 19:52

$sudo passwd [user] : 특정 [user]계정 비밀번호 변경


$sudo passwd root  : root계정 비밀번호 변경

'Linux' 카테고리의 다른 글

리눅스 Ubuntu vim에디터 설치  (0) 2017.11.06
Ubuntu 리눅스에서 USB장치 확인  (0) 2017.11.05
리눅스 우분투 16.04 LTS에 한글설치하기  (0) 2017.10.31
posted by 심재형 2017. 11. 5. 18:35

라즈베리파이에서 C언어를 사용해 GPIO핀을 제어하는 프로그램을 만들때 wiringPi를 사용한다. 


1.Github통해 다운받기

1)git-core설치

$sudo apt-get install git-core


2)wiringPi 다운받기

$git clone git://git.drogon.net/wiringPi


2.build

github에서 clone 사용해 다운받으면 폴더 그대로 다운로드 되기 때문에 wiringPi디렉토리가 생긴다. 따라서 

$cd wiringPi

$./build


3.설치확인

$gpio -v 

입력하면 gpio version이 뜬다. 

posted by 심재형 2017. 11. 5. 10:32

라즈베리파이에는 전원을 제어하는 버튼이 없다. 그래서 강제로 전원을 분리하는데 microSD카드가 손상될 수 있기 때문에 안전하게 종료해야 한다.


#종료 명령어

sudo shutdown -h now 


#리부팅

sudo shutdown -r now


'now' 대신 시간을 넣을 수도 있다.

10:00' 을 넣으면 오후 10시에 종료되거나 리부팅

'+10' 을 넣으면 10분 후에 종료나 리부팅