关于jpg文件格式的一个情景-第四篇(Magick++:先学习)
另一个图像处理的开源的库:Magick++
原文地址:https://blog.csdn.net/weixin_30732825/article/details/99595869
Magick++ 是著名开源图片处理库ImageMagick提供的 C++库。在命令行可以直接使用相关 ImageMagick 的命令直接完成上述任务。要是C++编程完成需要调用 Magick++ 的API。
#include <iostream> #include <Magick++.h> int main(int argc, char **argv) { Magick::InitializeMagick(*argv); Magick::Image image; try{ image.read("./patternsBoard1.png"); // read an image from directory image.resolutionUnits(Magick::PixelsPerCentimeterResolution); // 设置分辨率单位为 像素/厘米 image.density("120x120"); // 纵、横分辨率都是 120 px/cm image.write("./patternsBoard3.pdf"); // 保存为pdf }catch(Magick::Exception &erro_){ std::cout<< "Caught exception:" << erro_.what() <<std::endl; return 1; } return 0; }
与opencv的转换:
cv::Mat cvimage; cvimage = cv::imread("./patternsBoard1.png" ,cv::IMREAD_GRAYSCALE); Magick::Image image(cvimage.cols,cvimage.rows,"I",MagickCore::CharPixel, (char *)cvimage.data);
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号