SLAM学习笔记9:OpenCV模块1

一、OpenCV的安装:

1.计算机视觉(CV):

        计算机视觉是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。

        计算机视觉的目标是描述和解释图像。

2.图像处理:

        图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。

        图像处理的旨在处理原始图像以应用某种变换,其目标通常是改进图像或将其作为某项特定任务的输入。

3.什么是OpenCV:

        OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Mac OS操作系统上。它提供了大量的开源图像算法,是计算机视觉中使用极广的图像处理算法库。

4.安装OpenCV:

(1)安装cmake:

sudo apt-get install cmake

(2)安装两个依赖:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install pkg-config

(3)安装OpenCV:

SLAM学习笔记9:OpenCV模块1_第1张图片

SLAM学习笔记9:OpenCV模块1_第2张图片

SLAM学习笔记9:OpenCV模块1_第3张图片

SLAM学习笔记9:OpenCV模块1_第4张图片

SLAM学习笔记9:OpenCV模块1_第5张图片

二、操作OpenCV的图像(实践):

1.编写CMakeLists:

cmake_minimum_required( VERSION 2.8 )
project( imageBasics )

# 添加c++ 11标准支持
set( CMAKE_CXX_FLAGS "-std=c++11" )

# 寻找OpenCV库
find_package( OpenCV REQUIRED )
# 添加头文件
include_directories( ${OpenCV_INCLUDE_DIRS} )

add_executable( imageBasics imageBasics.cpp )
# 链接OpenCV库
target_link_libraries( imageBasics ${OpenCV_LIBS} )

2.编写C++程序:

#include 
#include 
using namespace std;

#include 
#include 

int main ( int argc, char** argv )
{
    // 读取argv[1]指定的图像
    cv::Mat image;
    image = cv::imread ( argv[1] ); //cv::imread函数读取指定路径下的图像
    // 判断图像文件是否正确读取
    if ( image.data == nullptr ) //数据不存在,可能是文件不存在
    {
        cerr<<"文件"< ( y );  // row_ptr是第y行的头指针
            unsigned char* data_ptr = &row_ptr[ x*image.channels() ]; // data_ptr 指向待访问的像素数据
            // 输出该像素的每个通道,如果是灰度图就只有一个通道
            for ( int c = 0; c != image.channels(); c++ )
            {
                unsigned char data = data_ptr[c]; // data为I(x,y)第c个通道的值
            }
        }
    }
    chrono::steady_clock::time_point t2 = chrono::steady_clock::now();
    chrono::duration time_used = chrono::duration_cast>( t2-t1 );
    cout<<"遍历图像用时:"<

3.将CMakeLists.txt文件、CPP文件和图片放在同一个文件夹目录中:

SLAM学习笔记9:OpenCV模块1_第6张图片

 4.创建build文件夹并编译:

SLAM学习笔记9:OpenCV模块1_第7张图片

 5.打开图片并显示图片有关信息:

你可能感兴趣的:(SLAM初学者笔记,opencv,学习)