ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:2.23MB ,
资源ID:9894423      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9894423.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AForge学习笔记.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AForge学习笔记.docx

1、AForge学习笔记AForge学习笔记:1AForge.Imaging.Filters|AdaptiveSmoothing:图像平滑处理,用于对图像进行适度的平滑,再平滑噪声的条件下保留边缘效应,实现如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop0.jpg);Bitmap bt1 = bt.Clone(new Rectangle(new Point(0,0),bt.Size),bt.PixelFormat);pictureBox1.Image = bt;/ create filterAForge.Imaging.Filters.Adaptiv

2、eSmoothing filter = new AForge.Imaging.Filters.AdaptiveSmoothing();/ apply the filterfilter.ApplyInPlace(bt1);结果如下图所示。Add :将原始图像和叠置图像像素相加得到新图像,我们通过红色+黄色=橙色来展示运行结果:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);Bitmap bt1 = new Bitmap(C:UsersGAOXIANGDesktop2.jpg);/ 创建过滤器AForge.Imaging.Filters.Ad

3、d filter = new AForge.Imaging.Filters.Add(bt);/图像相加Bitmap resultImage = filter.Apply(bt1);运行结果如下图。AdditiveNoise:通俗的翻译,我们可以理解为添加剂噪声滤波器,在原始图像的像素中添加一个随机值,随机值由IRandomNumberGenerator生成,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);pictureBox1.Image = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);/ 创

4、建随机数组IRandomNumberGenerator generator = new UniformGenerator(new Range(-50, 50);/ 创建过滤器AForge.Imaging.Filters.AdditiveNoise filter = new AForge.Imaging.Filters.AdditiveNoise(generator);/ 图像处理filter.ApplyInPlace(bt);运行结果如下。BackwardQuadrilateralTransformation:后向四边形转换,可以实现将原始图像转换到目标图像的四边形区域当中,示例如下:Bitm

5、ap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);Bitmap bt1 = new Bitmap(C:UsersGAOXIANGDesktop2.jpg);/ 定义四边形角点List corners = new List();corners.Add(new IntPoint(99, 99);corners.Add(new IntPoint(156, 79);corners.Add(new IntPoint(184, 126);corners.Add(new IntPoint(122, 150);/ create filterAForge.Imagi

6、ng.Filters.BackwardQuadrilateralTransformation filter = new AForge.Imaging.Filters.BackwardQuadrilateralTransformation(bt, corners);/ apply the filterBitmap newImage = filter.Apply(bt1);运行结果:BayerDithering:基于Bayer 矩阵的图像有序抖动,实现如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);Bitmap bt1 = bt.Clo

7、ne(new Rectangle(new Point(0,0),bt.Size),PixelFormat.Format8bppIndexed);/ 创建过滤器AForge.Imaging.Filters.BayerDithering filter = new AForge.Imaging.Filters.BayerDithering();/ 图像过滤filter.ApplyInPlace(bt1);运行结果:BayerFilter:通过色彩传感器建立色彩矩阵将灰度图转为彩色图。Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop3.jpg);/Bitmap

8、 bt1 = bt.Clone(new Rectangle(new Point(0,0),bt.Size),PixelFormat.Format8bppIndexed);/ 生成过滤器BayerFilter filter = new BayerFilter();/ apply the filterBitmap rgbImage = filter.Apply(bt);运行结果:BilateralSmoothing:使用色彩和空间因子进行保存边缘效应,消除噪声的双向平滑。示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop2.jpg);/ creat

9、e filterAForge.Imaging.Filters.BilateralSmoothing filter = new AForge.Imaging.Filters.BilateralSmoothing();filter.KernelSize = 7;/空间因子filter.SpatialFactor = 10;/色彩因子filter.ColorFactor = 60;filter.ColorPower = 0.5;/ apply the filterfilter.ApplyInPlace(bt);运行结果:BlobsFiltering:将一定大小的对象剔除,示例如下:Bitmap bt

10、 = new Bitmap(C:UsersGAOXIANGDesktop1.bmp);/ 创建过滤器AForge.Imaging.Filters.BlobsFiltering filter = new AForge.Imaging.Filters.BlobsFiltering();/ 设置过滤条件(对象长、宽至少为70)filter.CoupledSizeFiltering = true;filter.MinWidth = 100;filter.MinHeight = 80;filter.ApplyInPlace(bt);运行结果:Blur:对图像实施模糊变换。BradleyLocalThre

11、sholding:局部阈值处理,当像素值比邻近窗体所有像素的均值低百分之t 时将该点取为黑,否者均为白。示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop2.jpg);AForge.Imaging.Filters.BradleyLocalThresholding filter = new AForge.Imaging.Filters.BradleyLocalThresholding();filter.ApplyInPlace(bt);运行结果:BrightnessCorrection :灰度矫正,若输入的矫正数p为正,则将输入图像灰度值范围变换

