




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2 15 日前提交)1编制一个具有 Winows 图形界面的应用程序( VB.Net, or Ctt, or C+)2、针关于数字图像处理的基本功能,设计并且实现一个图像类,把图像文件操作、数据存储及管理、基本的图像处理 功能包含在该类中,能处理 8 位灰度图像、8 位索引彩色图像、24 位真彩色图像等。VB.NET 环境下的基本内容: 部分成员变量Private BMap As Bitmap 1 Bitmap VB.NET C#中处理图像的基础类,用于处理由像素数据怎义的图像的关于象Private mlmageName As String 1 记录打开图像的文件Private mPixels
2、 As Long, mSize As Long 记录图像的像素个数及存储数据的内存大小(以字肖为单位) Private mWith As Long, mHeight As Long 1 图像宽度、高度Private lmageB() As Byte 存储灰度图像数据,一维数组存储。关于于 8 位图像,一个像素即是一个字节。每行存储的字节数必需是 4 的整倍数,需要时添加适当字节。与文件中记录的内容完全一致部分成员函数Public Function RealmageFile(Optional By Vai FileName As String = ,M) AsInteger If FileNam
3、e = 1,11 Or ir(FileName) = ,H, ThenIf mlmageName = n, Then Exit Function En IfBMap 是一个 Bitmap 关于象,im BMap as BitmapIf Not BMap Is Nothing Then BMap.ispose()如果图像关于象已经存在,淸除关于象BMap = New Bitmap(FileName)1由图像文件创建 Bitmap 关于象getBitMapataf)读取 BMap 关于象中的图像数据到数组1 putBitMapata()xWmin =0yWmin =0 xWmaxBMap.With
4、11 pictureBox在容器中的宽度yWmax=BMap.Height-l pictureBox在容器中的高度mlmageNameFileNameRaise Eve nt lmageataChange() En FunctionPrivate Function getBitMapataf) As Boolean从 BitMap 关于象里获取图像数据*在实际处理程序中一般不采用拷贝备份的做法,可以经过获得的数据指针,直接操作就可以了。1进程是:锁泄内存,获取数据的起始地址,根据图像类型操作数据,结束锁左If BMap Is Nothing Then Return False 图像关于象必需存
5、在,完成实例化im i As Integerim rect AsNewRectangle(O0BMap.WithBMap.Height)1 设置锁定图像范围的矩形zim bmpata As SystemrawingmagingBitmapataBMap ockBits(rect_ rawing.lmaging.lmageLockMoe.ReaonlyBMap.PixelFormat)1 锁定图像数据1 Get the aress of the first lineim ptr As IntPtr = bmpata.ScanO 1 获得图像数据的起始地址If BMap.PixelFormat =
6、 ImagingPixelFormatFormat8bpplnexe Then如果图像是 8 位索引图像,256 彩色,256 灰度图像m WithBMap.With获得图像宽度mHeightBMap.Height获得图像髙度mFwith = (mWith + 3) 4) * 由于图像数据是每行的记录字节数为 4 的整倍数,估作此调整讣算 mWith+ 3 mFwith = mWithmSize = mFwith * mHeight 图像数据的大小mPixels = mWith * mHeight1 图像总像素个数ReimlmageB(mSize-1)眾义一个一维数组,保存图像数据,用于图像数
7、据操作System.Runtime.InteropServices.Marshal.Copy(ptrImageB,0,mSize)1 拷 贝数据zmPalette = BMap.Palette 获得图像的调色板数据 mlmageType = 0 Elself BMap.PixelFormat = Imaging.PixelFormat.Format24bppRgb ThenmWith = BMap.With mHeight =BMap.HeightmCWith = (mWith *3 +3)4)*4 CSize = mCWith * mHeight mPixels = mWith * mHei
8、ght Reim lmageC(CSize-1)1 Copy the RGB values into the array. System.RuntimeteropServices.Marshal.Copyfptr, ImageC, 0, CSize) mlmageType = 1Reim Cpos(mHeight -1) For i = 0 To mHeight -1Cpos(i) = i *mCWith Nexti1 Cpos 数组纪录每行在 ImageC 中的起始位置Elself BMap.PixelFormat = ImagingPixelFormatFormat32bppArgb Th
9、en mWith = BMap.WithmHeight =BMap.HeightCSize = mWith * mHeight *4 mCWith = mWith * 4 mPixels = mWith * mHeight Reim lmageC(CSize-1)1 Copy the RGB values into the array. System.RuntimeteropServices.Marshal.Copyfptr, ImageC, 0, CSize) mlmageType = 2En IfBMap.UnlockBits(bmpata)1 解锁锁泄的位图数据mStatus = Tru
10、e Return TrueEn FunctionPrivate Function putBitMapata() AsBoolean If BMap Is Nothing Then Return Falseim rect As New Rectangle(0, 0, BMap.With, BMap.Height)im bmpata As System .rawingmagingBitmapata = BMap 丄 ockBits(rect, _ rawing.lmaging.lmageLockMoe.WriteOnly, BMap.PixelFormat)1 Get the aress of t
11、he first lineim ptr As IntPtr = bmpata.ScanOIf BMap.PixelFormat = Imaging PixelFormat Format8bpplnexe Then mSize = mFwith * mHeight System.RuntimeteropServices.MarshaLCopy(lmageB0ptrmSizeElself BMap.PixelFormatImaging PixelFormatFormat24bppRgb ThenCSize = BMap.With * BMap.Height * 31 Copy the RGB va
12、lues into the array. System.RuntimeteropServices.Marshal.Copy(lmageC0, ptr, CSize) EnIf/eclare an array to hol the bytes of the bitmapThis coe is specific to a bitmap with 24 bits perpixels. 1 Unlock the bits.BMap.UnlockBits(bmpata) Return TrueEn Function3.应用程序的基本要求:显示图像(初始图像,处理进程中的图像入水纵横比例.唏放.水平移4、
13、BMP 图像文件结构,组织图像数据,实现测试性功能:负片、镜像、图像的代数操作,新建图像BMP Bitmap 关于象的结构: BITMAPFILEHEAER (14Bytes)位图信息头 一 BITMAPINFOHEAER( 40Bytes)调色板 一 Palette ( 256Long=256*4Bytes)实际的位图数据-Image ata:每行存储的字节数是有效像素数据(8 位图像二像素数:24 位图像=像素数字节4 (8bppw3)4)*4:彩色图像(24bpp=(w 怡+3)4 45.图像数据组织:调色板、彩色图像.多波段图像7 = 0. 2997? + 0. 587& + 0. 1
14、1456、图像数据统计:直方图(计算及绘制)、最大最小.方差、爛7.灰度变幻,线性变幻.直方图均衡化(点运算)8、中值滤波、梯度锐化.卷积处理 frmGraian驱慣化 Ge,j)H,j+-,y)i+i/(/+1j)-/(/,j)I G(fJ) = max(| /(/J + -/(/,J)I,| f(i +1 J)-/(/,I) G(/,j) = (/(/,J +1)-/(/,J)2 + (/(/ + 1,j)-/(/,y)2 G(f,;)=i/(/+ij+i)-/(/,ni+i/(/+1,j)-/(/,;+i)i G(iJ) = rnax(| f(i+1J +1) - /(/, j)|,| /(/ +1 J) - /(/J + l)|)/亿刀)+/(= J(/(, +1J +1) (f(i +1J) /亿刀)+/(灰竝陨约束悌陵鶴化云S黑址nsn=4埋处9 几何变幻( Resize,Rotate).几何校正(Georeferencing)遥感影像、航空影像纠正方法:1、成像模型(IOP, EOP); 2、多项式模型(Georeferencing): 3、分区处理 扫描图像:1、多项式模型(Georefer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南省安全员知识题库
- 中华文化的多样性及现代传播方式
- 人际沟通在员工关系中的作用
- 人工智能技术助力媒体融合发展
- 人教部编版语文八年级上册第25课《诗词五首》之《雁门太守行》(新课标单元整体教学设计+课时教学设计)
- 企业研发过程中的知识产权保护
- 2025贵州省建筑安全员B证考试题库附答案
- 计算机二级考试专项突破试题及答案2024年
- 育婴师知识考试指南试题及答案
- 水稻有机肥部分替代化肥减量增效田间试验研究
- (2024年)AED(自动体外除颤器)使用指南
- 县商务局某年商务工作总结
- 中央戏剧学院招聘考试题库2024
- 电动清扫车清扫作业装置的设计与研究
- 2023年福建省中学生生物学初赛试题-(附答案解析)
- 南开大学商学院管理综合历年考研真题汇编(含部分答案)
- 学校三公经费管理制度
- 新外研版高中英语选择性必修一Unit5 developing ideas课件
- 2024年中考语文备考之基础专项语言运用:拟写新闻标题(方法+真题解析)
- 语言表达与运用 试卷(含答案解析)-1
- 牙齿发育异常 畸形根面沟
评论
0/150
提交评论