int XinDaoFenGe()
{
IplImage *pImageChannel[4] = { 0, 0, 0, 0 };
IplImage *pImageColor[4] = { 0, 0, 0, 0 };
IplImage *pSrcImage = cvLoadImage( "D:\\lena.jpg", 1 ) ;
printf("nChannels %d",pSrcImage->nChannels);
IplImage *pImage = cvCreateImage(cvGetSize(pSrcImage), pSrcImage->depth, pSrcImage->nChannels);
if( pSrcImage )
{
for( int i = 0; i < pSrcImage->nChannels; i++ )
{
pImageChannel[i] = cvCreateImage( cvGetSize(pSrcImage), pSrcImage- >depth, 1 );
pImageColor[i] = cvCreateImage( cvGetSize(pSrcImage), pSrcImage->depth, 3 );
}
cvSplit( pSrcImage, pImageChannel[0], pImageChannel[1],pImageChanne[2], pImageChannel[3] );
cvMerge(pImageChannel[0],NULL, NULL,NULL, pImageColor[0] );
cvMerge( NULL, pImageChannel[1],NULL,NULL, pImageColor[1] );
cvMerge( NULL, NULL,pImageChannel[2],NULL, pImageColor[2] );
}
cvNamedWindow("b",CV_WINDOW_AUTOSIZE);
cvShowImage("b",pImageColor[0]);
cvNamedWindow("g",CV_WINDOW_AUTOSIZE);
cvShowImage("g",pImageColor[1]);
cvNamedWindow("r",CV_WINDOW_AUTOSIZE);
cvShowImage("r",pImageColor[2]);
cvWaitKey(0);
cvReleaseImage(&pImageChannel[0]);
cvReleaseImage(&pImageChannel[1]);
cvReleaseImage(&pImageChannel[2]);
cvReleaseImage(&pSrcImage);
cvDestroyWindow("r");
cvDestroyWindow("g");
cvDestroyWindow("b");
return 0;
}
{
IplImage *pImageChannel[4] = { 0, 0, 0, 0 };
IplImage *pImageColor[4] = { 0, 0, 0, 0 };
IplImage *pSrcImage = cvLoadImage( "D:\\lena.jpg", 1 ) ;
printf("nChannels %d",pSrcImage->nChannels);
IplImage *pImage = cvCreateImage(cvGetSize(pSrcImage), pSrcImage->depth, pSrcImage->nChannels);
if( pSrcImage )
{
for( int i = 0; i < pSrcImage->nChannels; i++ )
{
pImageChannel[i] = cvCreateImage( cvGetSize(pSrcImage), pSrcImage- >depth, 1 );
pImageColor[i] = cvCreateImage( cvGetSize(pSrcImage), pSrcImage->depth, 3 );
}
cvSplit( pSrcImage, pImageChannel[0], pImageChannel[1],pImageChanne[2], pImageChannel[3] );
cvMerge(pImageChannel[0],NULL, NULL,NULL, pImageColor[0] );
cvMerge( NULL, pImageChannel[1],NULL,NULL, pImageColor[1] );
cvMerge( NULL, NULL,pImageChannel[2],NULL, pImageColor[2] );
}
cvNamedWindow("b",CV_WINDOW_AUTOSIZE);
cvShowImage("b",pImageColor[0]);
cvNamedWindow("g",CV_WINDOW_AUTOSIZE);
cvShowImage("g",pImageColor[1]);
cvNamedWindow("r",CV_WINDOW_AUTOSIZE);
cvShowImage("r",pImageColor[2]);
cvWaitKey(0);
cvReleaseImage(&pImageChannel[0]);
cvReleaseImage(&pImageChannel[1]);
cvReleaseImage(&pImageChannel[2]);
cvReleaseImage(&pSrcImage);
cvDestroyWindow("r");
cvDestroyWindow("g");
cvDestroyWindow("b");
return 0;
}