Scheint es fehlt Ihnen grundlegende Kenntnisse der digitalen Bildverarbeitung, empfehle ich Ihnen dieses Buch. Digitale Bildverarbeitung (3rd Edition) Rafael C.Gonzalez/Richard E.Woods http://www.amazon.com/dp/013168728X
für den Basisbetrieb OpenCV mit (was ich vertraut bin mit), hier ein Beispiel:
/*
function:image reverse
*/
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
IplImage* img = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;
if(argc<2)
{
printf("Usage: main <image-file-name>/n/7");
exit(0);
}
// Load image
img=cvLoadImage(argv[1],-1);
if(!img)
{
printf("Could not load image file: %s\n",argv[1]);
exit(0);
}
// acquire image info
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
printf("Processing a %dx%d image with %d channels/n",height,width,channels);
// create display window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
// reverse image
for(i=0;i<height;i++)
for(j=0;j<width;j++)
for(k=0;k<channels;k++)
data[i*step+j*channels+k]=255-data[i*step+j*channels+k];
// display reversed image
cvShowImage("mainWin", img);
cvWaitKey(0);
cvReleaseImage(&img);
printf("height=%d width=%d step=%d channels=%d",height,width,step,channels);
return 0;
}
Sie möchten Bilder manipulieren, ohne eine vorgefertigte Bibliothek zu verwenden? Du hast einen sehr, sehr langen Weg vor dir. Es wird kein Tutorial dafür geben. Sie müssen die JPG-Spezifikation lesen, die Theorie hinter imaginären Manipulationen verstehen (es sei denn, Sie machen einfache Dinge wie das Beschneiden) und diese Manipulationen dann auf das spezifische Format von JPG anwenden. Und dann müssen Sie für PNG, GIF, etc. wiederholen. – Corbin
Wenn Ihr Ziel ist Bild * Verarbeitung * sollten Sie mindestens auch eine Bibliothek verwenden, um Bilder aus verschiedenen Container-Formate wie PNG, JPEG, TIFF, ... zu laden . Diese haben mit der Verarbeitung nichts zu tun. Daneben ist diese Frage natürlich viel zu weit gefasst, benutze Google. – KillianDS
Wenn Ihr Hauptziel ist, digitale Bildverarbeitung zu lernen, empfehle ich Ihnen, Matlab anstelle von C++ zu verwenden. – Korchkidu