opencv通道分离组合直方图均衡处理

网友投稿 560 2022-12-01

opencv通道分离组合直方图均衡处理

opencv通道分离组合直方图均衡处理

int EqualizeHist(char*path){ int i; IplImage* src = cvLoadImage( path, 1 ); IplImage* imgChannel[4] = { 0, 0, 0, 0 }; IplImage* dst = cvCreateImage( cvGetSize( src ), IPL_DEPTH_8U, 3 ); if( src ) { for( i = 0; i < src -> nChannels; i++ ) { imgChannel[i] = cvCreateImage( cvGetSize( src ), IPL_DEPTH_8U, 1 ); //要求单通道图像才能直方图均衡化 } //通道分离 cvSplit( src, imgChannel[0], imgChannel[1], imgChannel[2], imgChannel[3] ); for( i = 0; i < dst -> nChannels; i++ ) { //直方图均衡化,原始图像和目标图像必须是单通道 cvEqualizeHist( imgChannel[i], imgChannel[i] ); } //通道组合 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( i = 0; i < src -> nChannels; i++ ) { if( imgChannel[i] ) { cvReleaseImage( &imgChannel[i] ); //imgChannel[i] = 0; } } cvReleaseImage( &dst ); } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Linux云计算架构:第四阶段-Linux虚拟化-私有云-docker】第1章——Linux 桌面虚拟化技术 KVM
下一篇:QT之aes加解密
相关文章

 发表评论

暂时没有评论,来抢沙发吧~