小编Edi*_*Edi的帖子

OpenCV - 图像拼接

我正在使用以下代码来拼接输入图像.由于未知原因输出结果是垃圾!似乎单应矩阵是错误的(或者被错误地影响),因为变换的图像就像一个"被利用的星"!我已经评论了我认为是问题根源但我无法实现的部分.任何帮助或观点都是适当的!

祝你有美好的一天,阿里

void Stitch2Image(IplImage *mImage1, IplImage *mImage2) 
{ 

    // Convert input images to gray 
    IplImage* gray1 = cvCreateImage(cvSize(mImage1->width, mImage1->height), 8, 1); 

    cvCvtColor(mImage1, gray1, CV_BGR2GRAY); 
    IplImage* gray2 = cvCreateImage(cvSize(mImage2->width, mImage2->height), 8, 1); 

    cvCvtColor(mImage2, gray2, CV_BGR2GRAY); 
    // Convert gray images to Mat 
    Mat img1(gray1); 
    Mat img2(gray2); 
    // Detect FAST keypoints and BRIEF features in the first image 
    FastFeatureDetector detector(50); 
    BriefDescriptorExtractor descriptorExtractor; 
    BruteForceMatcher<L1<uchar> > descriptorMatcher; 
    vector<KeyPoint> keypoints1; 
    detector.detect( img1, keypoints1 ); 
    Mat descriptors1; 
    descriptorExtractor.compute( img1, keypoints1, descriptors1 );

/* Detect FAST keypoints and …
Run Code Online (Sandbox Code Playgroud)

opencv image-processing image-stitching

8
推荐指数
1
解决办法
2万
查看次数

OpenCV Mat to IplImage*转换

我有一个指向图像的指针:

IplImage *img;
Run Code Online (Sandbox Code Playgroud)

已转换为 Mat

Mat mt(img);
Run Code Online (Sandbox Code Playgroud)

然后,将Mat其发送到获取对Mat输入的引用的函数void f(Mat &m);

f(mt);
Run Code Online (Sandbox Code Playgroud)

现在我想将Mat数据复制回原始图像.

你有什么建议吗?

最好的阿里

opencv

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

opencv ×2

image-processing ×1

image-stitching ×1