将代码中的图片路径换成实际路径即可。

#include "stdafx.h"

#include "cv.h"
#include "highgui.h"

#include <highgui.h> 
#include <cv.h> 
using namespace std;

int main(int argc, char** argv)
{
int k;
IplImage* src = cvLoadImage("..\\4_3.jpg", 1);
IplImage* imgChannel[4] = { 0, 0, 0, 0 };
IplImage* dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 3);

if (src)
{
for (k = 0; k < src->nChannels; k++)
{
imgChannel[k] = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1); //要求单通道图像才能直方图均衡化 
}
//通道分离 
cvSplit(src, imgChannel[0], imgChannel[1], imgChannel[2], imgChannel[3]);//BGRA 
cout << "dst->nChannels:" << dst->nChannels;
for (k = 0; k < dst->nChannels; k++)
{
//直方图均衡化,原始图像和目标图像必须是单通道 
cvEqualizeHist(imgChannel[k], imgChannel[k]);
}

//通道组合 
cvMerge(imgChannel[0], imgChannel[1], imgChannel[2], imgChannel[3], dst);
cvNamedWindow("src", 1);
cvShowImage("src", src);
cvNamedWindow("Equalize", 1);
cvShowImage("Equalize", dst);

cvWaitKey(0);
//释放资源 
for (k = 0; k < src->nChannels; k++)
{
if (imgChannel[k])
{
cvReleaseImage(&imgChannel[k]);
//imgChannel[i] = 0; 
}
}
cvReleaseImage(&dst);
}

return 0;
}

 

相关文章:

  • 2021-09-15
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
  • 2022-01-08
  • 2021-06-19
  • 2021-08-07
  • 2021-05-30
猜你喜欢
  • 2022-02-26
  • 2020-03-10
  • 2022-01-06
  • 2021-10-16
  • 2021-08-25
  • 2022-02-14
  • 2022-12-23
相关资源
相似解决方案