VC++处理彩色图像,并且转换为灰度图像的时候,其实在获取图像数据指针的时候,很多代码都是相同的,只是名字不同
如果不能直接定义设备DC如CDC *pDc=GetDC(),可以用CDib *pDib = pDoc->GetDib();
// 原图像数据区指针
LPBYTE p_data;
p_data = m_pDib->GetData();
void CColorSeg::Template24bit2(LPBYTE lpData, int nLineByte, int nWidth, int nHeight)
{
// 循环变量
int i, j, k, l;
// 新图像缓冲区的指针
LPBYTE lpTemp;
lpTemp = new BYTE[nLineByte * nHeight];
// 初始化新分配的内存,设定初始值为255
memcpy(lpTemp, lpData, nLineByte * nHeight);
// 像素值计算结果
如果不能直接定义设备DC如CDC *pDc=GetDC(),可以用CDib *pDib = pDoc->GetDib();
// 原图像数据区指针
LPBYTE p_data;
p_data = m_pDib->GetData();
void CColorSeg::Template24bit2(LPBYTE lpData, int nLineByte, int nWidth, int nHeight)
{
// 循环变量
int i, j, k, l;
// 新图像缓冲区的指针
LPBYTE lpTemp;
lpTemp = new BYTE[nLineByte * nHeight];
// 初始化新分配的内存,设定初始值为255
memcpy(lpTemp, lpData, nLineByte * nHeight);
// 像素值计算结果