2021. január 19., kedd

Gyorskeresés

[SVS_2] Augusztus 9.

Írta: | Kulcsszavak: SRV . surveyor . SVS

[ ÚJ BEJEGYZÉS ]

Augusztus 9., még 122 nap

Történések

Hirtelen ötlettől vezérelve elkezdtem vizsgálni, hogy csak SDL-el meg lehet-e csinálni a kép átalakítását IplImage-ra, ugyanis SDL-nek van SDL_image része is, és már két forrást is találtam ([link], [link]), ami csak SDL-el dolgozik.

Láss csodát, sikerült..., csak RGB-ben kapom meg a pixeleket és át kell alakítani BGR-re, mert IplImage ezt használja. (cvCvtColor(srcimg,destimg,CV_RGB2BGR);)

Balra: SDL képe, jobbra: OpenCV képe, és nincs CxImage, a szín OK
Egyik fenti forrás átalakítva a teszthez

screenshot

Most már az én programom is tudja kezelni a küldött képeket, SDL-el meg is jelenítettem:


screenshot

Bár a gép támogat 1280x1024-s képet is, sajnos túl nagy, akkora területet nem hajlandó foglalni a C++ :). Több dimenzióssá kéne tenni a tömböt, de azt már nem tudom, hogyan tudnám megetetni az SDL-el.
Szerencsére 320x240 felbontást fogom használni az SVS mindkét kameráján.

320x240 és 640x480 maximális minőségen kb. ennyit foglalnak:


screenshot

Holnap most már tényleg fogom a progit, és elkezdem átalakítani egy rendes oo kódra, ahogy az illik :).

Feljegyzések

VS2008 C++ és a sorszámozás

Tools -> Option -> Text Editor -> All Languages -> Display: Line numbers

Alapból miért nincs sorszámozás? Nem értem...

CxImage

Bár már nem kell, de azért leírom, hátha kell még.

A CxImage oldalán található "Lite" verzió is. Sajnos az én esetemben nem működik, mindenképpen szükséges a JPEG támogatás.

Ahhoz, hogy ne kelljen az egészet használni (és linkelgetni), meg kell nyitni a CxImage projektet, a headerek között meg kell keresni a ximacfg.h filet.

Rögtön az elején van a CxImage supported formats rész.

#define CXIMAGE_SUPPORT_JPG 1 kivételével mindet át kell írni 0-ra.

demo és demoDll projekteket törölni kell.

Fordítás, és ezzel kész.

Saját projekt és CxImage

(Ha frissen van letöltve, akkor előbb le kell fordítani külön)

Kódba: #include "ximage.h"

Projekt, tulajdonságok:
C/C++ -> Code Generation -> Runtime library : Multithreaded DLL
C/C++ -> General -> Additional Include Directories: C:\CxImage\CxImage
Linker -> Additional Library Directories: C:\CxImage\jpeg\Debug és C:\CxImage\CxImage\Debug
Linker -> Input -> Additional Dependencies: jpeg.lib és cximage.lib

VAGY

Tools -> Options -> Projects and Solutions -> VC++ Directories
Include Files: Berakni a fentiek közül az include-ost.
Library Files: Berakni a fentiek közül a két library-st.
Így új projektnél nem kell hozzáadni könyvtárakat, csak a két a két .lib-t a linkerbe.

Ha az elején nem szedem ki a JPEG támogatáson kívül mindent, akkor az összes támogatott képformátum könyvtárát és libjét be kell rakosgatni...

Saját projekt és SDL

Kódba:
#include "SDL_net.h"
#include "SDL_image.h"

SDL.h azért nem szükséges, mert az SDL_net.h behívja, de az SDL.lib mindenképpen kell.

Projekt, tulajdonságok:
C/C++ -> Code Generation -> Runtime library : Multithreaded DLL
C/C++ -> General -> Additional Include Directories: C:\sdl\include
Linker -> Additional Library Directories: C:\sdl\lib
Linker -> Input -> Additional Dependencies: SDL.lib, SDL_net.lib, SDL_image.lib és SDLmain.lib

VAGY

Lásd fent, megfelelő könyvtárakat a megfelelő helyre.

SDL.dll, SDL_net.dll, SDL_image.dll és jpeg.dll fileokat be kell másolni a projekt mappába.

OpenCV

Installing OpenCV setting OpenCV 2.10 up with Visual Studio 2008 on Windows

Egyéb

Annyira elvagyok, hogy csináltam egy progit :DDD:


screenshot

( Augusztus 9-ei adásnak vége )

Hozzászólások

(#1) Cucuska2


Cucuska2
őstag

Akkor most ez a szakdolid?

Rock and stone, to the bone! Leave no dwarf behind!

(#2) Ice!?


Ice!?
őstag

irigylem a tudásod.:)

(#3) Elrood válasza Cucuska2 (#1) üzenetére


Elrood
őstag

Az, de a vége még ismeretlen, attól függ mennyire sikerül pár dolog.

(#2): Azé túlzásokba ne essünk :). Nem nulláról kellett kitalálnom az egészet, találtam pár segítséget, tutoriált, és példákat.

Ráadásul ez még csak az első "bukta" volt, a nehezebbek még ezután jönnek...

[ Szerkesztve ]

''The spice exists on only one planet in the entire universe. A desolate, dry planet with vast deserts. The planet is Arrakis, also known as DUNE.''

(#4) Ice!? válasza Elrood (#3) üzenetére


Ice!?
őstag

ha azt nézzük, hogy én az egészből mindössze pár szót értek, akkor igenis van miért "túlzásokba esni".:D

amúgy ezt a szakdogát mi célból, kinek írod?

[ Szerkesztve ]

(#5) Elrood válasza Ice!? (#4) üzenetére


Elrood
őstag

Mi célból? Hát, hogy diplomát kapjak :D.
Kinek? Iskolának, hogy diplomát adjanak :D.

''The spice exists on only one planet in the entire universe. A desolate, dry planet with vast deserts. The planet is Arrakis, also known as DUNE.''

További hozzászólások megtekintése...
Copyright © 2000-2021 PROHARDVER Informatikai Kft.