标签: ppm

如何使用ppm升级所有可升级包?

当我打开时ppm,UI向我显示了几个可升级的包.不幸的是,我无法通过键入Ctrla或单击第一个元素来选择它们,按住Shift然后选择列表中的最后一个元素.

我是否真的需要遍历所有元素并+按键才能选择它们?拒绝相信.

perl upgrade ppm

13
推荐指数
1
解决办法
4578
查看次数

读取PPM文件并将其存储在数组中; 用C编码

我需要读取一个PPM文件并将其存储在用C编写的数组中.任何人都可以帮我做这个吗?

非常感谢.

c ppm

8
推荐指数
2
解决办法
5万
查看次数

C中的隐写术

尝试在PPM图像上进行基本的隐写术.

我已完成基本算法.读入文件,检查标题以P6开头,获取图像的宽度和高度,以及像素数据.

我需要总共有四种方法:ReadPPM,WritePPM,WriteMsg和ReadMsg.

我有ReadImg和WriteImg方法,但我遇到的是我的WriteMsg方法.这是基本的隐写术,只是将字符串的每个位写入每个字节的最后一位.假设前8个字节包含被隐藏的字符串的大小,然后每个字节开始隐藏的消息.

我的想法是创建一个大型数组,其中包含字符串大小的二进制代码,然后是字符串本身的二进制代码.我只想弄清楚如何将该数组添加到图像中的每个字节.

任何帮助深表感谢.这是我目前的代码:

#include<stdio.h>
#include<stdlib.h>

typedef struct {
     unsigned char red,green,blue;
} PPMPixel;

typedef struct {
     int x, y;
     PPMPixel *data;
} PPMImage;

#define CREATOR "RPFELGUEIRAS"
#define RGB_COMPONENT_COLOR 255

static PPMImage *readPPM(const char *filename)
{
    char buff[16];
    PPMImage *img;
    FILE *fp;
    int c, rgb_comp_color;
    //open PPM file for reading
    fp = fopen(filename, "rb");
    if (!fp) {
         fprintf(stderr, "Unable to open file '%s'\n", filename);
         exit(1);
    }

    //read image format
    if (!fgets(buff, sizeof(buff), fp)) {
         perror(filename);
         exit(1);
    }

    //check …
Run Code Online (Sandbox Code Playgroud)

c steganography pixel image-processing ppm

6
推荐指数
1
解决办法
7548
查看次数

如何修复ActivePerl的PPM"数据库磁盘映像格式错误"错误?

我最近在Windows 8.1上安装了ActivePerl 18(v5.18.2)64位,并且ppm一直产生相同的错误:DBD :: SQLite :: db selectrow_array失败:数据库磁盘映像格式错误.

这是我的命令提示符的一个exerpt:

ppm install Win32-Console-ANSI
ppm install failed: DBD::SQLite::db selectrow_array failed: database disk image is malformed

ppm rep
ppm rep failed: DBD::SQLite::db selectrow_array failed: database disk image is malformed

ppm
ppm gui failed: DBD::SQLite::db selectrow_array failed: database disk image is malformed
Run Code Online (Sandbox Code Playgroud)

sqlite perl activeperl ppm

6
推荐指数
1
解决办法
3533
查看次数

在 C# 中读取 PPM 图像

在 C# 中读取 PPM (P6) 图像文件并将其保存为位图的最佳方法是什么?

c# bitmap ppm

5
推荐指数
1
解决办法
6537
查看次数

Linux perl模块管理

是否有除CPAN之外的程序来安装/编译perl模块并安装它们?

主要是我正在寻找像Activestate PPM这样的东西,我能找到的最接近的是CPAN上的PPM,但是当我尝试安装它时因某些" 未知 "的原因而失败.我相信如果我挖掘输出我可以找到原因,但它主要是希望我犯错误.

无论如何有什么?如果因为我在Ubuntu上使用GNOME而拥有GTK前端会很好,并且玩新模块会很不错.

我真正想要的是能够通过命令行至少安装和卸载模块.

此外,是否可以编写perl模块安装脚本?例如,当有人安装我的.DEB包时,有没有办法从CPAN检索源代码(如果需要,使用CPAN)并为系统构建它?

perl ppm

5
推荐指数
2
解决办法
6315
查看次数

为什么没有找到ppm:命令?

我正在尝试运行一些ppm命令,但我没有走得太远.我正在Ubuntu 12.04.1 LTS VM.

> $ sudo apt-get install ppm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ppm is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Run Code Online (Sandbox Code Playgroud)
> $ ppm repo add ASSP2 "http://downloads.sourceforge.net/project/assp/ASSP V2 multithreading/packages/"
No command 'ppm' found, but there are 16 similar ones
ppm: command not found
Run Code Online (Sandbox Code Playgroud)
> $ perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) …
Run Code Online (Sandbox Code Playgroud)

