ImageMagick 使用 qt ans magick++ 打开并写入图像
Posted
技术标签:
【中文标题】ImageMagick 使用 qt ans magick++ 打开并写入图像【英文标题】:ImageMagick open and write image with qt ans magick++ 【发布时间】:2010-12-06 23:46:36 【问题描述】:我在 Qt 中使用 Magick++ 库
我使用下面的代码来读写图像:
Image image;
image.read(qPrintable(f.absoluteFilePath()));
image.addNoise(GaussianNoise);
image.magick("png");
image.write("image_name");
其中 f.absoluteFilePath 是我的图像的绝对路径 示例:/Users/user/Desktop/test/P1030673.jpg
代码完成后,我找不到名为“image_name”的图像。 我查看了第一个图像“/Users/macmini/Desktop/test/”的文件夹,但它不存在 我试图搜索该图像,但它似乎不在我的计算机中。
我哪里出错了? 如何将图像保存在计算机中? 有什么方法可以指定我想要保存图像的路径吗?
谢谢
【问题讨论】:
阅读有用吗?此外,可能还有一种方法可以在 write() 期间检查错误。 【参考方案1】:您应该会找到保存在当前工作目录中的文件。如果您想将其保存在其他地方,请给出绝对路径。
【讨论】:
当前工作目录是什么意思? - 我有 Magick++ 库文件夹 - 我的 Qt 项目所在的目录 - qt 项目运行时所在的目录 - 以及图像所在的目录 如何提供绝对路径?感谢您的回答 如果您从菜单或桌面应用程序链接启动程序,则 cueernt 工作目录将是您的主目录,除非您在链接中定义了另一个工作目录。如果您从 shell 启动程序,则当前工作目录是您启动程序时所在的目录。 绝对路径是以“/”开头的任何路径 问题与imagemagick有关。当然,我知道当前的工作目录是什么,但我无法在那里找到任何文件【参考方案2】:对于可能遇到相同问题的每个人: Imagemagick 会将图像保存在 .app 包中
除非您在 read() 函数中指定路径,否则您将无法找到图像文件
通过检查我的 .app 文件的大小,我注意到以下情况 每次我尝试保存图像时它都会增加。
【讨论】:
这个问题似乎是 OSX 特有的。也许你应该提交一份关于 imagemagick 的错误报告。以上是关于ImageMagick 使用 qt ans magick++ 打开并写入图像的主要内容,如果未能解决你的问题,请参考以下文章
在着色器中访问时,OpenGL 如何决定使用 MAG_FILTER 和 MIN_Filter?