Ciao vorrei sapere come devo fare per sostituire i valori dei pixel RGB di una immagine in valori che si trovano tramite una matrice...
Finora sono arrivato qui (devo usare per forza le opencv):
La domanda è dove mettere la mia matrice e in che maniera?codice:#include <highgui.h> #include <cxcore.h> #include <cv.h> #include <iostream> #include <string.h> #include <stdio.h> int main (void) { unsigned char Red, Green, Blue; int CounterX, CounterY; IplImage *src; char name [255]="c:\\lena.png"; //questa l'immagine che carico cvNamedWindow("window src",CV_WINDOW_AUTOSIZE); src=cvLoadImage(name,1); for (CounterY=0; CounterY<src->height; CounterY++) { for (CounterX=0; CounterX<src->width; CounterX++) { Red = *((unsigned char*)(src->imageData + src->widthStep*CounterY) + 3*CounterX + 2); Green = *((unsigned char*)(src->imageData + src->widthStep*CounterY) + 3* (CounterX) + 1); Blue = *((unsigned char*)(src->imageData + src->widthStep*CounterY) + 3*CounterX + 0); } cvShowImage("window src", src); cvWaitKey (0); cvDestroyWindow("window src"); cvReleaseImage (&src); }
In realtà mi dovrebbe venire fuori un'immagine con delle nuove variabili per ogni pixel...sto procedendo bene?

Rispondi quotando

