第二书店&China-pub战略联盟提供专业服务

Visual C++.NET 图像处理编程(附CD-ROM光盘一张)——程序员书库 (2008 年度畅销榜NO.2614 )

会员评价: (共 6 条) 参与评论
原书名: Visual C++.NET 图像处理编程(附CD-ROM光盘一张)——程序员书库
原出版社:
作者: 陆宗骐,金登男 编著
出版社: 清华大学出版社
书号: 7302125532 出版日期:2006-3-1 开本: 16开 页码: 441 版次: 2006年3月第一版第一次印刷 点击: 4111
所属类别: 程序设计综合
市场价: ¥42.00     会员价:¥31.50
本书以CImage类为基础介绍了Visual C++.NET环境下的图像基础知识与图像处理常用算法的编程原理和方法。通过自建CImage仿真类,本书方法也适用于Visual C++环境。\r\n 本书包括4个部分。第1部分介绍图像显示与存储的基础知识;第2部分介绍Visual C++.NET应用程序框架的建立,图形编程,图像的存取、显示与生成,以及图像的变化;第3部分介绍图像的点处理,邻域处理,二值图像的处理,形态学图像处理,彩色图像的处理,轮廓跟踪与线段编码;第4部分介绍CImage仿真类的建立与图像文件的读写。\r\n 本书附有光盘,提供了演示程序的全部源代码以及处理所需的图像实例。\r\n 本书可作为计算机及相关专业数字图像处理的教材或教学参考书,也可作为电子、信息类专业的学生与科研人员在图像处理方面的参考书或程序库。\r\n\r\n

用户评论

60.12.8.166 说:
随书的光盘找不到了。哪里下载的到光盘程序啊?
书本内容写得很好的。用了CImage。好像就见到这本是用这个的。
发布于2006-11-14 16:02:14
(2)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
整体来说,这本书还是不错的,使用了微软新增的CImage类,而不是其它的书还在用自建的DIB。

美中不足的是,代码的书写风格太C语言化了,看上去有点混乱,几个库IProcessB~IProcessF等,起的名称不知所云,没有进行有效的封装。另外,代码中结构元素的大小固定为3*3、5*5,不能被Client任意设定,等等...
发布于2006-11-9 10:48:42
(0)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
void RemoveBackgrond(CImage *pImgn,CImage *pImgm)
{ // 清除背景图像
struct IMAGEPARAMENT Pm,Pn;
HDC hMemDC;

GetImageParament(pImgm,&Pm);
// 获取图像参数
GetImageParament(pImgn,&Pn);

if (Pn.nBitCount>1)
return; // 模板图像不是二值图像
if ((Pm.nWidth!=Pn.nWidth)||(Pm.nHeight!=Pn.nHeight))
return; // 模板图像尺寸不符要求

hMemDC=pImgm->GetDC();
// 获取位图句柄
pImgn->BitBlt(hMemDC,0,0,Pm.nWidth,Pm.nHeight,0,0,SRCAND);
// 屏蔽背景
pImgm->ReleaseDC();
// 释放位图句柄
}

二、二值化方法(九种)作了比较全面的介绍。
三、数学形态学的介绍直观、简洁。
四、区域分割中的轮廓跟踪和线段编码可以在应用程序中直接使用。
五、介绍的六种图像文件格式都给出了实际可用的读、写程序。
六、同时适用于Visual C++.NET与Visual C++两种环境,随书盘上分别给出了相同功能的演示程序。

作者 2006.5.30



发布于2006-5-30 9:06:11
(1)回应 有1人认为此评论有用, 有0人认为没用, 您认为呢?
hei =lpBmi->bmiHeader.biHeight;
bits=lpBmi->bmiHeader.biBitCount;
PixSize=(wid*bits+31)/32*4*hei;
// 计算像素数据尺寸
free(lpBmi);
// 释放位图信息

fseek(fp,Bfh.bfOffBits,SEEK_SET);
fread(lpBits,PixSize,1,fp);
// 读入像素数据
fclose(fp);
}

void DisplayDIBSection (HWND hWnd, HBITMAP hBitmap, int wid, int hei)
{ // 显示图像(DIBSECTION)
HDC hDC, hMemDC;

hMemDC =CreateCompatibleDC(NULL);
// 建立内存设备描述表
SelectObject(hMemDC,hBitmap);
// 内存设备描述表选中位图
hDC = GetDC(hWnd);
// 申请窗口句柄
BitBlt(hDC,0,0,wid,hei, hMemDC,0,0,SRCCOPY);
// 像素数据成块传输
DeleteObject(hMemDC);
DeleteDC(hMemDC);
// 释放内存设备描述表
ReleaseDC(hWnd,hDC);
// 释放窗口句柄
}

void RemoveBackgrond(CImage *pImgn, CImage *pImgm);
pImgm、pImgn 分别为模板图像与源(兼目的)图像。

void RemoveBackgrond(CIma
发布于2006-5-30 9:03:45
(0)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
本书特色:
一、以Win32中的DIBSECTION结构来存放图像数据,只用了CreateDIBSection、GetDIBColorTable、SetDIBColorTable与BitBlt

四个位图函数就实现了图像的读入、显示和许多基本操作,下面给出读入BMP图像文件、显示图像和清除背景图像三个函数作例

子。

int wid, hei, bits; // 全局变量(宽、高、像素位数)
HBITMAP hBitmap=NULL;
LPSTR lpBits;

void LoadBMP(LPCSTR lpstrFileName)
{ // 读入BMP图像文件
BITMAPFILEHEADER Bfh;
LPBITMAPINFO lpBmi;
FILE *fp;
int BmiSize, PixSize;

fp=fopen(lpstrFileName,"rb");

fread(&Bfh,sizeof(BITMAPFILEHEADER),1,fp);
// 读入位图文件头
BmiSize=Bfh.bfOffBits- sizeof(BITMAPFILEHEADER);
// 计算位图信息尺寸
lpBmi=(LPBITMAPINFO) malloc(BmiSize);
// 申请位图信息存储空间
fread(lpBmi,BmiSize,1,fp);
// 读入位图信息

hBitmap=CreateDIBSection(NULL,lpBmi,DIB_RGB_COLORS,(VOID**) &lpBits,NULL,0);
// 建立DIBSECTION
wid =lpBmi->bmiHeader.biW
发布于2006-5-30 9:00:14
(0)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
在C++图像处理编程方面,这本绝对是拿得的好书。陆宗骐老师也是这方面的知名专家。建议大家购买。
发布于2006-5-26 17:49:47
(0)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
>>发表评论      >>查看更多评论  

商品意见

>>我要提问  
同类热销商品
您的浏览历史
第二书店联系方式 010-64348411 webmaster@dearbook.com
购买向导 如何付款 如何配送 订单信息 售后服务
购买流程 货到付款 送货方式、时间及费用 订单状态处理 退换货原则
搜索商品 邮局汇款 如何修改订单 退换货方法
银行电汇 查询订单方法 相关问题说明
网上支付
其他支付方式
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved .