【问题标题】:Allegro 5 on Raspberry pi树莓派上的 Allegro 5
【发布时间】:2015-01-03 21:21:19
【问题描述】:

我刚开始研究 RPi。我正在编写一个程序,其中涉及制作照片(bmp 文件)和分析一些像素。我正在使用 allegro 5 库,我遇到了函数 al_load_bitmap 的“基本”问题。我无法加载位图。第一行代码:

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include "allegro-5.1.8/build/lib/Headers/allegro5/allegro.h"
#include "allegro-5.1.8/build/lib/Headers/allegro5/allegro_image.h"

using namespace std;

int main () 
{
unsigned char r, g, b;
ALLEGRO_BITMAP  *tape_image ;

al_init();
al_init_image_addon();
al_init_iio_addon(); 


system("raspistill -o /home/pi/Praca/photo.bmp -t 1");

tape_image = al_load_bitmap("/home/pi/Praca/photo.bmp ");

if(!tape_image) {

cout << "Error! Couldn't load bitmap." <<endl;
getchar();
return 0; 
   } 
...

如您所见,程序正在制作位图,然后我想使用它。但程序无法加载位图。 IDE 是 Geany 1.22 编译器 g++ -L/usr/local.lib -lallegro_main -lallegro_image -lallegro 而且我还必须添加这个 $(pkg-config --libs allegro-5 allegro_main-5 allegro_image-5

【问题讨论】:

  • 那么,tape_image 是 NULL 吗?我们看不到您的屏幕,您必须告诉我们。你真的在“/home/pi/Prca/photo.bmp”有位图吗?为什么文件名末尾有空格?
  • 好吧,位图是用以下行创建的:system("raspistill -o /home/pi/Prca/photo.bmp -t 1");它出现在 RPi 上。这个空间重要吗?由于此消息“错误!无法加载位图”,因此为 NULL。弹出。

标签: bitmap debian raspberry-pi allegro5


【解决方案1】:

你应该添加

-e bmp

到 raspistill 呼叫线路。

【讨论】:

  • 谢谢伙计。我不知道那个编码的东西。还有一件事,你知道是否有可能让它更快吗?有了这个 -e 需要一些额外的时间。
  • 不,在这种情况下无能为力。我不知道它在内部是如何工作的,似乎它直接从硬件凸轮接收 jpeg 图片,然后将其解压缩为 bmp。如果有办法获取原始图片并跳过 jpeg 编码步骤,那肯定会加快处理速度。
猜你喜欢
  • 2012-12-04
  • 2014-01-18
  • 2015-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多