简单的iphone图片处理程序

简单C++类与Objective-C封装实现图像处理
本文介绍了一个简单的C++类及其Objective-C封装,用于图像处理任务,包括精细的边沿检测、均匀的直方图、拓扑骨架、阈值、亮度正常化等操作。该代码支持多种图像处理技术,适用于多种项目应用。

原文出处:http://code.google.com/p/simple-iphone-image-processing/

  申明:本博文内容来自于互联网,如因本文内容而发生的一切纠纷,均与本文章的翻译者无关。翻译质量因本人水平,有所限制。欢迎批评指正。本文章仅供参考、学习、交流之用,禁止用于任何商业用途。转载时请保留原文出处与保留本申明,多谢合作!

  我写了一个简单的C++类并用Objective-C包装好以防我们要设置的公用图片来自于UIImage或是要转换成UIImage。

  这个源码支持以下的所有操作

           你可以给它传送一个UIImage,它会把UIImage转换成一幅灰度图片,为后期的图片处理做准备。现在,我会简短地讲一讲如何在一张图片中控制“绿色通道”(我的图片是要做成一张报纸,所以它没有颜色)。你可能会取消红、绿、蓝通道的平均水平线

      在示例工程中,你可以加入你的图片到工程中,它们会显示在待处理的图片列表中。

      这些类的 典型应用如下:

// convert to grey scale and shrink the image by 4 - this makes processing a lot faster!
ImageWrapper *greyScale=Image::createImage(srcImage, srcImage.size.width/4, srcImage.size.height/4);

// do a gaussian blur and then extract edges using the canny edge detector
// you can play around with the numbers to see how it effects the edge extraction
// typical numbers are tlow 0.20-0.50, thigh 0.60-0.90
ImageWrapper *edges=greyScale.image->gaussianBlur().image->cannyEdgeExtract(0.3,0.7);
// show the results
resultImage.image=edges.image->toUIImage();

        用Objective-C封装好的类,会很小心地管理你的内存,所有的C++类都会直接返回给你封装好的对象或直接对图片进行处理。

       这些源码最近被我用到了一个iPhone的数独表工程上http://sudokugrab.blogspot.com/ ,当前它也可以扩展到其它的项目里面。

        svn checkout http://simple-iphone-image-processing.googlecode.com/svn/trunk/

        你也可以看一下此类的工程,它会在类似这样的的情况下被使用http://www.youtube.com/watch?v=oImMJ6p6mKE

转载于:https://www.cnblogs.com/zeping/archive/2011/10/14/2212166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值