haskell - Haskell 中的定向梯度直方图

标签 haskell image-processing histogram

我从未编写过一行 Haskell 代码(除了我的 xmonad 配置文件中的随机内容),但我认为学习函数式编程的完美方法就是实践。我想编写一个程序来读取任意文件类型和大小的图像文件,并读取像素位置列表。然后,它应该计算以每个输入像素列表为中心的窗口中的定向梯度直方图,并且需要写出这些直方图。我会从小处开始,所以假设我只使用文本文件作为输出。

有哪些在线资源可用于学习如何执行此操作。特别是如何读取图像、处理像素数组等。我不介意需要自己构建基础设施;但我希望这种项目一旦完成,我就能合理地为科学计算任务创建我自己的 Haskell 子例程。任何其他想法/建议都非常受欢迎和鼓励,即使您认为这个想法很愚蠢或者您是那些奇怪的 OCaml 人之一。我的背景是Python。使用 NumPy 在 Python 中很容易做到这一点,但我想为了科学而学习 Haskell!

最佳答案

如果您以前从未编写过任何 Haskell 代码,我不建议您从二进制数据操作开始,因为您主要是在与库进行斗争,而不是学习语言本身。也许您应该首先查看 Learn You a Haskell , Real World HaskellYet Another Haskell Tutorial .

如果您确实希望继续该项目,我建议您使用 PGM因为它是非常简单的图像格式。我最近在 Haskell 中实现了一个 PGM 解析器,并且 我最大的困难是理解如何在 Haskell 中处理二进制数据。以下是一些对我有帮助的资源:

关于haskell - Haskell 中的定向梯度直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7505196/

相关文章:

c++ - 从这张图片中识别绿色圆圈

OpenCv:克服亮度对颜色直方图的影响

haskell - 从用户输入中读取 float 或字符串

networking - Haskell 网络.浏览器 HTTPS 连接

algorithm - 维奥拉-琼斯算法 - "Sum of Pixels"?

matlab - 如何在 MATLAB 中降低图片的亮度级别?

c - 如何离散化连续空间来制作直方图?

java - 如何设置JFreeChart.Histogram来对应数据

haskell - 将 [Int] 转换为 [Word8]

haskell - 从 Continuation monad 中的 IO monad 转义