将提取出的边缘投影到原始图片上

特征提取中,常常需要将提取出的边缘投影到原始图像上,以检验提取效果。将边缘点保存在TXT后,将其读入到数组中,X,Y中,然后在ONDRAW中将其显示。

具体如下:1.读入数组。 

FILE *fp = fopen("。。。/DataSave.txt","r");
 if(NULL == fp)
 {
  AfxMessageBox("error");
  return;
 }
 int nNum = 0;
 fscanf(fp,"%d",&nNum);
 int *aPointX = new int[nNum];
 int *aPointY = new int[nNum];

2.显示。

这样就在原始图片上画就行了,而ONDRAW就是打开图像的函数,在这个的后边加上这样的画点的函数。SetPixel(x,y,RGB())。

 fscanf(fp,"%d",&nNum);
 int *aPointX = new int[nNum];
 int *aPointY = new int[nNum];
 memset(aPointX,0,nNum);
 memset(aPointY,0,nNum);
 for (int i =0;i<nNum;i++)
 {
  fscanf(fp,"%d %d",&aPointX[i],&aPointY[i]);
 }
 for (int j = 0;j<nNum;++j)
 {
  pDC->SetPixel(aPointX[j],cyDIB - aPointY[j],RGB(255,0,0));
 }

。其中,用到一个获得图像长宽的函数

HDIB hDIB = pDoc->GetHDIB();

LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);

// 获取DIB高度
cyDIB = (int) ::DIBHeight(lpDIB);

 

 

 

 

Q:1.图像是怎么读取进去的?

2.读取TXT的函数有哪些?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值