- 14
- 0
- 约4.63千字
- 约 8页
- 2017-02-06 发布于重庆
- 举报
“数字图像处理”类的基本要求
数字图像处理(基本功能实现)((12月15日前提交))1、编制一个具有Windows图形界面的应用程序(VB.Net, or C#, or C++)2、针对数字图像处理的基本功能,设计并实现一个图像类,把图像文件操作、数据存储及管理、基本的图像处理功能包含在该类中,能处理8位灰度图像、8位索引彩色图像、24位真彩色图像等。VB.NET环境下的基本内容:部分成员变量 Private BMap As Bitmap Bitmap是VB.NET和C#中处理图像的基础类,用于处理由像素数据定义的图像的对象 Private mImageName As String 记录打开图像的文件 Private mPixels As Long, mSize As Long 记录图像的像素个数及存储数据的内存大小(以字节为单位) Private mWidth As Long, mHeight As Long 图像宽度、高度 Private ImageB() As Byte 存储灰度图像数据,一维数组存储。对于8位图像,一个像素 即是一个字节。每行存储的字节数必须是4的整倍数,需要时添加适当字节。与文件中记录的内容完全一致部分成员函数 Public Function ReadImageFile(Optional ByVal FileName As String = ) As Integer If FileName = Or Dir(FileName) = Then If mImageName = Then Exit Function End IfBMap是一个Bitmap对象,dim BMap as Bitmap If Not BMap Is Nothing Then BMap.Dispose() 如果图像对象已经存在,清除对象 BMap = New Bitmap(FileName) 由图像文件创建Bitmap对象 getBitMapData() 读取BMap对象中的图像数据到数组 putBitMapData() xWmin = 0 yWmin = 0 xWmax = BMap.Width - 1 取得pictureBox在容器中的宽度 yWmax = BMap.Height - 1 取得pictureBox在容器中的高度 mImageName = FileName RaiseEvent ImageDataChanged() End Function Private Function getBitMapData() As Boolean 从BitMap对象里获取图像数据 在实际处理程序中一般不采用拷贝备份的做法,可以通过获得的数据指针,直接操作就可以了。 过程是:锁定内存,获取数据的起始地址,根据图像类型操作数据,结束锁定 If BMap Is Nothing Then Return False 图像对象必须存在,完成实例化 Dim i As Integer Dim rect As New Rectangle(0, 0, BMap.Width, BMap.Height) 设置锁定图像范围的矩形 Dim bmpData As System.Drawing.Imaging.BitmapData = BMap.LockBits(rect, _ Drawing.Imaging.ImageLockMode.ReadOnly, BMap.PixelFormat) 锁定图像数据 Get the address of the first line. Dim ptr As IntPtr = bmpData.Scan0 获得图像数据的起始地址 If BMap.PixelFormat = Imaging.PixelFormat.Format8bppIndexed Then 如果图像是8位索引图像,256彩色,256灰度图像 mWidth = BMap.Width 获得图像宽度 mHeight = BMap.Height 获得图像高度 mFwidth = ((mWidth + 3) \ 4) * 4 由于图像数据是每行的记录字节数为4的整倍数,估作此调整计算 mWidth + 3 mFwidth = mWidth mSize = mFwidth * mHeight 图像数据的大小 mPixels = mWidth * mHeight 图像总像素个数 ReDim ImageB(mSize - 1) 定义一个一维数组,保存图像数据,用于图像数据操作 System.Runtime.InteropServices.Marshal.Copy(ptr, ImageB, 0, mSize) 拷贝数据 mPalette
您可能关注的文档
- (总)输血不良反应处理制度与流程.doc
- 03-1信管培养方案.doc
- ---山东农业大学数字化校园建设规划方案---重点参考.doc
- 04社区专业知识(不打印).doc
- 06_嘉讯移动代理服务器(MAS)售后服务内容及承诺.doc
- 10G光模块在数字化视频监控的应用特点.docx
- 10个关于数字电影的基本概念.docx
- 07第七节随机变量的数字特征.doc
- 12-无人机作业在数字化城市建设中的应用2500.doc
- ---内蒙古建筑职业技术学院数字化校园建设方案V1_2---重点参考.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- CAD软件:CATIA二次开发_CATIAVBA编程基础.docx VIP
- 2025 国家电投 新能源区域化管理实施方案.docx VIP
- 基于 CNN-BiLSTM 的中短期电力负荷预测.docx VIP
- 乘运合同纠纷案代理词吴一诉西安汽车客运有限公司客运合同纠纷案.docx VIP
- 机械设计软件:CATIA二次开发_(8).CATIAVBA高级编程技巧.docx VIP
- 佛教戒律论文开题报告.docx VIP
- 2025春人教版三年级下册英语Unit 2 Expressing yourself Part B Read and write 课件.pptx VIP
- CAD软件:CATIA二次开发_(6).CATIAVBA高级编程技巧.docx VIP
- 火电项目可行性报告.ppt VIP
- 机械设计软件:CATIA二次开发_(3).CATIAVBA编程入门.docx VIP
原创力文档

文档评论(0)