第一次用用Opencv进行图像处理

这篇具有很好参考价值的文章主要介绍了第一次用用Opencv进行图像处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023.7.06更新

codeblocks安装opencv

直接放参考链接,完成安装该步骤来,简单高效!

安装教程链接
有一个问题就是第一次安装完成后运行时会报确实某些ddl的错误,关机重启就好啦!

尝试运行

ddl的错误解决后可以用以下代码进行测试,测试通过后基本就ok啦,记得改一下图片的地址。

 #include <iostream>
 #include <opencv2/opencv.hpp>
 
 using namespace cv;
  
  int main()
  {
      Mat img = imread("lena.jpg",0);
     if(!img.data)
         return -1;
     imshow("ahle",img);
     waitKey(0);
     return 0;
 }
  1. 错误2 找不到某个hpp文件,xfeatures2d.hpp
    这是因为opencv中缺少这些文件,我们先自己手动下载下来,下载下来的是opencv_contrib文件,里面包含了很多hpp文件,下次缺少的时候直接去找就行,很方便。下载地址如下:
    下载链接1
    下载的时候一定要找到对应的版本,和自己的opencv要一致,我的是opencv4.1.1,我单独在网上搜的下载地址,下载地址如下
    下载地址2
    再来一个,这个是其它的
    下载地址3
    假设缺少的是xfeatures2d.hpp文件,先去D:\opencv_contrib-4.1.1\opencv_contrib-4.1.1\modules\xfeatures2d\include\opencv2路径里找到features2d文件,把这个文件复制到D:\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include\opencv2中,注意一点,如果代码是#include <opencv2/xfeatures2d.hpp>,表示xfeatures2d.hpp在opencv2文件夹下,如果代码是#include <opencv2/xfeatures2d/xfeatures2d.hpp>表示xfeatures2d.hpp是在opencv2文件夹中的xfeatures2d文件夹中,根据代码去放置相应的文件。
  2. 错误2 error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope
    头文件里添加#include <opencv2/highgui/highgui_c.h>即可。
    Opencv版本4.1.1
    error: ‘CV_RETR_TREE’ was not declared 和
    error: ‘CV_CHAIN_APPROX_SIMPLE’ was not declared解决方法同理。

Grabcut抠图实践

  1. 关于mat数据结构,参考链接
  2. namedWindow(“src”, CV_WINDOW_AUTOSIZE);
    //namedWindow()的功能就是新建一个显示窗口。可以指定窗口的类型
    //CV_WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改
    参考链接
  3. Opencv之鼠标响应setMouseCallback()
    参考链接
  4. Rect类
    参考链接

grabCut代码复现

参考文章

  1. 报错误:error: ‘vector’ was not declared in this scope|
    首先把vector头文件添加进去,然后在定义的vector变量前添加命名空间,即std::vector vec;

  2. Opencv之鼠标响应setMouseCallback()
    参考链接

  3. Rect类
    参考链接

2023.7.08更新
现在开始自己比对着敲grabcut的源代码啦!文章来源地址https://www.toymoban.com/news/detail-578691.html

一些c++语法

  1. 类中的成员函数:A fun4()const; 其意义上是不能修改所在类的的任何变量。
    第一次用用Opencv进行图像处理,opencv,图像处理,人工智能
  2. mat的创建函数
    像素是1*(modelSize*componentsCount)大小,C1表示一通道,64表示每个通道的是64位数,F表示单精度浮点数
    第一次用用Opencv进行图像处理,opencv,图像处理,人工智能
  3. 读取图像坐标
    cv::mat的成员函数: .at(int y, int x)可以用来存取图像中对应坐标为(x,y)的元素坐标。但是在使用它时要注意,在编译期必须要已知图像的数据类型,这是因为cv::mat可以存放任意数据类型的元素。
  4. Vec3b就是一个uchar类型的数组,长度为 3
  5. pano.getMatRef()
    pano的类型应该是InputOutputArray类型之类的Mat的基类(cv::InputOutputArray pano),这个函数是将pano内数据提取出来转换为mat,有点像string类的c_str()吧…
  6. opencv入门基础
    链接

到了这里,关于第一次用用Opencv进行图像处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker第一次作业

    docker第一次作业 1.安装docker服务,配置镜像加速器  yum install -y yum-utils device-mapper-persistent-data lvm2 y um-config-manager --add-repo https: //mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i \\\'s+download.docker.com+mirrors.aliyun.com/docker-ce+\\\'  /etc/yum.repos.d/docker-ce.repo yum makecache fast yum -y install docke

    2024年02月12日
    浏览(44)
  • 第一次面试复盘

    这个秋招到目前为止第一次拿到了面试机会,虽然是小公司,但是人家是有官网的!!!很爱!先赶紧复盘一下,因为还有很多笔试没有复盘。 你们的数学建模解决了什么问题?你觉得你们为什么能拿到这个成绩 说下对java这门语言的了解 它是一种面向对象的编程语言,所以

    2024年01月22日
    浏览(47)
  • 新学期第一次课

    在信息化飞速发展的今天,大数据技术的应用日益广泛,其重要性也日益凸显。对于大数据学院的同学来说,掌握行业前沿技术是至关重要的。本篇文章将详细指导同学们如何加入QQ群、云班课,并学会使用思维导图和CSDN博客。 我们有两个QQ群,分别是2021计应1班行业前沿技

    2024年02月10日
    浏览(43)
  • 树莓派第一次开机

    树莓派由英国的树莓派基金会发行,旨在通过发行这个廉价开源的可随意破解的微型计算机,推动中小学编程教育,发行之后很快在全世界的开源创客圈中流行。截止到2018年10月,最新版本的树莓派主板是3B+,国内某宝上卖230元左右,还有更微型的树莓派主板Zero,国内某宝卖

    2024年02月13日
    浏览(51)
  • 第一次作业

    作业内容:1,atd和crond的区别                   2,指定在2023/08/26 09:00将时间写入testmail.txt文件中                   3,指定在每天凌晨4:00将该时间点之前的系统日志信息备份到个目录下(/var/log/messages ),备份后日志文件名显示格式logfileYY-MM-DD HH-MM 1、运行方式不同

    2023年04月20日
    浏览(45)
  • shell第一次作业

    1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查次磁盘剩余空间。 2、判断web服务是否运行    1、查看进程的方式判断该程序是否运行,    2、通过查看端口的方式判断该程序是否运行,如果没有运行,则启动该服务并配置防火墙规

    2024年02月09日
    浏览(46)
  • 第一次PR经历

         

    2024年02月13日
    浏览(46)
  • python 第一次作业

    因为笔者有一些 c/c++ 语言的基础,所以应该学 python 会稍微简单一些 输入的时候所有的输入都是字符串类型,我们需要进行类型转换 参见资源里面的第三题和第四题,为了方便起见,直接把代码贴在下面

    2024年03月25日
    浏览(55)
  • 第一次博客作业

    这学期才开始接触Java,之前只学了C语言,所以一开始写题目的代码的时候对Java的众多函数和语法不是太熟悉,一开始就上手写代码有点不适应。 ​  关于类: 1、类似C中的struct,构造函数、内置方法(函数 )都比较相似 2、尽量避免代码的重复,把private和public的方法搞清晰。

    2024年02月08日
    浏览(62)
  • 电脑第一次使用屏幕键盘

    操作流程 1.在键盘上同时按Win+R打开运行; 2.输入 control 3.找到设置中心 4.点击屏幕键盘 效果 具体怎么使用 我不咋清除 简单 测试了一下 可以用鼠标点击屏幕键盘的按键 用键盘 按字母键和数字键 是和屏幕键盘不同步的 其他 tab、shift、后退、enter好像同步

    2024年02月14日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包