void JiHeBianHuanDib::Yuzhichuli()//对图像进行运算
{
// 指向DIB象素指针
LPBYTE p_data;
// 指向源图像的指针
LPBYTE lpSrc;
// 指向缓存图像的指针
LPBYTE lpDst;
// 指向缓存DIB图像的指针
LPBYTE temp;
//循环变量
int i;
int j;
// 找到DIB图像象素起始位置
p_data = GetData();
// DIB的宽度
LONG wide =GetWidth();
// DIB的高度
LONG height = GetHeight();
if (m_pBitmapInfoHeader->biBitCount<9)//灰度图像
{
// 暂时分配内存,以保存新图像
temp = new BYTE[wide*height];
// 初始化新分配的内存,设定初始值为255
lpDst = (LPBYTE)temp;
memset(lpDst, (BYTE)255, wide * height); for (j = 0; j < height; j++)
{
for (i = 0; i < wide; i ++)
{
// 指向源图像倒数第j行,第i个象素的指针
lpSrc = (unsigned char *)(p_data + wide * j + i);
// 指向目标图像倒数第j行,第i个象素的指针
lpDst = (unsigned char *)(temp + wide * j + i);
if (*lpSrc <= 127)
*lpDst = 255;
else
*lpDst = 0;
}
}
// 复制处理后的图像
memcpy(p_data, temp, wide * height);
// 释放内存
delete temp;
}
}
简单的阈值处理,就是在处理的效果图中,原图最上面三排像素没有被处理,望帮看下,自己找不出错了那里!问题解决后会速度结帖!……
{
// 指向DIB象素指针
LPBYTE p_data;
// 指向源图像的指针
LPBYTE lpSrc;
// 指向缓存图像的指针
LPBYTE lpDst;
// 指向缓存DIB图像的指针
LPBYTE temp;
//循环变量
int i;
int j;
// 找到DIB图像象素起始位置
p_data = GetData();
// DIB的宽度
LONG wide =GetWidth();
// DIB的高度
LONG height = GetHeight();
if (m_pBitmapInfoHeader->biBitCount<9)//灰度图像
{
// 暂时分配内存,以保存新图像
temp = new BYTE[wide*height];
// 初始化新分配的内存,设定初始值为255
lpDst = (LPBYTE)temp;
memset(lpDst, (BYTE)255, wide * height); for (j = 0; j < height; j++)
{
for (i = 0; i < wide; i ++)
{
// 指向源图像倒数第j行,第i个象素的指针
lpSrc = (unsigned char *)(p_data + wide * j + i);
// 指向目标图像倒数第j行,第i个象素的指针
lpDst = (unsigned char *)(temp + wide * j + i);
if (*lpSrc <= 127)
*lpDst = 255;
else
*lpDst = 0;
}
}
// 复制处理后的图像
memcpy(p_data, temp, wide * height);
// 释放内存
delete temp;
}
}
简单的阈值处理,就是在处理的效果图中,原图最上面三排像素没有被处理,望帮看下,自己找不出错了那里!问题解决后会速度结帖!……
lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - j) + i;上面的API中的与下面的这个有什么区别?还有怎么一个是坐标减1再减j(lHeight - 1 - j),一个却只是j。// 指向源图像倒数第j行,第i个象素的指针
lpSrc = (unsigned char *)(p_data + wide * j + i);请说的详细点,我连菜都不是!谢谢……
"0x7c930a19"指令引用的“0x00000000"内存。该内存不能为"read"。
要终止程序,请单击“确定”。这个问题一般会是什么导致的,程序处理的是256色位图。只打开原图后再关闭,不会有这提示。
但只要对图像做了操作后,就会有这个提示!
谢过了哈!请帮忙再看下http://topic.csdn.net/u/20100303/11/c50dd259-f1e4-4080-8a8a-a6aa8b1c64bc.html这个问题哈!