C++ program linux alá
2008-05-15T19:52:48+02:00
2008-05-16T18:57:01+02:00
2022-07-26T00:27:24+02:00
  • Ismerős :) elte? ik? robotika?
    Mutasd a teljes hozzászólást!
  • mindegy, már megkaptam a szükséges válaszokat...
    köszi mindenkinek!
    Mutasd a teljes hozzászólást!
  • most mi a gond?
    Mutasd a teljes hozzászólást!
  • miért nem lehet manapság programot fejleszteni anélkül, hogy elmondaná az ember, hogy pontosan mire kell?!?!?!


    Nem kell.
    Meg kell tanulni keredzni.
    A krdesd fltvsbol pontossan latszik nm az OS a lggyngbb lancszm!
    Mutasd a teljes hozzászólást!
  • miért nem lehet manapság programot fejleszteni anélkül, hogy elmondaná az ember, hogy pontosan mire kell?!?!?!

    pedig én csak induló ötleteket szerettem volna kapni azokból a dolgokból, amiket nem tudok. mivel a projekt alapját már megírtam, kész van az algoritmus is...

    de tessék, így talán mindenki tudni fogja, miről van szó:
    link1
    link2
    Mutasd a teljes hozzászólást!
  • Cseppet sem vagyok tapasztalt képfeldolgozásban, de PC kategóriájú gépeken a real-time-szerű munkaszervezést alapból elkerülném.

    Nem beszélve arról, hogy ha valóban sebesség problémák vannak, egy megosztott rendszerben több a skálázhatósági lehetőség (pl. párhuzamos feldolgozás...)

    eMeL
    Mutasd a teljes hozzászólást!
  • Ha tényleg csak az érdekel, hol piros a kép felesleges eltárolni a teljes képet.

    Én ráülnék a kamera driverére. Ami a jelet a következő kép adja, kép/sor kezdet, képpont RGB.
    Megfejelheted, hogy a kamera elé teszel egy színszűrőt, ami csak a pirosat engedi át, így árnyalatokkal sem kell kínlódni.
    Mutasd a teljes hozzászólást!
  • A delphi szvsz nagyjából hasonló sebességű kódot produkál mint a GNU C++. Én anno a Kylix-szal hasonlítgattam linuxon, de a compiler kb. ugyanaz a Delphiben is.
    Mutasd a teljes hozzászólást!
  • sajnos ez az opencv csak 32bit-en működik...
    szerintem magamtól kell majd megírni a teljes képfeldolgozást...
    Mutasd a teljes hozzászólást!
  • természetesen minden szét lesz bontva. egyébként ez a képfeldolgozó rész egy nagyobb program egyik modulja...

    jelenleg még tanácstalan vagyok a kamerát és az összekapcsolást illetően. két megoldást találtam eddig:
    - a kamera firewire-n keresztül egy tárhelyre dobálja be a képeket (30 frame/sec), és a képfeldolgozó egység onnan olvassa be (itt újabb kérdés merül fel: textfájlként olvassam be, és úgy vizsgáljak meg minden pixelt, vagy bitmap-ot használjak, és ott vizsgálgassak)
    - a kamera közvetlenül a programnak adja át a képeket, és azonnali feldolgozásra kerül

    elsősorban a tapasztaltabbak véleményét várom (pl Weasley01), de szívesen meghallgatok bármilyen tanácsot.

    ha azt mondjátok, hogy win alatt ugyanúgy futna, mint linux alatt, akkor a nyelv is mindegy? (mert delphiben fele annyi időbe telne megírni...) vagy mindenképpen c++?
    Mutasd a teljes hozzászólást!
  • Alapvetően úgy hogy elválasztod a kép feldolgozó részt, a grafikus interfészt és a videó elérését biztosító részt. A képfeldolgozó mindenütt egyforma. A grafikus interfész ha multiplatform rendszert használsz (Pl. Qt, wxWidgets) akkor szintén platformfüggetlen. A video elérése platformfüggő, linuxon a v4l2 nevű dolgon keresztül lehet hozzáférni ha jól tudom, míg windowson nem tudom, talán valahogy a DirectX segítségével.
    Mutasd a teljes hozzászólást!
  • Szia!

    Én írtam már képfeldolgozó programot Windows alatt ami tudott 30 frame/sec-et feldolgozni. A feldolgozás sebességét leginkább az fogja meghatározni, hogy mit csinálsz képfeldolgozás során. Hány lépésben és milyen műveleteket hajtasz végre a bemeneti képeiden.

    Ha te írod meg a bitképek manipulálását feltehetően jóval lassabban fog műküdni mintha egy képfeldolgozó libet használnálsz. Amit már sokan teszteltek, fejlesztettek, optimalizáltak.

    Én ezt a libet használtam: opencv
    Tud webkamera képeket kezelni, ...

    Készítettem mellé egy konvertert ami az OpenCV-s bitmapet VS .NET-es bitmappé konvertálja. Így az OpenCv végezte a feldolgozás nagy részét, a .NET GUI-n pedig látta a user az eseményeket és vezérelhette a progit.

    Valamint az OpenCV platformfüggetlen.

    Szóval én az OpenCV VS párost ajánlom, és majd amikor megírod a képfeldolgozó algoritmusod akkor dől el, hogy tartható-e a 30 frame/sec
    Mutasd a teljes hozzászólást!
  • és azt hogyan kell? - pont erre lennék kiváncsi...
    Mutasd a teljes hozzászólást!
  • igen

    Ha ügyes vagy, akkor meg tudod csinálni a vc++ -xal úgy, hogy kattogjon linuxon is.
    Mutasd a teljes hozzászólást!
  • még mielőtt valaki félreértené a dolgot: azért érdeklődtem a tanácsaitok iránt, mert ebben nem vagyok jártas. nem pedig azért, hogy fikázzanak a tudatlanságom miatt. tisztelet a kivételnek (szerencsére többen vannak)...

    akkor azt javasoljátok, hogy maradjak a win-nél?
    és nyelv? vc++?
    Mutasd a teljes hozzászólást!
  • még mindig a wint javaslod?


    NNem irj egy uj OS-t egy uj programnyelvet ami kimondottan grafikus feldolgopzasra lesz.
    Akkor gyorsabb lesz aprocid es a tobbi hw elem.

    Mutasd a teljes hozzászólást!
  • még mindig a wint javaslod?


    Szerintem a CPU nem lesz gyorsabb Linux alatt, amúgy meg a GCC általában lassabb kódot fordít, mint az MSC.

    Az meg, hogy lehessen dolgozni a gépen a képfeldolgozás ideje alatt is, csak a feldolgozó szálak prioritásán múlik.

    Egyébként nem vagyok Linux-ellenes, nagyon szeretem a Linuxot, de emiatt szerintem nem érdemes egy másik rendszert megtanulni.
    Mutasd a teljes hozzászólást!
  • a linuxok alapjából véve munka-oprendszerek (legalábbis arra használják őket többségében). javíts ki ha tévedek...

    1 640*480-as bmp közel 1 mega. na most ebből 30-at kell feldolgozni másodpercenként úgy, hogy a többi szál és egyéb processek is kényelmesen futhassanak...
    linuxon gondolom jobban fog menni.

    képfeldolgozás: a bittérképet tekintsük egy mátrixnak. nekem azt kell elmenteni az adatbázisba, hogy például melyik sor melyik oszlopában van piros szín - ami majd további feldolgozásra kerül.

    legyen a példa ugyanaz a 300 kép, és legyen benne 20db piros pixel. ekkor ez azt jelenti, hogy 10 másodperc alatt át kell nézni minden pixelt (640*480*300), valamint 300*20 bejegyzést kell beírni az adatbázisba.

    még mindig a wint javaslod?
    Mutasd a teljes hozzászólást!
  • Azért kell alá linux, mert 30 képet kellene feldolgozni másodpercenként...




    Persze azt jo volna tudni, hogy mit ertesz feldolgozas alatt.
    De semmikeppen sem OS fuggo!
    Mutasd a teljes hozzászólást!
  • Az nem a linuxtól függ... Vegyél a NASA -tól egy gépet és menni fog :)
    Jobban jársz akkor a VC++ -al.
    Mutasd a teljes hozzászólást!
  • Saját részre lesz egy képfeldolgozó program.
    Pontosabban: egy videokamera képeit fogja feldolgozni, majd egy adatbázisba bepakolja a lényeget. GUI nem sok kell, csupán egy "form", amin a keresési feltételeket tudom állítani, és az aktuális képet mutatja.

    Azért kell alá linux, mert 30 képet kellene feldolgozni másodpercenként...
    Mutasd a teljes hozzászólást!
  • Azért esetleg leírhatnád, milyen jellegű programot akarsz írni?

    * 3D játékprogram
    * matematikai alkalmazás minimális GUI-val vagy anélkül
    * TCP szerver
    * egyszerű kártyás vagy hasonló játék
    * könyvelő/ügyviteli program
    * beágyazott rendszer vezérlőszoftvere
    * webáruház
    * akármi

    Többnyire mindegyikhez célszerű valami spec. könyvtárat, környezetet használni.
    Mutasd a teljes hozzászólást!
  • jah sztem is pakolj fel egy linuxot. IDE: Ultimate++ vagy KDevelop (egyiket se ismerem de linuxos berkekben ezeket emlegetik jó C++ IDE-ként)
    Mutasd a teljes hozzászólást!
  • A Qt a te barátod. Elvileg független, van saját designere de ha jól tudom vs2005 -be bele lehet integrálni. A nagy hátránya, hogy ha el is fogod adni a programot akkor mélyen a zsebedbe kell nyúlni a licenszhez. Nyílt forráskódú programhoz viszont ingyenes.Itt megtalálsz mindent.
    Igazából jobban jársz, ha felraksz egy linuxot és az alatt fejlesztesz akkor nem ér (annyi) meglepetés.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Egy programot fogok fejleszteni C++ -ban, linux alá. Ilyet még sosem csináltam, ezért tanácsokra lenne szükségem.

    1. Tudok fejleszteni windows-ban, amit utánna linux-on fogok futtatni (avagy tudok-e ily módon programot fejleszteni)?

    2. Visual Studio alkalmas-e erre a célra?

    3. Ha nem, akkor miben kellene neki kezdenem?

    Eddig csak Delphi-ben írtam progikat win alá, így ezen a téren teljesen új vagyok (de C és C++ ismereteim vannak)...

    Előre is köszi!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd