Ubuntu下C++ opencv详细教程,句句注释

Python opencv学习:https://blog.csdn.net/qq_34717531/article/details/107402545

一、读图并显示

首先建立一个工程项目C++,其中有read.cpp ,CMakeLists.txt ,和一张美照。

其中,read.cpp

//该头文件中已经包含了OpenCV中各个模块的头文件
#include<opencv2/opencv.hpp>

//cv 命名空间,如果希望不要每次都输入 cv:: ,则可使用下面语句:using namespace cv;
using namespace cv;

/*
int main(int argc, char **argv) 用于运行时,把命令行参数传入主程序。
argc -- 命令行参数总个数,包括可执行程序名。
argv[i] -- 第 i 个参数。
argv[0] -- 可执行程序名。
例如运行: abc.exe
argc 等于 1, argv[0] 是 "abc.exe"
例如运行:rec.exe 4 5.2
argc 等于 3, argv[0] 是 "rec.exe", argv[1] 是 "4", argv[2] 是 "5.2".
*/
int main(int argc,char **argv)
{
    //Mat是c++中类的概念,不再需要手动分配其内存大小,当不需要使用它的时候也不再需要手动释放它
    Mat img=imread("1.jpg");
    //和Python opencv的写法相同,展示图像
    imshow("meinv",img);
    //waitKey()是OpenCV中的内置函数,语句waitKey(0);表示“暂停程序,等待一个按键输入”!也就是说,当程序执行到waitKey(0);时,程序被暂停运行,只有当你输入一个按键时,它才会继续运行。
    waitKey(0);
}

 其中CMakeLists.txt 可以在 opencv-3.4.5 / samples / cpp / example_cmake /中找到,

 修改工程名 test 和 cpp 文件名 read.cpp 即可使用。

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(test)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

if(CMAKE_VERSION VERSION_LESS "2.8.11")
  # Add OpenCV headers location to your include paths
  include_directories(${OpenCV_INCLUDE_DIRS})
endif()

# Declare the executable target built from your sources
add_executable(test read.cpp)

# Link your application with OpenCV libraries
target_link_libraries(test ${OpenCV_LIBS})

编译,运行。

cmake .
make
./test

 

二、读图转灰度图并保存

为节约篇幅,之前注释过的不再注释。

新建 zhuan.cpp ,修改CMakeLists.txt 的对应名字即可。

#include<opencv2/opencv.hpp>

using namespace cv;

int main(int argc,char **argv)
{
    Mat img=imread("1.jpg");
    imshow("meinv",img);
    //转灰度cvtColor():第一个img转化为第二个img,由rgb转为gray
    cvtColor(img,img,CV_BGR2GRAY);
    imshow("gray",img);
    //和Python opencv一样,保存图像
    imwrite("gray.jpg",img);
    waitKey(0);
}

报错,将CV_BGR2GRAY改为了COLOR_BGR2GRAY即可.

三、Canny边缘检测并保存

新建canny.cpp

#include<opencv2/opencv.hpp>

using namespace cv;

int main(int argc,char **argv)
{
    Mat img=imread("1.jpg");
    imshow("meinv",img);
    cvtColor(img,img,CV_BGR2GRAY);
    //图像模糊
    blur(img,img,Size(4,4));
    //canny运算
    Canny(img,img,3,3,3);
    imshow("Canny",img);
    imwrite("canny.jpg",img);
    waitKey(0);
}

CMakeLists.txt 同理修改。

四、读取视频做Canny边缘检测

新建shi.cpp

#include<opencv2/opencv.hpp>

using namespace cv;

int main(int argc,char **argv)
{
    //读取视频
    VideoCapture capture("1.mp4");
   
    //执行循环,到视频结束为止
    while(1){
        //定义frame
        Mat frame;
        //读取每一帧
        capture>>frame;
        imshow("meinv",frame);
        cvtColor(frame,frame,CV_BGR2GRAY);
        blur(frame,frame,Size(4,4));
        Canny(frame,frame,3,60,3);
        imshow("Canny",frame);
        waitKey(10);
    }
    return 0;
}

五、读取视频并画矩形框

#include<opencv2/opencv.hpp>
using namespace cv;
int main(int argc,char **argv)
{
    VideoCapture capture("chou2.mp4");
    while(1){
        Mat frame;
        capture>>frame;
        cv::Rect area(50, 50, 200, 100); 
        cv::rectangle(frame, area, cv::Scalar(0, 0, 255), 3, 8); 
        imshow("c",frame);
        waitKey(10);
    }
}

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Ubuntu 18上使用C++编译OpenCV的步骤如下: 1. 首先,将下载的OpenCV文件移动到主目录并解压缩。使用以下命令: ``` mv opencv-3.4.1.zip ~/ cd ~/ unzip opencv-3.4.1.zip ``` 2. 安装CMake和依赖库。使用以下命令: ``` sudo apt install cmake ``` 3. 配置OpenCV的动态库路径。使用以下命令: ``` sudo gedit /etc/ld.so.conf.d/opencv.conf ``` 在打开的文件中添加OpenCV动态库所在的路径,保存并退出。 4. 进入解压后的OpenCV目录并创建一个build文件夹。使用以下命令: ``` cd opencv-3.4.1 mkdir build cd build ``` 5. 使用CMake生成Makefile。使用以下命令: ``` cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` 6. 使用make命令编译OpenCV。使用以下命令: ``` sudo make -j4 ``` 7. 使用make install命令安装OpenCV。使用以下命令: ``` sudo make install ``` 完成上述步骤后,您就可以在Ubuntu 18上使用C++编译OpenCV了。您可以参考提供的链接了解更多详细信息和示例代码。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [在Ubuntu18系统下安装著名的C/C++图像处理开源软件库 Opencv3.x及简单的运用](https://blog.csdn.net/qq_52215423/article/details/127055588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ubuntu20.04+opencv3.4.10编译c++ opencv工程](https://blog.csdn.net/u010409649/article/details/129730575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ubuntu18安装opencv(c++)](https://blog.csdn.net/weixin_43710385/article/details/113844789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学术菜鸟小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值