shell perl ppm ubuntu-12.04

5
推荐指数
1
解决办法
8765
查看次数

C - 逐步执行结构指针的问题

这是相当基本的,我可能错过了一些非常明显的东西,但是这个让我有点难过.基本上,假设我试图将整个PPM图像变为红色(这实际上并不是我正在做的事情,但为了排除故障,我们将继续这样做).我有一个结构,我用来存储像素值.

typedef struct pixel_type
{
   unsigned char r;
   unsigned char g;
   unsigned char b;
}  pixel_t;
Run Code Online (Sandbox Code Playgroud)

我用来指向该结构的指针是"缓冲区".

pixel_t *buffer;
Run Code Online (Sandbox Code Playgroud)

我也分配了我需要的空间量(图像的宽度*图像的高度*像素值的数量[3])

buffer = malloc(WIDTH*HEIGHT*sizeof(pixel_t));
Run Code Online (Sandbox Code Playgroud)

然后我有一个'for'循环,我用它来逐步通过缓冲区指针并将每个像素值转换为红色.

int i;
for (i=0;i<(WIDTH*HEIGHT);i++){
   buffer->r=255;
   buffer->g=0;
   buffer->b=0;
   buffer++;} //this part appears to be the problem
Run Code Online (Sandbox Code Playgroud)

这里的问题是输出只是一个黑色图像,顶部有几个垃圾像素.我也尝试取出'buffer ++',并且第一个像素似乎被转换为红色而没有任何问题.但是,当我把它重新放入时,没有像素是红色的(甚至不是第一个).

我不确定我错过了什么.我知道当你创建一个指针时,你可以直接通过在末尾用'++'做指针(没有*取消引用)来逐步指向指针的下一个地址.然而,这似乎是个问题.有人能告诉我我做错了什么吗?

再次感谢,

奥斯汀

c struct pointers pixel ppm

5
推荐指数
1
解决办法
493
查看次数

C:将 RGB 值的结构写入文件以创建 ppm 图像 - 文件过早结束

该程序我正在创建一个隐写术程序,通过将随机红色像素值更改为 ascii 字符来隐藏 .ppm 图像中的秘密消息。该程序基于 stackoverflow 上用于读取和写入 ppm 图像的代码(读取 PPM 文件并将其存储在数组中;用 C 编码),所有其他代码都是我自己的工作。我已经完成了所有必要的功能,例如写入、读取、编码和解码文件,但我正在努力掌握 fwrite 功能。

当前,当程序对图像进行编码时,它会在 .ppm 中将其转换为结构中的 rgb 值。然后它通过将红色值编辑为 ascii 字符来隐藏秘密消息。将图像“打印”到文件时会出现问题。程序完成后,生成的图像大约是应打印图像的 90%。示例如下: 未完成图像示例

我已经检查过它是否通过打印所有 rgb 值来存储所有值都被正确存储,并且确实如此。(使用 showPPM 方法)。是否没有足够的内存来写入图像?写入功能的图像是否过大?这些是我的猜测。

关于我应该如何更改 writePPM 函数以便我将 100% 的图像正确打印到文件的任何信息都会很棒。

这是下面的代码:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>

typedef struct {
    unsigned char red,green,blue;
} PPMPixel;

typedef struct {
int x, y;
PPMPixel *data;
} PPMImage;

void writePPM(PPMImage *img);

static PPMImage *getPPM(const char *filename)
{

    char buff[16];
     PPMImage *img;
     FILE *fp;
     int c, rgb_comp_color;
     //open PPM …
Run Code Online (Sandbox Code Playgroud)

c rgb struct ppm

5
推荐指数
1
解决办法
4967
查看次数

读/写PPM图像文件C++

尝试以我知道的方式读取和写入PPM图像文件(.ppm):

std::istream& operator >>(std::istream &inputStream, PPMObject &other)
{
    inputStream.seekg(0, ios::end);
    int size = inputStream.tellg();
    inputStream.seekg(0, ios::beg);

    other.m_Ptr = new char[size];


    while (inputStream >> other.m_Ptr >> other.width >> other.height >> other.maxColVal)
    {
        other.magicNum = (string) other.m_Ptr;
    }

    return inputStream;
}
Run Code Online (Sandbox Code Playgroud)

我的值对应于实际文件.所以我乐意尝试写数据:

std::ostream& operator <<(std::ostream &outputStream, const PPMObject &other)
{
    outputStream << "P6"     << " "
        << other.width       << " "
        << other.height      << " "
        << other.maxColVal   << " "
       ;

    outputStream << other.m_Ptr;

    return outputStream;
}
Run Code Online (Sandbox Code Playgroud)

我确保使用std :: ios :: …

c++ ifstream ofstream ppm

4
推荐指数
1
解决办法
2万
查看次数