【发布时间】:2013-04-29 03:47:04
【问题描述】:
我正在为生物医学成像课程做一个项目(注意:这是一门非编程课程,所以寻求编程帮助不是作弊。寻求规划方面的概念帮助是作弊。)我需要什么使用不同的数学变换来处理图像。我正在用 C 语言编写,所以它可以尽可能快。我已经完成了数学变换的代码,但我意识到我不知道如何将灰度 .png 文件转换为二维矩阵/数组以进行计算,并且我不知道如何显示 .png C 中的文件。任何人都可以帮助我吗?
我正在尝试将“image.png”图像转换为二维数组,其中数组中的每个条目的值介于 0 - 255 之间,并与“image.png”中的每个像素对应。我还想将一个二维数组转换为一个新的“image_two.png”文件,其中每个条目对应于图像中的一个像素,值在 0 - 255 之间。
我是一个有点新的程序员。我在 python 编程方面有扎实的基础,但 C 对我来说是新的。我做了很多研究,发现很多人都在谈论使用"this library" 或"that library" 或"this library",但是如何在C 中使用下载的库?作为一个 python 程序员,这对我来说是一个陌生的领域:(
我使用的是 Ubuntu 12.04
重申:
如何在 C 中将灰度 .png 图像读取为二维数组/矩阵?
如何在 C 中将二维数组/矩阵显示为灰度图像?
您如何在 C 代码中使用下载的库(特别是针对上述两个问题)?我发现了如何使用这些库。
编辑:我仍然无法弄清楚如何从 .png 文件中创建灰度 2d 数组以及如何从灰度 2d 矩阵中创建 .png 文件。其他人可以帮忙吗?
【问题讨论】:
-
学习如何使用基本的编译器工具通常不在 SO 的范围内。
-
旁注:“我正在用 C 语言编写,所以它可以尽可能快”,如果您不了解该语言可能会非常具有挑战性。您可能会更好地使用您已经知道的语言并以可接受的速度正确运行代码,而不是学习全新的语言并获得运行速度非常快但完全错误的代码(至少在您学习足够的新语言之前有一段时间)。
-
他在学习,没有比尝试写东西和解决遇到的问题更好的学习方法了。让他休息一下。
-
我为我的数学转换编写的代码在 python 中需要 1.5 小时,在 C 中需要 2 分钟。我对 C 中的逻辑非常了解,可以拥有明显更快的代码,我只需要一个获取 .png 文件本身的方法。