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 + -
显示快捷键?