C++ C++;用于合并图像的库
我需要合并两个图像,以便image2覆盖image1的一部分,依此类推。我找到了,但我不知道如何使用它为我的目的C++ C++;用于合并图像的库,c++,image,image-processing,merge,cimg,C++,Image,Image Processing,Merge,Cimg,我需要合并两个图像,以便image2覆盖image1的一部分,依此类推。我找到了,但我不知道如何使用它为我的目的 是否有其他库可以使用或可以通过CImg实现这一点?我使用ImageMagick创建了两个类似的图像: convert -size 400x300 gradient:blue-yellow PNG24:gradient.png 然后运行这个CImgcode: #define cimg_use_png #define cimg_display 0 #include "CImg.h"
是否有其他库可以使用或可以通过CImg实现这一点?我使用ImageMagick创建了两个类似的图像:
convert -size 400x300 gradient:blue-yellow PNG24:gradient.png
然后运行这个CImg
code:
#define cimg_use_png
#define cimg_display 0
#include "CImg.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> gradient("gradient.png");
CImg<unsigned char> overlay("overlay.png");
gradient.draw_image(150,50,overlay);
gradient.save_png("result.png");
}
#定义cimg_使用_png
#定义cimg_显示0
#包括“CImg.h”
使用名称空间cimg_库;
int main(){
CImg梯度(“gradient.png”);
cimgoverlay(“overlay.png”);
梯度。绘制图像(150,50,叠加);
gradient.save_png(“result.png”);
}
得到这个:
查看Magick++查看。如果您阅读参考文档,您会发现如何将较小的图像复制到较大图像的子矩形的示例。我已经知道OpenCV,但我认为它对于我非常简单的目的来说开销太大。相反,Magick++似乎正是我所需要的。
#define cimg_use_png
#define cimg_display 0
#include "CImg.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> gradient("gradient.png");
CImg<unsigned char> overlay("overlay.png");
gradient.draw_image(150,50,overlay);
gradient.save_png("result.png");
}