C/C++

Ajánlat videofeldolgozás fejlesztőknek!

Fórumok

Sziasztok!

Találtam egy (számomra) remek fejlesztői könyvtárat.Unicap néven fut. Egész kellemesen használható. Mindenkinek ajánlom a figyelmébe. Úgy látom gpl licences. A tudása jócskán elmarad az opencv-től, de az alapok remekül mennek neki, tud képet pufferelni, menteni, overlay-t ...... és ami lényeg v4l2-t támogatja, ez az opencv-nél tudtommal nem igazán támogatott (de lehet rosszul tudom). Na szóval nekem kifejezetten tetszik, és gyors is. Akinek van ezzel a libbel kapcsolata örömmel venném ha megsztaná velem.

C# vs. Delphi

Fórumok

Sziasztok !

C# vs. Delphi.....
Erről érdekelne a véleményetek. Érvek, ellenérvek...
Melyiket érdemes választani, s ha azt, akkor miért ?
Ebben a témában várom a részletes hozzászólásokat....

Qt - socket és thread

Fórumok

Sziasztok!

Qt (4.3.4) segítségével írok egy kliens-szerver alkalmazást.
Két problémám merült fel, melyben a segítségeteket szeretném kérni.
Már több fórumon is átolvastam az erre vonatkozó témákat, de nem jutottam sokkal előbbre.

1. A klienstől érkező adatokat a szerver nem mindig fogadja.
A kliens sikeresen csatlakozik a szerverhez. Van amikor a szerver sikeresen fogadja az adatot, de legtöbbször nem. Wiresharkkal megnéztem, hogy mi történik, a kliens minden esetben elküldi az adatot.
Több kliens egy időben való párhuzamos kiszolgálása érdekében QThread-eket használok. Ha egy kliens csatlakozik, akkor létrejön neki egy thread, amely run metódusa a következő:


void ServerThread::run()
{
	tcpSocket = new QTcpSocket();
	if (!tcpSocket->setSocketDescriptor(socketDescriptor))
	{
		emit error(tcpSocket->error());
		return;
	}
	connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(recv()));
	exec();
}

Amikor a fogadás nem történik meg, akkor a tcpSocket nem is küld readyRead() signalt, tehát nem a recv() fv-ben van a hiba.
Valakinek van tippje, hogy mi lehet a probléma oka? Arra sem sikerült rájönnöm, hogy mitől függ, hogy a server fogad adatot vagy nem.

2. A másik problémámat pedig a szálak okozzák.
A ServerThread osztálynak van egy send() metódusa, amelyben a tcpSocket write() metódusát hívom meg (a tcpSocket objektum a run()-ban lett létrehozva). Ekkor a következő üzenetet kapom: "QObject: Cannot create children for a parent that is in a different thread. (Parent is QNativeSocketEngine(0x8093530), parent's thread is ServerThread(0x808a280), current thread is QThread(0x8052740)"
Ez a probléma akkor van, ha a szerver küld a kliensnek. Erre mit tudtok javasolni? Azt nem tudtam megoldani, hogy egy szálon legyenek, mert GUI-s programról van szó, így valahol mindenképpen meg kell hívni egy másik szálbeli metódust.

Előre is köszönöm a válaszokat!

C# - VS2005 - Firewire - videó feldolgozás

Fórumok

Sziasztok!

Akarok írni egy képmixert, és ehhez arra lenne szükségem, hogy tudjam fogadni egy firewire kártya több portjáról is a DV vagy HDV jeleket, majd ezt feldolgozni ( rögzíteni egy fájlba hangkártyán bejövő hanggal )

erre a firewire és hangkártyás cuccra léteznek DLL-ek?
illetve a fájlba rögzítéshez is, mert nyílván nem csak abból áll, hogy az adatfolyamot benyomom egy fájlba, hanem annak a fájlnak egy megfelelő szerkezettel kell rendelkeznie ( fejléc, formátum, ...stb.)

Köszi.
MysteryKe.

jah, OHCI kártyákról van szó.

Xorg 7.3 egér kezelése programból

Fórumok

Sziasztok,

Szeretném egy C alapú programból módosítani az egér mutató helyét
X alatt. Valahova átugrani, kattintani adott pozíción, esetleg
drag and dropot definiálni.

Pl:
Az egér ugorjon a képernyő 80x120-as képpontjára. Itt lenyomom az
egér bal gombját. Áthúzom a 900x200-as képpontra és ott elengedem
a gombot. Vagy csak szimplán kattintani egy megadott pontra.

Persze azt is szeretném kiolvasni, hogy a jelenleg mi az adott felbontás.

Van ötletetek hogyan álljak neki?

