OpenCV对图像的光照归一化处理
【摘要】 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <string> using namespace s...
- #include <cv.h>
- #include <highgui.h>
- #include <stdio.h>
- #include <string>
- using namespace std;
- void main()
- {
- int i;
- IplImage *pImageChannel[4] = {0,0,0,0};
- int count = 15;
- char *name = new char;
- while(count<=17)
- {
- string FileName = "S010_001_015942";
- itoa(count,name,10);
- FileName = FileName + name;
- FileName = FileName + string(".png");
- IplImage *pSrcImage = cvLoadImage(FileName.c_str());
- IplImage *pImage = cvCreateImage(cvGetSize(pSrcImage), pSrcImage->depth, pSrcImage->nChannels);
- if(pSrcImage)
- {
- for( i=0; i<pSrcImage->nChannels; i++)
- {
- pImageChannel[i] = cvCreateImage( cvGetSize(pSrcImage), pSrcImage->depth, 1);
- }
- // 信道分离
- cvSplit( pSrcImage, pImageChannel[0], pImageChannel[1],pImageChannel[2],NULL);
- for( i = 0; i < pImage->nChannels; i++ )
- {
- //直方图均衡化
- cvEqualizeHist(pImageChannel[i], pImageChannel[i]);
- }
- // 信道组合
- cvMerge( pImageChannel[0], pImageChannel[1], pImageChannel[2],NULL,pImage);
- // ……图像显示代码(略)
- // 释放资源
- for( i=0; i<pSrcImage->nChannels; i++)
- {
- if(pImageChannel[i])
- {
- cvReleaseImage( &pImageChannel[i] );
- pImageChannel[i] = 0;
- }
- }
- cvNamedWindow("1");
- cvShowImage("1",pImage);
- cvWaitKey();
- cvDestroyWindow("1");
- //
- string saveFile = ".\\002\\histgram\\";
- saveFile = saveFile + name;
- saveFile = saveFile + ".bmp";
- cvSaveImage(saveFile.c_str(),pImage);
- count++;
- cvReleaseImage( &pImage );
- }
- }
- }
为什么总在cvSaveImage那个函数出现错误:
OpenCV提高对比度.exe 中的 0x5f9ed7af (highgui200d.dll) 处未处理的异常: 0xC0000005: 读取位置 0xed4674bb 时发生访问冲突
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/55251758
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)