且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

【OpenCV学习】图像反色

更新时间:2022-09-05 17:35:42

#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 :Invimage<image-file-name>/n/7");
        exit(0);
    }
    img = cvLoadImage(argv[1]);
    if (!img)
    {

        printf("Could not load image file:%s/n",argv[1]);
        exit(0);
    }
    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);
    cvNamedWindow("main",1);
    cvMoveWindow("main",100,100);
    for (i=0;i<height;i++)
    {
        for (j=0;j<width;j++)
        {
            for (k=0;k<channels;k++)
            {
                data[i*step+j*channels+k] = -data[i*step+j*channels+k];
            }
        }
    }
    cvShowImage("main",img);
    cvWaitKey(0);
    cvReleaseImage(&img);
    return 0;
}

本文转自gnuhpc博客园博客,原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/07/02/2573830.html,如需转载请自行联系原作者