繪製二值圖輪廓轉為RGB顯示輪廓顏色
阿新 • • 發佈:2019-02-13
1.將任意序列影象先轉為灰度圖獲取輪廓
2.轉為三通道圖
3.遍歷畫素點使輪廓顯示為彩色,其餘部分為白色
4.將結果按序儲存在資料夾中
//int main(int argc, char** argv)//{
// char filename[100];
// char filename1[100];
// for(int i=0;i<=23;i++)
//
// {
// //sprintf(filename,"F:/fighting/project/data/1-zhaoguohong Plan&Dose&Image/structure1/structure00%d.png",i);
// sprintf(filename,"F:/fighting/project/data/fcn_result1/4-%d.png",i);
// IplImage * src=cvLoadImage(filename,-1);
// //cvCvtColor(src,src,CV_BGR2GRAY);
// CvMemStorage *storage = cvCreateMemStorage(0);
// CvSeq * pcontour = 0;
// //IplImage* dst= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
// IplImage* dst= cvCreateImage(cvGetSize(src), src->depth, 1);
//
// //int mode = CV_RETR_EXTERNAL;
// int mode = CV_RETR_LIST;
// cvFindContours(src,storage,&pcontour,sizeof(CvContour),mode,CV_CHAIN_APPROX_NONE);
// CvScalar externalColor;
// CvScalar holeColor;
// //--------------畫輪廓----------------//
// for (; pcontour != 0; pcontour=pcontour -> h_next)
// {
// for (int i=0;i<pcontour->total;i++)
// {
// CvPoint *pt=(CvPoint*) cvGetSeqElem(pcontour,1);
// cvSetReal2D(dst,pt->y,pt->x,255.0);
// }
//
// //取得輪廓面積
// double contArea = fabs(cvContourArea(pcontour,CV_WHOLE_SEQ));
// //取得輪廓長度
// double contLenth = cvArcLength(pcontour,CV_WHOLE_SEQ,-1);
//
// holeColor=CV_RGB(255,255,255);
// externalColor=CV_RGB(255,255,255);
// cvDrawContours(dst,pcontour,externalColor,holeColor,1,1,8);
//
// }
//
// sprintf(filename1,"F:/fighting/project/data/fcn_result_contour/4-%d.png",i);
//
// IplImage* dst1= cvCreateImage(cvGetSize(dst), dst->depth, 3);
// cvCvtColor(dst, dst1, CV_GRAY2BGR);
//
// CvScalar s;
// for(int i=0;i<dst1->height;i++)
// {
// for(int j=0;j<dst1->width;j++)
// {
// s=cvGet2D(dst1,i,j); // get the (i,j) pixel value
//
// if(s.val[0]==255)
// {
// s.val[0]=0;
// s.val[1]=0;
// s.val[2]=255;
// cvSet2D(dst1,i,j,s);
// }
// else{
// s.val[0]=255;
// s.val[1]=255;
// s.val[2]=255;
// cvSet2D(dst1,i,j,s);
// }
// }
// }
//
// cvSaveImage(filename1,dst1);
// cvWaitKey();
//
// }
//}