当前位置: 首页>移动开发>正文

opencv 连通区域去除粘连 opencv connection

OpenCV4.1.0在Linux环境下的下载安装看这里:OpenCV(一)————OpenCV概述与(Linux)环境搭建

 

搞了快一整天了,总算是可以运行程序了。OpenCV安装好之后就要开始实战前的准备了,在CLion上开始配置环境。没有下载CLion的,先下载安装一下。随便搜个博客参考就行。

配置步骤:

1.打开CL,点击File>New Project,新建C++项目untitled2,

                        

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv,第1张

点击create。

2.创建好新项目后,开始配置新项目的环境。点击File>Settings,配置成如下图:

         

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv 连通区域去除粘连_02,第2张

Name可根据自己喜好,Cmake按照系统安装的目录选择,而下面的Make、C Compiler、C++ Compiler不用管,Debugger按照默认的就可以。

之后是CMake的配置:

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv_03,第3张

 要把Build type中默认的换成Release,其他的不用管了。

3.之后就是配置CMakeLists.txt。

最开始建立好项目时,CMakeLists.txt里的内容为:

                                        

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv 连通区域去除粘连_04,第4张

要在CMakeLists.txt里添加两行:

find_package(OpenCV REQUIRED)
target_link_libraries(untitled2 ${OpenCV_LIBS})

也就是这样:

                                   

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv 连通区域去除粘连_05,第5张

4.编写好一个特别简单的图片显示的主函数(注意在CL下同一个项目中不能同时存在两个主函数):

//  在引入opencv或opencv头文件时,不需要将core等包一个一个引入,(在opencv3之后)只需引用下面这一个。
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
//  标准的C++库
using namespace std;

//  定义的main函数有两个参数
int main(int argc,char** argv)
{
    //  读入图像
    Mat src = imread("../test.jpg");
    //  读入彩色图像,加载为BGR彩色图像
//    Mat src = imread("../test.jpg",IMREAD_COLOR);
    //  读入灰度图像
//    Mat src = imread("../test.jpg",IMREAD_GRAYSCALE);
    if(src.empty())
    {
        printf("不能找到文件。\n");
        return -1;
    }
    //  加载之后,显示窗口。
    //  ("窗口名称",窗口大小根据图片尺寸自动调整)
    //  在opencv3中用的是:CV_WINDOW_AUTOSIZE
    //  WINDOW_AUTOSIZE的窗口大小根据图片尺寸自动调整,但不能更改窗口大小
    namedWindow("input",WINDOW_AUTOSIZE);
    //  可改动窗口参数,自由比例
//    namedWindow("input",WINDOW_FREERATIO);
//    namedWindow("input",WINDOW_NORMAL);
    //  ("窗口名称",图像内容)
    //  显示图像,将src映射到"input"窗口中。
    imshow("input", src);
    //  如果不加waitKey,这个图像就会一闪而过。waitKey的作用就是阻塞,让图像一直显示,除非用户进行一些键盘操作,让其消失。
    waitKey(0);
    //  最后把所有窗口都销毁。
    destroyAllWindows();
    return 0;
}

这个地方对于新手来说有两个小问题需要注意一下,斜杠要写成这种“/”,不要写成“\”;还有就是关于图片的路径,要注意自己写的是绝对路径还是相对路径,搞不懂的去搜一下博客看。我这里是相对路径。路径写错会导入不了图片,然后出错。

运行代码的结果:

                                                 

opencv 连通区域去除粘连 opencv connection,opencv 连通区域去除粘连 opencv connection_opencv 连通区域去除粘连_06,第6张


https://www.xamrdz.com/mobile/4ha1938611.html

相关文章: