请问各位大佬,C++ opencv对图像使用硬拼接,如何将拼接的边缘进行融合。因为图像的特征过少无法使用opencv里的Stitcher。所以求各位大佬解答,能附上解决代码最好
硬拼接核心代码:
double width, height;
//新图像的高度和宽度
width = double(paletteImageRam0->width);
height = double(paletteImageRam0->height + offset_px);
//生成一个拼接后的容器图片
IplImage* des = cvCreateImage(cvSize(width, height), paletteImageRam0->depth, paletteImageRam0->nChannels);
cvSetImageROI(des, cvRect(0, 0, paletteImageRam0->width, paletteImageRam0->height)); //设置容器图片中感兴趣的部分,前两个左边0,0代表感兴趣的区域的起点,后两个代表感兴趣区域的宽高
cvCopy(paletteImageRam0, des); //将第一幅图像放到感兴趣的区域里面,也就是第一个方格
cvResetImageROI(des);
//待拼接图像
int offset_px_y = offset_px * i ;
cvSetImageROI(des, cvRect(0, offset_px_y, paletteImageRam1->width, paletteImageRam1->height));
cvCopy(paletteImageRam1, des); //将待拼接图像放到感兴趣的区域里面
cvResetImageROI(des);
拼接效果图如下: