图像效果算法设计和插件技术实习报告 第3页
系比喻为生气勃勃、能呼风唤雨的蛟龙,硕大的龙头象征强有力的信息指挥系统,则仪器就相当龙的眼睛,炯炯有神的龙睛,及时获取各种信息,对于腾飞的经济巨龙,起着“画龙点睛”的重要作用。和信息化生产体系相比,旧的工业化生产体系可比喻为恐龙,它躯体庞大,头脑弱小,主要靠人参与进去,起到控制指挥作用,行动迟缓,象征着信息指挥系统不灵,管理薄弱,体制分散,尾大难调,效率低下等缺陷。由于不适应时代要求,必然被淘汰。从概念上看,今天对待仪器的看法和过去有很大的改变,正确的概念应当是把仪器和机器放在同等的地位上来看待,把仪器工业与机械工业同等看待,因为它们都具有独立性,都是为各行各业服务的工业体系,仪器工业已是信息工业的主要组成部分。仪器不是机器,绝大多数也不是简单的机械结构;不是单纯的精密机械,也不是单纯的光学加精密机械,而是机、电、光、算、材、物理、化学、生物等先进技术的高度技术综合——高技术。仪器也是国家科技发展水平的标志。特别是在今天高技术发展的信息化时代,仪器完全是现代化的综合因素之一。因而仪器科技在学科上也应具有适应时代发展的独立的科技地位。在学科分类上也应有这样的体现。只有对仪器的地位和作用树立了正确的观念,才能有利于仪器事业的发展。
通过这次的参观,我对国内科技产品的前景更加期待。相信我们国家可以生产出更多赶超国际水平的高科技产品。不久的将来一定可以拥有一个自己的主板生产技术。我也必须得不断磨练自己,不断获取新知识,巩固旧知识,为了以后能够找到一份称心地工作。一定要更加努力,分外勤奋才行。
【结论】寒假的实习已经结束,现在必须着手于毕业设计的制作了。在做毕业设计的过程中还可以不断地提高自己锻炼自己,可以把以往所学地知识都统一运用起来,不断巩固不断创新,把毕业设计做到最好。为了以后能在社会上站稳脚跟,从现在起就要尤其注意一些曾经被忽略的问题和知识,努力地把毕业设计做好,以后找工作地时候才可以有一份拿的出手地作品。
【致谢】感谢我的指导老师吕书龙在毕业设计上给予的帮助,感谢阳光学院,感谢领导们。
【参考文献】
《计算机图形学》 王汝传 人民邮电出版社
《实用数字图像处理》 刘榴娣 刘明奇 党长民 北京理工大学出版社《Delphi基础教程》 丁兆海 电子工业出版社
《Delphi编程技巧》(多媒体与系统篇) 清宏计算机工作室
《Delphi 5多媒体开发实例》 同志工作室 编著
《Delphi 5程序设计与控件参考》 王小华 电子工业出版社
《多媒体技术基础》 赵子江 机械工业出版社
《Delphi实战演练》 段来盛 郑城荣 曹恒 人民邮政出版社
《Delphi图形图像多媒体高级控件开发与应用》 胡争辉
《Delphi 7 组件经典解析》 李之明 高玉琢
《photoshop经典滤镜》 高永来 机械工业出版社
《精通Flash MX结构化设计和开发》 张亚飞 科学出版社
【附录】图像效果设计编程举例:浮雕"图象效果是指图像的前景前向凸出背景。所谓的“浮雕”概念是指标绘图像上的一个像素和它左上方的那个像素之间差值的一种处理过程,为了使图像保持一定的亮度并呈现灰色,我在处理过程中为这个差值加了一个数值为128的常量。需要读者注意的是,当设置一个像素值的时候,它和它左上方的像素都要被用到,为了避免用到已经设置过的像素,应该从图像的右下方的像素开始处理,下面是实现的源代码:
void CDibView::OnFDImage() //产生"浮雕"效果图函数
{
HANDLE data1handle;
LPBITMAPINFOHEADER lpBi;
CDibDoc *pDoc=GetDocument();
HDIB hdib;
unsigned char *hData;
unsigned char *data;
hdib=pDoc->GetHDIB();
BeginWaitCursor();
lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);
hData=(unsigned char*)FindDIBBits((LPSTR)lpBi);
pDoc->SetModifiedFlag(TRUE);
data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);
//声明一个缓冲区用来暂存处理后的图像数据
data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);
AfxGetApp()->BeginWaitCursor();
int i,j,buf;
for( i=lpBi->biHeight; i>=2; i--)
for( j=lpBi->biWidth; j>=2; j--)
{
//"浮雕"处理
buf=*(hData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)-*(hData+(lpBi->biHeight-i+1)*WIDTHBYTES(lpBi->biWidth*8)+j-1)+128;
if(buf>255) buf=255;
if(buf<0)buf=0;
*(data+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)=(BYTE)buf;
}
for( j=0; jbiHeight; j++)
for( i=0; ibiWidth; i++)
//重新写回原始图像的数据缓冲区
*(hData+i*WIDTHBYTES(lpBi->biWidth*8)+j)=*(data+i*WIDTHBYTES(lpBi->biWidth*8)+j);
AfxGetApp()->EndWaitCursor();
GlobalUnlock((HGLOBAL)hdib);
GlobalUnlock(data1handle);
EndWaitCursor();
Invalidate(TRUE);//显示图像