[ Esetleg ha valaki írt már xorg input drivert nekem az arra szóló
tippek/címek is jól jönnének. Eddig én ezt találtam:
http://www.x.org/wiki/Development/Documentation/InputEventProcessing ]

Pepe

Eclipse + QT

Fórumok

Tisztelt publikum!

Nem olyan rég kezdtem el foglalkozni a fenti párossal régebben delphit használtam és ott volt néhány kényelmi funkció amit nem találok az eclipse -ben. Nagy érdekelne hogy tudom az alábbiakat megoldani:

Kód kiegészítés formoknál nem megy tapasztalatom szerint.
Ha készítek egy formot amin sok-sok vizuális elem van majd kódból hivatkozni akarok rá akkor nem egészíti ki!
pl.: Ha szeretnék egy ilyen utasítást létrehozni: ui.label1->setText() akkor ui. + -re nem jön fel semmi! (normál változóknál működik)

Hibakeresés változó tartalmának megtekintése nem megy
Van egy QString típusú változóm szeretném a tartalmát megnézni hibakeresés közben, rendben meg áll a törésponton ott a változóm, de csak pointert kapok. Hogyan tudom megnézni a tartalmát ?

Deklaráció -ból hogyan tudok vázat készíteni?
Osztály váz létrehozásában segít az eclipse, de ha azt osztályban új tag függvényt akarok létrehozni headerben megadom a függvény nevet paramétereket akkor van-e rá lehetőség hogy egy gombnyomásra elkészítse a cpp-ben a vázát?

Program verziók:
- Qt: 4.4.0
- Eclipse Version: 3.3.2
Build id: M20080221-1800
- Qt C++ Eclipse Integration Version: 1.4.0
- Platform : Ubuntu linux 8.04

Előre is köszönök minden építő jellegű választ!

Qt konzolos alkalmazás + DBus

Fórumok

Kedves Fórumtársak!

Egy olyan programot kellene írnom, ami Qt-t használ, és a DBus-ra is csatlakozik, és ott egy másik programmal beszélget.
A programhoz - szerintem - felesleges a gui, így konzolos appot szeretnék készíteni, de belefutottam pár nehézségbe:

- nincs főablak
- a

QDBusAbstractAdaptor::QDBusAbstractAdaptor ( QObject * obj )

konstruktornak be kell adni valamilyen szülő objektumra egy pointert. Mivel nincs főablak, így nem tudom, hogy mit adjak át neki. Esetleg egy

QCoreApplication

objektumra való pointert tudok adni neki, van egy olyan megérzésem, hogy azt nem szeretné.

Van valakinek tapasztalata ilyesmivel? Mit érdemes tennem. Minek a referenciáját adjam be a

QDBusAbstractAdaptor

konstruktorának?

A segítséget előre is köszönöm!
János

Videograbber lib (vagy bármi hasonló) linuxra.

Fórumok

Sziasztok!

Borland C++-ban megírtam egy fejlődéskövető programot (lényegében képanalízis) a legnagyobb csalódás a programnyelvek közül, amivel eddig megismerkedtem. A heroinnal túllőt csiga hozzá képest kapkodó idegbeteg, linux alatt ultimate++-al ez a program 31* gyorsabb (tényel ennyi nem tupírozok, a kód pedig totál ugyanaz a megjelnítéstől eltekintve), de ott lemenetet képekből tudok csak dolgozni, bmp mindegyik de az mindegy. Na szóval keresek olyan függvénykönytárat, vagy bármit ami a /dev/videoX-ból relatíve jól kezelhető módon rgb-tömböket tud létrehozni a memóriában, mindegy hogy hogyan a lényeg az rgb értékek egy tömbe pakolása a kép elejétől a végéig, vagy valami apró trükk is jó, hogy ti hogyan csinálnátok. Előre is köszönöm nektek.

[MEGOLDVA] borland c, nem értem a problémát

Fórumok

Sziasztok!

A helyzet a következő.
van egy gomb amit ha megnyomok végrehalytódik egy eljárás. ez a következő képp néz ki.

void __fastcall TForm1::Button13Click(TObject *Sender)
{
detect2();
}

a detect függvény (helyesebben eljárás mert void):
void detect2 ()
{
..............
} szóval nem komplikált.

a detect2-nek szüksége van 2 további eljárásra amyalek a következő módon vannak létrehozva.

void alak (Graphics::TBitmap* bm)
{
........
}
//a b egy Tbitmap, mert képanalízist csinálok. nincs kedven folyton hurcolni mindenhova ezért globárisra deklarálom. lehet nem a leg legánsabb, de praktikus.Így:
Graphics::TBitmap* b = new Graphics::TBitmap(); ezt kaja meg a bm.

void ujfiuk ()
{
........
}

ha a bármely függvényt gombnyomásra hívok akkor frankón lefutnak. ha a függvény hívja a második függvényt ami neki kell akkor azt a hibaüzit kapom, hogy nem deklarált függvényhívás. Na ez a hívogatás ANSI-cben simán működik. Itt is biztosan van rá megoldás, hogy ne kelljen egy hatalmas mamutot csinálnom copy-paste-vel (bemásolom a függvények tartalmát a hívás helyéra akkor is megy, de akkor lesz vagy 2000000-soros a kód).

Ötlet valakinek?

Ui: Ja ha bent vannak a headerben, ha nem, ha public, ha private, ugyanez a helyze.
UI2: Gondoltam, hogy én rontottam el, és így is volt. Mindegyiket az újfiú, és az alak, is jól volt deklarálva, a detect2 viszont nem ugyanis 2 ablakom van a detect2 az a 2.-formhoz volt hozzácsapva. Mindenkinek nagyon köszönöm.