版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《电容触摸屏TP简介》课件
- 冠状动脉闭塞病变介入治疗
- 中心供氧的应急预案
- 《光伏电池板与系统》课件
- 因式分解活动课
- 《通货膨胀和失业》课件
- 数学学案:课堂导学集合的运算第课时补集
- 《生物公司运营分析》课件
- 混泥土搅拌车咕噜咕噜
- 六年级上册英语重难点复习学案基础练语音练拓展练-Unit8ChineseNewYear译林三起含答案
- 护理学科建设规划
- 海南省海口市2023-2024学年九年级上学期期末语文试题B卷(解析版)
- 2024年度生产设备操作安全协议
- 四方建房合同模板
- 城市公共交通条例
- 第5课用发展的观点看问题2023-2024学年中职高教版2023哲学与人生
- 2021大学生个人职业生涯规划书6篇
- 《心灵的色彩》课件-2024-2025学年人美版(2024)初中美术七年级上册
- 2020年江苏徐州中考满分作文《当你需要时有我》4
- 设备技术员年终工作总结
- 2023电化学储能电站消防安全标准铅炭电池(铅酸电池)
评论
0/150
提交评论