

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机科学与技术学院 信息与计算科学专业1 1 0 8 0 6 0 2 2 3姜 圣 涛2 01 4年5月1 3日图像处理学专学姓院:业:号:名:一、实验内容:主要是图像的几何变换的编程实现,具体包括图像的显示,图像 平移,图像的镜像,图像的旋转,图像的锐化,以及简单的处理等,例 如:灰度处理、减小灰度处理、逆反处理、霓虹处理等。具体实现的功能图为:旋转正变换显示处理镜像变换图像的锐化 显示原图像广灰度处理减小灰度LoadBitmap(IDB_BITMAP3); CDC *pDC = GetDC();mypDC-CreateCompatibleDC(pDC); mypDC-SelectObje
2、ct(bitmap);3、加入位图将待处理的照片格式转化成bmp格式,具体转化过程可借助画图工具完成,插入后的结果为:剑立怨S啊E芝石I-工层叵弓宦對Xc V)卷勺凹芷粘冃匕一 |皑區宙*厂kTxrlKtfwT(All diiti ii-finbEra w| |fl|iOnluxiaiig txcl resources*-jAccelerator tJBitmapIDB_BITMAP3:+ Dialog*_i loon+i Menu* oString Table+Toolbar41-JVersio n4、添加各种功能按钮,并建立类向导,添加完成后的界面为:-clrc JDBmnTM百P:軍fi
3、tmr-I自刍!郵 坐工(1)图片的显示核心代码为:void CTxclView:O ntuxia ng() / TODO: Add your comma nd han dler code here BITMAP bmp;bitmap-GetBitmap(&bmp); CDC *pDC = GetDC();COLORREF clr ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(i nt i=0; iy; +i)for(i nt j=0; jGetPixel(j,i); int r = GetRValue(clr); in t g = Get
4、GValue(clr);int b = GetBValue(clr); pDC-SetPixel(j,i,RGB(r, g, b);结果为:(2)图像的简单灰度处理、逆反处理以、减小灰度处理、霓虹处理、增加灰度处理:A、灰度处理核心代码:void CTxclView:Onhuidu()/ TODO: Add your command handler code here BITMAP bmp;bitmap-GetBitmap(&bmp);clr = mypDC-GetPixel(j,i);CDC *pDC = GetDC();COLORREF clr ;int x = bmp.bmWid
5、th;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(j,i);int r = GetRValue(clr);int g = GetGValue(clr);int b = GetBValue(clr);int eva=(r+g+b)/3; pDC-SetPixel(j,i,RGB(eva, eva, eva);B、逆反处理核心代码:void CTxclView:Onnifan()/ TODO: Add your command handler code here BITMAP bmp;bitmap-GetBitma
6、p(&bmp);CDC *pDC = GetDC();COLORREF clr ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jSetPixel(j+300,i,RGB(r,g,b);C、减小灰度处理核心代码:void CTxclView:Onjianxiaohuidu()/ TODO: Add your command handler code hereBITMAP bmp; bitmap-GetBitmap(&bmp);CDC *pDC = GetDC(); COLORR
7、EF clr ; int x = bmp.bmWidth; int y =bmp.bmHeight; for(int i=0; iy; +i)for(int j=0; jGetPixel(j,i);int r = GetRValue(clr)*GetRValue(clr)/255; int g =GetGValue(clr)*GetRValue(clr)/255; int b =GetBValue(clr)*GetRValue(clr)/255;pDC-SetPixel(j+600,i,RGB(r, g, b);D、图形的霓虹处理核心代码:void CTxclView:Onnihong()/
8、TODO: Add your command handler code here BITMAP bmp;clr = mypDC-GetPixel(j,i);int r,g,b;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC();COLORREF clra ;COLORREF clrb ;COLORREF clrc ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(j,i);clrb = mypDC-GetPixel(j,i+1);clr
9、c = mypDC-GetPixel(j+1,i);r=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb) )+(GetRValue(clra)-GetRValue(clrc)*(GetRValue(clra)-GetRValue(clrc);g=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb)+(GetRValue(clra)-GetRValue(clrc)*(GetRValue(clra)-Ge
10、tRValue(clrc);b=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb)+(GetRValue(clra)-GetRValue(clrc)*(GetRValue(clra)-GetRValue(clrc);pDC-SetPixel(j,i+300,RGB(r, g, b);E、图形增大灰度处理核心代码:void CTxclView:OnZenghuidu()/ TODO: Add your command handler code hereBITMAP bmp;int r,g,b;bit
11、map-GetBitmap(&bmp);CDC *pDC = GetDC();COLORREF clr ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jSetPixel(j+300,i+300,RGB(r, g, b);图像的简单灰度处理、逆反处理以、减小灰度处理、霓虹处理、增加灰度处理结果对比:(3)图像的镜像变换A、垂直镜像变换的核心代码void CTxclView:O nchuizhijx()/ TODO: Add your comma nd han dler code her
12、eBITMAP bmp;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC(); COLORREF clr ; int x = bmp.bmWidth; int y =bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(x-j,i);int r = GetRValue(clr);int g = GetGValue(clr);int b = GetBValue(clr); pDC-SetPixel(j+300,i,RGB(r, g, b);B、水平镜像变换的核心代码void CTxclView:Ons
13、huipingjx()/ TODO: Add your command handler code here BITMAP bmp;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC(); COLORREF clr ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(j,y-i);int r = GetRValue(clr);int g = GetGValue(clr);int b = GetBValue(clr); pDC-SetPixel(
14、j+600,i,RGB(r, g, b);垂直镜像变换、水平镜像变换与原图对比结果(4)图像的锐化处理A、图像梯度增加方法一锐化处理核心代码:void CTxclView:O nTiDuZe ngqia ngyi()/ TODO: Add your comma nd han dler code hereBITMAP bmp;in t r,g,b; bitmap-GetBitmap(&bmp);CDC *pDC = GetDC();COLORREF clra ;COLORREF clrb ;COLORREF clrc ;int x = bmp.bmWidth;int y = bmp.bm
15、Height;for(i nt i=0; iy; +i)for(i nt j=0; jGetPixel(j,i);clrb = mypDC-GetPixel(j,i+1);clrc = mypDC-GetPixel(j+1,i);/int b = GetBValue(clra);intr=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);pDC-SetPixel(j,i,RGB(r, r, r);B、图像梯度增加方法二锐化处理核心代码:void CTxclView:OnTiDuZengEr()/ TO
16、DO: Add your command handler code hereBITMAP bmp;int r,g,b;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC();COLORREF clrb ;COLORREF clra ;COLORREF clrc ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(j,i);clrb = mypDC-GetPixel(j,i+1);clrc = mypDC-GetPixel(j+1,i);/in
17、t b = GetBValue(clra);int r=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);if (rSetPixel(j+300,i,RGB(r, r, r);C、图像梯度增加方法一锐化处理核心代码:void CTxclView:OnTiduZengSan()/ TODO: Add your command handler code hereBITMAP bmp;int r,g,b;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC();COLORR
18、EF clra ;COLORREF clrb ;COLORREF clrc ;int x = bmp.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(int j=0; jGetPixel(j,i);clrb = mypDC-GetPixel(j,i+1);clrc = mypDC-GetPixel(j+1,i);/int b = GetBValue(clra);int r=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);if (r50)r=0
19、;elser=GetRValue(clra);pDC-SetPixel(j+600,i,RGB(r, r, r);D、Sobel算子锐化处理核心代码:void CTxclView:OnSobelSuanZi()/ TODO: Add your command handler code hereBITMAP bmp;int r,g,b;bitmap-GetBitmap(&bmp);CDC *pDC = GetDC();COLORREF clra,clrb,clrc ;COLORREF clra1,clrb1,clrc1 ;COLORREF clra2,clrb2 ;int x = bmp
20、.bmWidth;int y = bmp.bmHeight;for(int i=0; iy; +i)for(i nt j=0; jGetPixel(j-1,i+1);clrb = mypDC-GetPixel(j,i+1);clrc = mypDC-GetPixel(j+1,i+1);clra1 = mypDC-GetPixel(j-1,i-1);clrb1 = mypDC-GetPixel(j,i-1);clrc1 = mypDC-GetPixel(j+1,i-1);clra2 = mypDC-GetPixel(j+1,i);clrb2 = mypDC-GetPixel(j-1,i);int
21、 m =abs(GetRValue(clra)+2*GetRValue(clrb)+GetRValue(clrc)-GetRValue(clra1)-2*GetRValue(clrb1)-GetRValue(clrc1);int n =abs(GetRValue(clrc1)+2*GetRValue(clra2)+GetRValue(clrc)-GetRValue(clra1)-2*GetRValue(clrb2)-GetRValue(clra);int r = m+n;pDC-SetPixel(j,i+300,RGB(r, r, r);四种锐化处理结果为:(5)旋转变化采用的是45度角旋转正变换,核心代码为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年面板检测系统项目建议书
- 办公新环境启用仪式讲话稿
- 酒店投资开发建设合同
- 2025年硅粉系列项目合作计划书
- 商铺转让合同协议
- 关于办公室日常行政工作的推进情况
- 国际运输服务提供商合作框架协议
- 红星照耀中国的革命情怀解读
- L-Tyrosinamide-生命科学试剂-MCE
- 办公事务处理规范与流程文书
- 《穴位注射疗法》课件
- 初三物理复习计划详细计划
- 管理会计 课件 孙茂竹 第7-12章 存货决策-业绩考核
- 空气能热泵系统设计与安装展示
- 十字相乘法解一元二次方程专题练习
- 2023年3月普通高等学校招生全国统一考试英语听力天津卷A(听力音频+试题+答案+听力原文)
- 坐标纸(A4纸直接打印就可用)
- 扁桃体伴腺样体肥大
- 中央空调基础知识及发展史
- 《探寻中国环保旅行之道》– 中国旅游业可持续发展联合研究报告 -mckinsey
- 电力工程竣工验收报告
评论
0/150
提交评论