Temos Archyvai: Uncategorized

bgslibrary naudojimas savoje programoje

Prieš pradedant sistemoje turi būti įdiegta OpenCV >= 2.4 versija.

Tarkime norima sukompiliuoti ir sulinkinti tokią pavyzdinę programą:

#include <iostream>
#include <cv.h>
#include <highgui.h>

#include „package_bgs/FrameDifferenceBGS.h“

int main(int argc, char **argv)
{
CvCapture *capture = 0;
capture = cvCaptureFromCAM(0);

if(!capture){
std::cerr << „Cannot initialize video!“ << std::endl;
return -1;
}

IBGS *bgs;
bgs = new FrameDifferenceBGS;

IplImage *frame;
while(1)
{
frame = cvQueryFrame(capture);
if(!frame) break;

cv::Mat img_input(frame);
cv::imshow(„Input“, img_input);

cv::Mat img_mask;
cv::Mat img_bkgmodel;

// by default, it shows automatically the foreground mask image
bgs->process(img_input, img_mask, img_bkgmodel);

//if(!img_mask.empty())
// cv::imshow(„Foreground“, img_mask);
// do something

if(cvWaitKey(33) >= 0)
break;
}

delete bgs;

cvDestroyAllWindows();
cvReleaseCapture(&capture);

return 0;
}

Šis kodas išsaugomas main.cpp faile, į tą patį katalogą iš bgslibrary nukopijuojamas package_bgs aplankalas ir sukuriamas config katalogas.

Kompiliavimas

g++ -c `pkg-config opencv --cflags` main.cpp package_bgs/FrameDifferenceBGS.cpp

Bibliotekų keliai

pi@raspberrypi ~ $ cat /etc/ld.so.conf.d/opencv.conf
/usr/local/lib/

pi@raspberrypi ~ $ sudo ldconfig -v

Linkinimas

g++ -o out `pkg-config opencv --libs` main.o FrameDifferenceBGS.o

Vykdymas

./out

Trečios ašies pridėjimas dviašiam gimbalui

Kadangi triašiai gimbalai yra ganėtinai brangūs, nusprendžiau nusipirkti pigų dviašį ir pabandyti jam pritaisyti trečią ašį.

Pirkiniai:

  1. HobbyKing Brushless ActionCam Gimbal With 2208 Motors and 3K Carbon Construction
  2. Quanum 2208 Precision Brushless Gimbal Motor
  3. Anglies plokštelė 3x25x1000
  4. Epoksidiniai klijai 10min.

Eiga:

2014-10-08 11.17.34

Surinktas dviejų ašių gimbalas, be pakabinimo dalies, trečias variklis ir anglies plastiko lentelė.

2014-10-11 13.52.42

Pagal trečio variklio skylutes ant anglies plastiko lentelės išgręžiau keturias skylutes prie kurių bus tvirtinamas variklis. Kaip pirmą kartą dirbant su anglies plastiku pastebėjimas yra vienas – bjauri medžiaga – daug dulkių, kurios ne tik kad yra nesveikos kvėpuoti, bet dar ir baisiai tepasi.

2014-10-11 13.52.49

Ant anglies plokštelės pažymėta pjovimo vieta.

2014-10-15 14.03.26

Pasiruošimas pjovimui. Anglies plastiko plokštelę pritvirtinu.

2014-10-15 14.03.53

Kampinis šlifuoklis paruoštas.

2014-10-15 14.04.49

Nelabai lygiai, bet tiks.

2014-10-16 13.13.05

Variklis prisuktas prie ką tik nupjautos anglies plokštelės dalies.

2014-10-16 13.13.11

Iš arčiau.

2014-10-16 13.13.22

Iš kitos pusės.

2014-10-16 13.13.53

Pasiruošimas klijuoti.

2014-10-16 13.14.04

Guli gražiai.

2014-10-16 13.14.10

Iš viršaus atrodo irgi gerai.

2014-10-16 13.18.30

Ruošiu klijus.

2014-10-16 13.20.00

Tepu klijavimo vietą.

2014-10-16 13.22.06

Sodinu variklį.

2014-10-16 13.22.25

Galą prispaudžiu, kad gulėtų lygiai.

2014-10-16 13.22.31

Guli lygiai.

2014-10-16 13.22.38

Po klijavimo.

2014-10-27 10.11.04

Suklijavus.

2014-10-27 12.54.51

Išdžiuvo.

2014-10-27 12.55.11

Vaizdas iš šono.

2014-10-27 12.55.30

Vaizdas iš kito šono.