如何在ImageMagick中使用Intel IPL库以及如何从IPL转换为ImageMagick

How to use the Intel IPL library in ImageMagick and How to convert from IPL to ImageMagick?

本文关键字:ImageMagick IPL 转换 Intel      更新时间:2023-10-16

我刚刚有了一个intel ipl库(网络上的ipl21.dll)。现在我想用vc++2010来构建ipl库。但是,在任何地方都没有像如何使用ipl库构建和应用图像处理这样的例子。(我找到了文件,但对我没有帮助)

你能帮我如何用vc++2010构建ipl库吗?还有一些例子,比如如何在图像处理中使用ipl库。

特别是,我正在研究ImageMagick。因此,首先我读取了ImageMagick库中的一个图像文件。它运行良好。此外,我想使用ipl库对读取的图像数据进行图像处理。

特别是,我想知道如何使用ImageMagick的ipl库读取数据。然后处理完成后,如何从ipl转换为ImageMagicK?

我不确定历史,我很高兴被纠正。。。但我相信OpenCV是基于IPL的,并且可以做IPL过去做的一切,包括SSE[23]/MMMX/CUDA等。在我看来,你最好放弃ImageMagick和IPL,用OpenCV代替它们,或者探索ImageMagick中的OpenCL算法。希望其他人能评论和启发我们。

无论如何,如果你已经使用ImageMagick加载了一个图像,并且你想要访问位图数据(像素),这样你就可以将它们放入IPL数据结构中,最简单的可能是这样的:

#include <cstdlib>
#include <iostream>
#include <Magick++.h>
using namespace std;
int main ( int argc, char *argv[] )
{
   // Initialize ImageMagick
   Magick::InitializeMagick(*argv);
   int row,col;
   Magick::Image image;
   int bytes=512*512*3;           // I happen to know Lena is 512x512 and RGB - i.e. 3 bytes/pixel
   unsigned char buffer[bytes];
   // Read in Lena
   image.read("lena.png");
   // Convert Lena to a bunch of bytes
   image.write(0,0,512,512,"RGB",Magick::CharPixel,buffer);
   // Now "buffer" points to the raw pixels and you can put them into IPL structures