天天看點

IplImage和Mat通路圖像中每個像素

opencv1.0,IplImage類型存儲圖像資料,3通道

void print_img(IplImage* img)
{
    int x,y;
    FILE *file;
    file = fopen("1.txt", "w");
    uchar* data = (uchar *)img->imageData;
    int step = img->widthStep / sizeof(uchar);
    int channels = img->nChannels;
    for (int i = ; i<img->height; i++)
        for (int j = ; j<img->width; j++)
        {
            fprintf(file, "%d %d %d ", data[i*step + j*channels + ], data[i*step + j*channels + ], data[i*step + j*channels + ]);
        }
    fclose(file);
}
           

opencv2.4.9,Mat類型存儲圖像資料,3通道

void print_img(Mat img)
{
    int x,y;
    FILE *file;
    file = fopen("1.txt", "w");
    for (int x = ; x<img.rows; x++)
    {
        for (int y = ; y<img.cols; y++)
        {
            fprintf(file, "%d %d %d ", img.at<Vec3b>(x, y)[], img.at<Vec3b>(x, y)[], img.at<Vec3b>(x, y)[]);
        }
    }
}