if(biBitCount==8){//灰度图像
for(i=0;i<height;i++){
for(j=0;j<width;j++){
// *(pImgData+i*lineByte+j)=0;
double dx=*(pImgData+i*lineByte+j)-*(pImgData+(i+1)*lineByte+(j+1));//计算dx
double dy=*(pImgData+i*lineByte+(j+1))-*(pImgData+(i+1)*lineByte+j);//计算dy
gradnt=sqrt(pow(dx,2)+pow(dy,2));//计算梯度
if(gradnt>max)max=gradnt;//记录梯度的最大值
if(gradnt<min)min=gradnt;//记录梯度的最小值
}
}
for(i=0;i<height;i++){
for(j=0;j<width;j++){
double dx=*(pImgData+i*lineByte+j)-*(pImgData+(i+1)*lineByte+(j+1));//计算dx
double dy=*(pImgData+i*lineByte+(j+1))-*(pImgData+(i+1)*lineByte+j);//计算dy
gradnt=sqrt(pow(dx,2)+pow(dy,2));//计算梯度
yy=255/(max-min);//将梯度范围影射到0-255
*(pImgData+i*lineByte+j)=yy*gradnt;//设置灰度值为梯度值
}
}
Invalidate();//刷新显示
}
边缘检测Roberts算子
最新推荐文章于 2024-05-17 09:01:24 发布