ImageMagick 从内存数据创建 Image
来源:互联网 发布:库控制软件 编辑:程序博客网 时间:2024/06/15 11:11
ImageMagick接口有
Image::read(const string& filename);以及
Blob my_blob; // create a blobImage my_image("my_image.gif"); // create an image form a GIF image filemy_image.magick("JPEG"); // set JPEG output formatmy_image.write(&my_blob); // encode 'my_image' in JPEG format,// and store the encoded image in my_blobImage image_from_blob(my_blob); // create an image from the JPEG blob// (use the Blob-based Image constructor)image_from_blob.magick("BMP"); // set the image format to bitmapimage_from_blob.write("image_from_blob.bmp"); // save the image on disk in BMP format
但是如果有内存数据 byte[] 存储 如 RGB,则无法通过上述接口进行转换,
以OPencv为例,
opencv TO image
Image Ipl2Magick(IplImage* iplImage){ Image mgk(iplImage->width, iplImage->height, "BGR", CharPixel, (char *)iplImage->imageData); return mgk;}
image TO opencv
void Magick2Ipl(Image magicImage, IplImage* cvImage){ int width= magicImage.size().width(); int height = magicImage.size().height(); byte* blob= new byte[cvImage->imageSize]; magicImage.write(0,0, width, height, "BGRA", MagickCore::CharPixel, blob); memcpy(cvImage->imageData, blob, cvImage->imageSize); delete [] blob;}
切记,4通道~
IplImage* cvimg = cvCreateImage(cvSize(...,...), IPL_DEPTH_8U, 4);
REFERENCE
- ImageMagick 从内存数据创建 Image
- UE4 C++ 从内存数据创建动态材质
- 从内存创建cbitmap
- SWT从文件流InputStream创建Image
- 利用imagemagick把pdf转为image
- 从内存创建对话框实例
- imagemagick convert生成直方图数据
- GDI+中使用Image从IStream创建图像
- 创建 Image
- 创建 Image
- 使用sqlite创建内存数据
- 从assets获取 image/获取文件并读取数据
- ImageMagick
- ImageMagick
- ImageMagick
- ImageMagick
- ImageMagick
- ImageMagick
- Android 获取imei号码,获取手机型号和系统版本号
- 详解Silverlight和WPF互相扩展
- MyEclipse中常见错误及解决方法
- SQLite 3 中的数据类型
- 企业网站内容缘何不被收录
- ImageMagick 从内存数据创建 Image
- log4j.xml文件详解
- 汇编学习笔记-一段安全的空间及段前缀的使用.
- 爪巴虫 1.0版
- Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?
- MicroCoder flashSlider——基于Jquery的图片展示插件
- 【转载】Web Service定义
- 黑马程序员_IO回顾02
- 随机出题1.0版——random和open的使用