OpenCV -cvNot(反色)

反色源码
// opencv1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"


////////////////////////////////////////////////////////////////////////
//
//
// 该程序从文件中读入一幅图像,将之反色,然后显示出来. 
//
////////////////////////////////////////////////////////////////////////
#include 
#include 
#include 
#include 
#include  
 
int main()
{
  IplImage* img = 0;       
  int height,width,step,channels;
  uchar *data;
  int i,j,k; 
 
  img=cvLoadImage("D:\\My Documents\\Desktop\\花草1.bmp",1);//读取图像
  // load an image  
  if(!img){
    exit(0);
  } 
 
  // get the image data
  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 a window
  cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); 
  cvMoveWindow("mainWin", 100, 100);// 
 
  // invert the image
  // 相当于 cvNot(img);
   IplImage *pDstImg = cvCreateImage(cvGetSize(img),img->depth,img->nChannels);
   cvNot(img, pDstImg);
 // for(i=0;i

 反色函数用C++编写源代码文件如下

// opencv1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"


////////////////////////////////////////////////////////////////////////
//
//
// 该程序从文件中读入一幅图像,将之反色,然后显示出来. 
//
////////////////////////////////////////////////////////////////////////
#include 
#include 
#include 
#include 
#include  
 
int main()
{
  IplImage* img = 0; 
  int height,width,step,channels;
  uchar *data;
  int i,j,k; 
 
  img=cvLoadImage("D:\\My Documents\\Desktop\\花草1.bmp",1);

  // load an image  
  if(!img){
    exit(0);
  } 
 
  // get the image data
  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 a window
  cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); 
  cvMoveWindow("mainWin", 100, 100); 
 
  // invert the image
  // 相当于 cvNot(img);
   //IplImage *pDstImg = cvCreateImage(cvGetSize(img),img->depth,img->nChannels);
   //cvNot(img, pDstImg);
  for(i=0;i

两个效果如下:
OpenCV -cvNot(反色)_第1张图片

你可能感兴趣的:(OpenCV)