12、为【0,255-p】,输出范围为【p,255】,当为负时输入范围【-p,255】,输出范围【0,255-p】。CannyEdgeDetector:使用Canny边缘检测算子检测边缘,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);Bitmap bt1 = bt.Clone(new Rectangle(new Point(0, 0), bt.Size), System.Drawing.Imaging.PixelFormat.Format8bppIndexed);AForge.Imaging.Filters.CannyEdgeDet

13、ector filter = new AForge.Imaging.Filters.CannyEdgeDetector();filter.ApplyInPlace(bt1);运行结果:CanvasCrop,CanvasFill,CanvasMove:对特定区域进行色彩填充,或对图像进行整体移动。ChannelFiltering:对彩色图像RGB通道进行灰度过滤,在某以特定范围的至将被保留或去除,使用如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);AForge.Imaging.Filters.ChannelFiltering filt

14、er = new AForge.Imaging.Filters.ChannelFiltering();/ 确定通道过滤范围filter.Red = new IntRange(0, 255);filter.Green = new IntRange(100, 255);filter.Blue = new IntRange(100, 255);filter.ApplyInPlace(bt);运行结果:Closing:方法:对图像中的单个对象进行膨胀,在进行侵蚀,由于膨胀会使本来不相连的独立对象相互连接,使得即是侵蚀也依旧能保持对象的相连状态。ColorRemapping:与LevelsLinear不

15、同,ColorRemapping可以对图像进行非线性变换,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);byte map = new byte256;for (int i = 0; i 256; i+) mapi = (byte)Math.Min(255, Math.Pow(2, (double)i / 32);/ create filterAForge.Imaging.Filters.ColorRemapping filter = new AForge.Imaging.Filters.ColorRemapping(map,

16、map, map);/ apply the filterfilter.ApplyInPlace(bt);运行结果:Connectedcomponentslabeling:通过为不同对象去不同颜色来区别图像中的不同部分。ConservativeSmoothing:使用矩阵窗口在图像中搜索,将窗口中最小或最大值用平均值来代替以此消除噪声。Convolution :卷积操作,通过设置不同的卷积矩阵获得不同的图像处理效果,如下面示例:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);pictureBox1.Image = new Bitmap(C:

17、UsersGAOXIANGDesktop1.jpg);/ 定义卷积核int, kernel = -2, -1, 0 , -1, 1, 1 , 0, 1, 2 ;/创建过滤器AForge.Imaging.Filters.Convolution filter = new AForge.Imaging.Filters.Convolution(kernel);filter.ApplyInPlace(bt);运行结果:CornersMarker :通过角点算法探测并高亮显示角点,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.bmp);/ crea

18、te corner detectors instanceSusanCornersDetector scd = new SusanCornersDetector();/ create corner maker filterAForge.Imaging.Filters.CornersMarker filter = new AForge.Imaging.Filters.CornersMarker(scd, Color.Black);/ apply the filterfilter.ApplyInPlace(bt);运行结果:Crop :对原始图像确定矩形边界点并生成新图。Difference :原始

19、图像与叠置图像的差分运算。DifferenceEdgeDetector:在四方向上计算像素的差分最大值,因此获得边缘线(原始图像为灰度图),示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);pictureBox2.Image = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);/ create filterAForge.Imaging.Filters.DifferenceEdgeDetector filter = new AForge.Imaging.Filters.DifferenceEdgeDe

