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):
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); }
La domanda è dove mettere la mia matrice e in che maniera?
In realtà mi dovrebbe venire fuori un'immagine con delle nuove variabili per ogni pixel...sto procedendo bene?