问题标签 [ppm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C中的隐写术
尝试对 PPM 图像进行基本的隐写术。
我已经完成了基本算法。读入文件,检查头部以P6开头,得到图像宽高,像素数据。
我一共需要四个方法:ReadPPM、WritePPM、WriteMsg 和 ReadMsg。
我有 ReadImg 和 WriteImg 方法,但我卡住的地方是我的 WriteMsg 方法。这是基本的隐写术,只是将字符串的每一位写入每个字节的最后一位。假设前 8 个字节包含被隐藏字符串的大小,然后每个字节开始隐藏消息。
我的想法是创建一个庞大的数组,其中包含字符串大小的二进制代码,然后是字符串本身的二进制代码。我只是想弄清楚如何获取该数组并将其添加到图像中的每个字节。
任何帮助深表感谢。这是我当前的代码:
c - 将 PPM 图像旋转 90 度
我正在尝试将 PPM 图像旋转 90 度。我目前能够将图像旋转 180 度。我不确定如何做到这一点。
我知道高度和宽度是交换的,但我不知道从那里去哪里。
c++ - SDL 将像素放在屏幕上 C++
我从 SDL 开始,我正在阅读介绍,我正在尝试drawPixel
他们的方法。我正在做的是一个 ppm 查看器,到目前为止,我有一个数组中的 rgb 值并且被正确存储(我通过打印数组并确保它们对应于它们在 ppm 文件中的位置来检查它们)并且我想使用 SDL画图。到目前为止,我编写的代码是(这是main.cpp
文件,如果ppm.hpp
需要ppm.cpp
,请告诉我添加它们)
正如介绍所提供的drawPixel
那样,现在调用了我尝试使用的 ppm 文件cake.ppm
,它的大小为 720x540,但是当我构建并运行此代码时,我得到应用程序没有响应。我在一个 426x299 的较小 ppm 文件上进行了尝试,它显示了一个窗口,窗口上放置了颜色。
- 为什么它不能在
cake.ppm
文件上工作而在其他文件上工作?是因为尺寸吗? - 当我尝试 ppm 文件,第二个 426x299 或其他 ppm 文件时,颜色完全不同,这是为什么呢?
- 当我运行应用程序时,放置像素后,窗口关闭,我该如何保留它?
尝试一个文件squares.ppm
,它应该是这样的:
但这就是我得到的
mp4 - 使用 ffmpeg 的 ppm 到 mkv/avi/mp4 转换的视频无法由 Lightworks 打开,但可以完美观看
我正在尝试为我自己的个人项目做古尔西工作。我设置了所有内容,并且已经将 ppm 输出转换为视频文件。我可以毫无问题地打开并观看文件。但是在编辑程序时 Lightworks 不会加载它。我用 .mkv、.avi 和 .mp4 尝试过,但它不起作用。
这是我的命令行命令(在批处理文件中调用):
对于 .avi 和 .mp4,错误是:Format unlicensed
对于 .mkv,错误是:failed to import
我应该使用哪些设置?或者我应该使用另一个程序?
c - C - 需要帮助交换红色和绿色组件
这段代码(我从以前的 Stack Overflow 问题中找到的代码编辑)能够接受 ppm 图像的输入并输出相同的图像,但所有颜色都是互补的。在我的作业中,我被要求这样做,然后交换红色和绿色组件(基本上将 img->data[i].red 变成 img->data[i].green ,反之亦然)。但是,我不确定如何去做。我不能只做两个相等的陈述,因为第一个基本上会使第二个无效。我唯一能想到的就是创建一个 PPMImage 类型的临时数组(之前创建的一个结构)。但是,我有点不确定代码和逻辑是如何工作的。
这是代码。changecolorPPM 函数中的“for”循环是补色的地方,我很确定需要进行交换。
c - C - Mirror a PPM from left to right
I have to write a program where I take user input for a PPM image and then mirror the image from left to right (basically flipping it over the y-axis). So if the image was <, the new image would now be >. This should not be a 180 degree rotation, as that would make the image upside down. It should still be the same, just reflected.
I have the code here that I used to input and output the PPM, but I don't know how to mirror it. I made a function that would theoretically be used for the mirror code, but I'm not sure if that's the best way to do it either. If you know a better place to put the code, be my guest.
I have researched this topic quite a bit, but was only able to find issues where people needed to rotate the image.
Here is what I have so far:
windows - 用于安装多个 perl 模块的 Windows 批处理文件 - 仅运行第一行
我正在 Windows 上安装 Bugzilla,并且 checksetup.pl 要求我通过运行 ppm(Perl 包管理器)命令来安装一堆模块,如下所示:
这运行正确,并安装 TimeDate 模块。
我以前没有做过太多命令行的事情,但我认为这是尝试它的好时机。所以我制作了一个名为 PerlModules.bat 的批处理文件:
运行它会产生以下输出:
所以看起来只有批处理文件的第一行实际运行,其余的什么都不做。
最后我查看了 ppm 的手册页,ppm help
发现我可以一次传递所有的包名,省去了解决这个问题的麻烦,但我真的不明白为什么我的小批处理文件不起作用.
我认为批处理文件只是逐行输入到 shell 提示符,等到每个都完成它的工作,直到它们到达文件末尾。我在这个等式中缺少什么?
c - 我的图像解码程序有什么问题?
我得到了一个图像文件,真实图像隐藏在随机像素后面。我必须通过将红色值乘以 10 并将绿色/蓝色值设置为等于新的红色值来解码图像。(而且我不能超过颜色的最大值 255)当我运行这个程序时,它应该创建一个名为“hidden.ppm”的输出文件。我运行了我的程序,但我得到的只是“分段错误”,我不知道为什么。
c - 为什么我在运行程序时会出现“分段错误”?
我的程序解码由随机像素覆盖的图像,要解码图像,我必须将每个像素的红色分量乘以 10。绿色和蓝色分量与新的红色分量具有相同的值。我创建了多个辅助函数,以使代码在 main 中更易于阅读,但是当我尝试运行我的 a.out 时,我不断收到“分段错误”。我似乎找不到我的错误!帮助表示赞赏。
tcl - ppmtogiff:多种颜色的解决方法
我正在编写一个脚本,该脚本采用 .xwd 图像,在其上运行 wxdtopnm,然后将其通过管道传输到 ppmtogif。基本上:
但是,有时我会收到错误消息
好吧,我尝试了 ppmquant,长话短说,该选项不可用。我偶然发现了pamdepth并想尝试一下。但是,我找不到关于如何正确使用它的实际示例,而且我也不完全是 tcl 专家。
我试过
但这没有用。我收到消息
有人可以举一个如何正确使用 pamdepth 的例子吗?