您好,帮帮忙吧,我用VC++6.0加载了一幅图像,现在要处理图像
/*////////////////////////参数说明:LPSTRlpDIBBits:指向源DIB图像的指针LONGlWidth:源图像宽度(像素数)LONGlHe...
/*////////////////////////
参数说明:
LPSTR lpDIBBits :指向源DIB图像的指针
LONG lWidth :源图像宽度(像素数)
LONG lHeight :源图像高度(像素数)
BYTE bThre :阈值
该函数用来对图像进行阈值变换。
对于灰度值小于阈值的像素直接设置灰度值为0,灰度值大于阈值的像素直接设置为255
////////////////////////*/
BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits,LONG lWidth,LONG lHeight,BYTE bThre)
{
//指向源图像的指针
unsigned char* lpSrc;
//循环变量
LONG i;
LONG j;
//图像每行的字节数
LONG lLineBytes;
//计算图像每行的字节数
lLineBytes=WIDTHBYTES(lWidth* 8);
//每行
for(i=0;i<lHeight;i++)
{
//每列
for(j=0;j<lWidth;j++)
{
//指向DIB第i行、第j个像素的指针
lpSrc=(unsigned char*)lpDIBits+lLineBytes*(lHeight-1-i)+j;
//判断是否小于阈值
if((*lpSrc)<bThre)
{
//直接赋值为0
*lpSrc=0;
}
else
{
//直接赋值为255
*lpSrc=255;
}
}
}
return TRUE;
}
上面是图像二值化源码,但是我不知道如何获取LPSTR lpDIBBits :指向源DIB图像的指针,希望你能帮助我,真的很急,谢谢! 展开
参数说明:
LPSTR lpDIBBits :指向源DIB图像的指针
LONG lWidth :源图像宽度(像素数)
LONG lHeight :源图像高度(像素数)
BYTE bThre :阈值
该函数用来对图像进行阈值变换。
对于灰度值小于阈值的像素直接设置灰度值为0,灰度值大于阈值的像素直接设置为255
////////////////////////*/
BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits,LONG lWidth,LONG lHeight,BYTE bThre)
{
//指向源图像的指针
unsigned char* lpSrc;
//循环变量
LONG i;
LONG j;
//图像每行的字节数
LONG lLineBytes;
//计算图像每行的字节数
lLineBytes=WIDTHBYTES(lWidth* 8);
//每行
for(i=0;i<lHeight;i++)
{
//每列
for(j=0;j<lWidth;j++)
{
//指向DIB第i行、第j个像素的指针
lpSrc=(unsigned char*)lpDIBits+lLineBytes*(lHeight-1-i)+j;
//判断是否小于阈值
if((*lpSrc)<bThre)
{
//直接赋值为0
*lpSrc=0;
}
else
{
//直接赋值为255
*lpSrc=255;
}
}
}
return TRUE;
}
上面是图像二值化源码,但是我不知道如何获取LPSTR lpDIBBits :指向源DIB图像的指针,希望你能帮助我,真的很急,谢谢! 展开
展开全部
看你好像使用mfc atl的 如果是的话 用CImage打开图片 用GetBits这个函数返回你要的那个东西
参考:http://msdn.microsoft.com/en-US/library/zx1ex9b5(v=vs.80).aspx
参考:http://msdn.microsoft.com/en-US/library/zx1ex9b5(v=vs.80).aspx
追问
您好,请在帮帮忙好吗?真的很急,代码是书上看的,我是打开文件直接读取文件头,文件信息头等,然后显示,但我想二值化图像,但是我加载图像后,不知道怎么获得指向该图像的指针。
追答
visual studio都有实例的,你在帮助菜单里 找得到sample的 具体在C++那个压缩包的里面 路径是 MFC\general\SimpleImage,SimpleImage就有图像的二值化的实例的 整个都可以直接运行的
http://msdn.microsoft.com/zh-cn/library/ms177536.aspx
你自己看下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询