我试图在我的 iphone 应用程序中实现 UIImage 的直方图均衡方法(HE)。
我读了以下内容:
http://en..org/wiki/Histogram_equalization但它说:
那么这将是一个可行的方法?
抓取 UIImage 数据并从 RGB 转换为 HSL
在亮度通道上应用 HE
将数据转换回 RGB
从数据创建新的 UIImage
我想知道这会很慢吗?另外,我将不得不以不同的方式处理 8 / 16 / 24 位数据,因为我不知道我的应用程序将使用什么样的图像?或者我可以假设 iPhone 中的图像为 24 位?
我将不胜感激任何指针的目标 C code,做颜色校正直方图均衡。
我已经看了的库,但它不做任何颜色校正 HE:
http://code.google.com/p/simple-iphone-image-processing/source/browse/#svn/trunk/Cl%3Fstate%3Dclosed谢谢
是的,你可以这样做,这将起作用。是的,它会“花费更多”,因为你必须来回进行转换-但这是你必须付出的代价,如果你不想影响色调和饱和度。对于你正在纠正的图像来说,这是值得的吗?这取决于你的应用程序,你可以在性能和最佳质量方面取得成功吗?你可能只需要处理 8 位图像,但你可以假设“24 位”
我建议使用YUV Colorspace。为了准确性和计算简单性(线性组合)。
一种方法是在 RGB 图像 (Image2) 上应用直方图均衡。然后让用户选择他想要的,仅应用于亮度或所有 3 个通道。对于第一个选择,将原始图像的 UV 通道与均衡图像的 Y 通道转换回 RGB。对于第二个选择,只需将 Image2 留给用户。
由于转换后,您将 I / V 作为连续值处理,因此您必须应用一些分箱策略,这会导致您希望均衡的数量的步骤直方图。
只需编写将 HE 应用于每个 RGB 组件的代码和模型。虽然它的 3 个组件有很多计算,但是编程速度是可以的。在大多数情况下,对比度提高了,但是图像的“外观”改变了。因此,同意将 RGB 转换为另一个空间,然后再次应用 HE。我正在寻找公式以及 HE 的正确颜色空间。哪个颜色空间更容易?
我在 iPad 平台上编写 HE,但我发现在打开从我的佳能拍摄的大图像后,整个程序在 UIPopoverContoller,UIImagePickerController 功能后崩溃。我认为这可能是由于我在手机的操作系统上推得太多,或者操作系统只为每个应用程序分配有限大小的内存空间。如果应用程序使用的内存超过了预先设置的内存收集,那么 iOS 必须立即杀死应用程序。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(13条)