【OpenCV学习】基本矩阵

简介:
#include <iostream>
#include <cv.h>

//------------ 各種外部変数 ----------//
double first[12][2] =
{
    {488.362, 169.911},
    {449.488, 174.44},
    {408.565, 179.669},
    {364.512, 184.56},
    {491.483, 122.366},
    {451.512, 126.56},
    {409.502, 130.342},
    {365.5, 134},
    {494.335, 74.544},
    {453.5, 76.5},
    {411.646, 79.5901},
    {366.498, 81.6577}
};

double second[12][2] = 
{
    {526.605, 213.332},
    {470.485, 207.632},
    {417.5, 201},
    {367.485, 195.632},
    {530.673, 156.417},
    {473.749, 151.39},
    {419.503, 146.656},
    {368.669, 142.565},
    {534.632, 97.5152},
    {475.84, 94.6777},
    {421.16, 90.3223},
    {368.5, 87.5}
};

int main(int argc,char *argv[])
{
    CvMat *firstM = cvCreateMat(12,2,CV_64FC1);
    cvSetData(firstM,first,firstM->step);
    
    CvMat *secondM = cvCreateMat(12,2,CV_64FC1);
    cvSetData(secondM,second,secondM->step);
    
    CvMat *FMat= cvCreateMat(3,3,CV_64FC1);

    if(cvFindFundamentalMat(firstM,secondM,FMat,CV_FM_RANSAC,1.00,0.99) == 0){
        std::cerr << "Can't Get F Mat/n";
        return -1;
    }

    for(int y = 0; y < 3;++y){
        for(int x = 0; x < 3;++x)
        {
            std::cout << CV_MAT_ELEM(*FMat,double,y,x) << " ";
        }
        std::cout << "/n";
    }


    cvReleaseMat(&firstM);
    cvReleaseMat(&secondM);
    cvReleaseMat(&FMat);

    return EXIT_SUCCESS;
}

本文转自gnuhpc博客园博客,原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/10/16/2726853.html,如需转载请自行联系原作者
相关文章
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
OpenCV与AI深度学习之常用AI名词解释学习
AGI:Artificial General Intelligence (通用人工智能):是指具备与人类同等或超越人类的智能,能够表现出正常人类所具有的所有智能行为。又被称为强人工智能。
131 2
|
4月前
|
计算机视觉 Python
opencv 处理图像去噪的几种方法学习
OpenCV 提供了多种图像去噪的方法,以下是一些常见的去噪技术以及相应的 Python 代码示例: 均值滤波:使用像素邻域的灰度均值代替该像素的值。
64 0
|
5月前
|
机器学习/深度学习 开发框架 TensorFlow
### 如何系统化学习OpenCV4
### 如何系统化学习OpenCV4
40 0
|
6月前
|
算法 计算机视觉 Python
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
169 2
|
6月前
|
存储 计算机视觉
OpenCV—学习基本绘图
OpenCV—学习基本绘图
|
6月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
296 0
|
6月前
|
算法 计算机视觉 C++
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
160 0
|
1月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
334 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
2月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
49 4
|
2月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制