equalizehist.c

来自「opencv 中科院数字图像处理入门教程」· C语言 代码 · 共 46 行

C
46
字号
/************************************************************ *使用OpenCV进行直方图均衡化的例子 *作者:于仕琪<shiqi.yu@gmail.com> ************************************************************/#include <stdio.h>#include <cv.h>#include <highgui.h>int main(int argc, char ** argv){  char * filename = (argc>1)? argv[1]:"baboon.jpg";  IplImage * pSrcImage = NULL;  IplImage * pDstImage = NULL;  //装入图像,转换为单通道  if(!(pSrcImage = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE)))    {      fprintf(stderr, "Can not open file %s\n", pSrcImage);      fprintf(stderr, "Usage: %s <image file name>\n", argv[0]);      return -1;    }  //创建输出图像  if(!(pDstImage = cvCloneImage(pSrcImage)))    {      fprintf(stderr, "Can not create image.\n");      return -1;    }  //直方图均衡化  cvEqualizeHist(pSrcImage, pDstImage);  //显示结果  cvNamedWindow("Source", CV_WINDOW_AUTOSIZE );  cvNamedWindow("Result", CV_WINDOW_AUTOSIZE );  cvShowImage("Source", pSrcImage);  cvShowImage("Result", pDstImage);  cvWaitKey(0);  //释放图像并退出  cvDestroyAllWindows();  cvReleaseImage(&pSrcImage);  cvReleaseImage(&pDstImage);  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?