20、tector();/ apply the filterfilter.ApplyInPlace(bt);运行结果:Dilatation:膨胀算法,原理十分简单,去一定的临近像素,并将;临近像素最大值赋给当前像素。Edges:简单的边缘探测。Erosion :图像侵蚀,与膨胀算法完全相反,将临近像素最小值赋给当前点。EuclideanColorFiltering:欧几里德色彩过滤,使用RGB球体对色彩进行过滤。ExtractBiggestBlob:从图像中裁剪出最大的对象。ExtractChannel:获得彩色图像中的一个通道,并返回灰度图像。FillHoles:用于填补空洞。FilterIter

21、ator:用于过滤迭代操作,该类本身并未实现过滤功能,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);FiltersSequence filterSequence = new FiltersSequence();filterSequence.Add(new HitAndMiss( new short, 0, 0, 0 , -1, 1, -1 , 1, 1, 1 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new short, -1, 0, 0 ,

22、 1, 1, 0 , -1, 1, -1 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new short, 1, -1, 0 , 1, 1, 0 , 1, -1, 0 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new short, -1, 1, -1 , 1, 1, 0 , -1, 0, 0 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new

23、short, 1, 1, 1 , -1, 1, -1 , 0, 0, 0 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new short, -1, 1, -1 , 0, 1, 1 , 0, 0, -1 , HitAndMiss.Modes.Thinning);filterSequence.Add(new HitAndMiss( new short, 0, -1, 1 , 0, 1, 1 , 0, -1, 1 , HitAndMiss.Modes.Thinning);filterSequence.Add(new

24、HitAndMiss( new short, 0, 0, -1 , 0, 1, 1 , -1, 1, -1 , HitAndMiss.Modes.Thinning);/ 进行十次迭代AForge.Imaging.Filters.FilterIterator filter = new AForge.Imaging.Filters.FilterIterator(filterSequence, 10);Bitmap newImage = filter.Apply(bt);运行结果:GammaCorrection:基于公式:V(output)=V(input)g,g为改正系数。GaussianBlur

25、,GaussianSharpen:高斯模糊,高思锐化。Grayscale :图像的灰度变换,RGB三通道以一定的比值求和获得像素灰度值。GrayscaleToRGB:将灰度图转换为彩色图。HistogramEqualization:直方图均衡化,示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);/ 创建过滤器AForge.Imaging.Filters.HistogramEqualization filter = new AForge.Imaging.Filters.HistogramEqualization();filter.A

26、pplyInPlace(bt);运行结果:HomogenityEdgeDetector :边缘探测。IterativeThreshold:迭代阈值法,最后生成非黑即白的图像,具体算法过程为:1)设定初始阈值,小于阈值取背景色,大于阈值取对象色 2)阈值的一半继续迭代运算 3)当上一阈值与本阈值只差绝对值小于某值时停止运算。OilPainting:处理原理很简单:首先确定一定的搜索面积,在搜索区域内寻找出现频率最高的灰度值,找到后将其值赋值给当前搜索中心像素。示例如下:Bitmap bt = new Bitmap(C:UsersGAOXIANGDesktop1.jpg);/ 确定画笔为15Oil

27、Painting filter = new OilPainting(30);/ apply the filterfilter.ApplyInPlace(bt);运行结果:Opening:相当于对图像先进行侵蚀后进行膨胀。Pixellate:通过产生一定的矩形大小,使矩形中的像素具有相同的像素值,以此产生类似于马赛克的图像效果。QuadrilateralTransformation:提取原图像中的四边形区域的图像信息。StereoAnaglyph:用于产生立体视图,提供的初始影像应当具有不同的视角,示例如下:/ create filterStereoAnaglyph filter = new StereoAnaglyph( );/ set right image as overlayfilter.Overlay = rightImage/ apply the filter (providing left image)Bitmap resultImage = filter.Apply( leftImage );运行结果:TexturedFilter:为图片创建纹理。Threshold:基于特定阈值的图像二值化,当像素值大于阈值,为白色,小于阈值则取黑色。WaterWave:使图像具有水波纹效果。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1