opencv将二值图序列反转并腐蚀处理

这段代码演示了如何使用OpenCV读取一系列数字命名的图片,将非白色像素转换为白色,然后进行腐蚀处理。通过cvLoadImage加载图片,cvCvtColor转换为灰度图像,cvErode执行腐蚀操作,最后cvSaveImage保存处理后的图像。
摘要由CSDN通过智能技术生成
// int main(int argc, char** argv)   
//{
//    char filename[100];
//    char filename1[100];
//    //char filename2[100];
//    //char filename3[100];
//    for(int i=0;i<=23;i++)
//
//    {
//    sprintf(filename,"F:/fighting/project/data/4-sundefu-tps/structure/structure00%d.jpg",i);// 将图片以数字命名:例如1.jpg 2.jpg等,放入D:/test/文件夹下
//    IplImage * img=cvLoadImage(filename);
//    //IplImage *img=cvLoadImage("F:/fighting/project/data/4-sundefu-tps/structure/structure000.jpg");
//    CvScalar s;
//    //cvNamedWindow("Image1",1);
//    //printf("channel=%d",img->nChannels);
//    //IplImage * src11 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
//    //cvCvtColor(img,src11,CV_BGR2GRAY);
//    //cvSaveImage("F:/fighting/project/data/4-sundefu-tps/structure/1_bg.jpg",img);
//    //printf("channel=%d",src11->nChannels);
//    //cvShowImage("Image1",img);
//    for(int i=0;i<img->height;i++)
//       {
//          for(int j=0;j<img->width;j++)
//          {
//             s=cvGet2D(img,i,j); // get the (i,j) pixel value
//             //printf("B=%f,G=%f,R=%f\n",s.val[0],s.val[1],s.val[2]);
//              //printf("B=%f",s.val[0]);
//             //uchar val = ((uchar *)(img->imageData + i*img->widthStep))[j];
//             //printf("gray value=%d\n",val);
//             if(s.val[0]>0||s.val[1]>0||s.val[2]>0)
//             {
//             s.val[0]=255;
//             s.val[1]=255;
//             s.val[2]=255;
//             // val=240;
//             cvSet2D(img,i,j,s);
//             }//set the (i,j) pixel value
//             //printf("B=%f,G=%f,R=%f\n",s.val[0],s.val[1],s.val[2]);
//         }
//       }
//    //sprintf(filename1,"F:/fighting/project/data/fcn-data/img_train/1-%d.jpg",i);
//    //IplImage * src=cvLoadImage(filename);
//    IplImage * src = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
//    cvCvtColor(img,src,CV_BGR2GRAY);
//    IplImage* img_erode = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
//    cvErode( src,img_erode, NULL,2);
//    cvDilate(img_erode,img_erode, NULL,1);
//    sprintf(filename1,"F:/fighting/project/data/4-sundefu-tps/structure1/structure00%d.png",i);
//    //IplImage * src=cvLoadImage(filename);
//    cvSaveImage(filename1,img_erode);
//    }
//    //cvNamedWindow("Image",1);
//    //cvShowImage("Image",img_erode);
//    cvWaitKey();
// }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值