Archive for april, 2011

Torrent downloaden in Ubuntu

0

torrent

Enkele posts geleden hebben we je uitgelegd wat nu juist een torrent is? Dit kan je hier nog eens na lezen. Wat we nu zien is hoe je een torrent kan downloaden op Ubuntu. Later zal er nog een post volgen met de uitleg over hoe we dit kunnen doen op een Windows machine. Voor het downloaden van een torrent op Ubuntu maken we gebruik van het gratis (zoals bijna alles op ubuntu:) ) programma Transmission.

Via Synaptic pakketbeheer of via het Ubuntu Softwarecentrum is Transmission zeer gemakkelijk te installeren. Eenmaal de installatie gedaan is kan je een torrent bestand zoeken dat je wilt downloaden. In deze post willen we bijvoorbeeld de nieuwe beta van ubuntu downloaden via torrent.

  1. Het het downloaden van het .torrent bestand
    torrent
  2. Dan dubbelklik je op het bestand. Je zal zien dat Transmission wordt opgestart.
  3. (more…)

Cppunit installeren op Ubuntu

0

cppunit

Toen ik onlangs een C++ project aan het maken was kwam ik op het gedacht dat het eigelijk makkelijk zou zijn om Unit tests voor mijn project te maken. Telkens je dan iets gewijzigd hebt dan kan je door je unittest te laten runnen kijken of alle andere code die je voordien geschreven hebt nog werkt. Wat dus zeer handig is bij grote projecten waar meerdere mensen aan werken. In plaats van alles zelf te gaan controleren na een update van iemand anders kan je gewoon je unittests gebruikten.

Na even op internet te kijken leek CppUnit mij het beste voor een C++ project. De installatie gaat zoals altijd op verschillende manieren.

Via Ubuntu Softwarecentrum

Als je in het software centrum “cppunit” intipt krijg je een hele lijst van software. Diegene die in het groen aangevinkt zijn in onderstaande foto moet je installeren.

cppunit

Na deze alle drie geïnstalleerd te hebben kan je beginnen met het schrijven van Unit tests voor jouw project.

(more…)

Converteer Qt QImage naar OpenCV IplImage en vise versa

0

Sinds kort ben ik bezig met een project voor het ontwikkelen van een vision applicatie voor robot. Voor het vision gedeelte maak ik gebruik van OpenCV. Bij mijn applicatie wou ik natuurlijk een mooie Grafische User Interface. OpenCV heeft natuurlijk zijn eigen GUI namelijk highgui maar deze is vrij beperkt. Daarom ging ik op zoek naar een ander User Interface framework en kwam uiteindelijk terecht bij het Qt framework.

Het enige probleem was wel de OpenCV en Qt hun afbeeldingdata intern anders voorstellen. Na een moeilijke zoektocht op internet heb ik uiteindelijk twee functies die een QImage naar een IplImage converteren en omgekeerd. Dus om jullie al dit zoekwerk te besparen post ik hier de functies:

QImage naar IplImage

IplImage* QImage2IplImage(QImage *qimg) {

IplImage *imgHeader = cvCreateImageHeader( cvSize(qimg->width(), qimg->height()), IPL_DEPTH_8U, 4);
imgHeader->imageData = (char*) qimg->bits();

uchar* newdata = (uchar*) malloc(sizeof(uchar) * qimg->byteCount());
memcpy(newdata, qimg->bits(), qimg->byteCount());
imgHeader->imageData = (char*) newdata;
//cvClo
return imgHeader;
}

IplImage naar QImage

QImage*  IplImage2QImage(IplImage *iplImg){
int h = iplImg->height;
int w = iplImg->width;
int channels = iplImg->nChannels;
QImage *qimg = new QImage(w, h, QImage::Format_ARGB32);
char *data = iplImg->imageData;
<blockquote>for (int y = 0; y &lt; h; y++, data += iplImg-&gt;widthStep)
{
for (int x = 0; x &lt; w; x++)
{
char r, g, b, a = 0;
if (channels == 1)
{
r = data[x * channels];
g = data[x * channels];
b = data[x * channels];
}
else if (channels == 3 || channels == 4)
{
r = data[x * channels + 2];
g = data[x * channels + 1];
b = data[x * channels];
}

if (channels == 4)
{
a = data[x * channels + 3];
qimg-&gt;setPixel(x, y, qRgba(r, g, b, a));
}
else
{
qimg-&gt;setPixel(x, y, qRgb(r, g, b));
}
}
}
return qimg;

}

(more…)

Go to Top