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的源代码啦!

一些c++语法

  1. 类中的成员函数:A fun4()const; 其意义上是不能修改所在类的的任何变量。
  2. mat的创建函数
    像素是1*(modelSize*componentsCount)大小,C1表示一通道,64表示每个通道的是64位数,F表示单精度浮点数
  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进行图像处理相关推荐

  1. OpenCV与图像处理学习九——连通区域分析算法(含代码)

    OpenCV与图像处理学习九--连通区域分析算法(含代码) 一.连通区域概要 二.Two-Pass算法 三.代码实现 一.连通区域概要 连通区域(Connected Component)一般是指图像中 ...

  2. 使用Python+opencv进行图像处理(一) | 视觉入门

    计算机视觉是人工智能最热门的应用领域之一.人工智能技术推动了汽车自动驾驶.机器人以及各种照片处理类软件的巨大发展.目标检测技术也在稳步推进.生成对抗网络(GANs)同样也是人们最近比较关注的一个问题. ...

  3. 在 Google Colab 中使用 OpenCV 进行图像处理简介

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,我们将实现如何使用 OpenCV 在 google ...

  4. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  5. OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)

    OpenCV与图像处理学习十七--OpenCV人脸检测(含代码) 一.人脸识别概要 1.1 人脸检测 1.2 人脸对齐(Face Alignment) 1.3 人脸特征提取(Face Feature ...

  6. OpenCV与图像处理学习十六——模板匹配

    OpenCV与图像处理学习十六--模板匹配 一.模板匹配介绍 二.代码应用 一.模板匹配介绍 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定目标的图像位于图像的什么地方,进而对图像进行定位. ...

  7. OpenCV与图像处理学习十五——LBP纹理特征(含代码)

    OpenCV与图像处理学习十五--LBP纹理特征(含代码) 一.LBP介绍 二.LBP原理 三.代码应用 一.LBP介绍 LBP(Local Binary Pattern, 局部二值模式) , 是一种 ...

  8. OpenCV与图像处理学习十四——SIFT特征(含代码)

    OpenCV与图像处理学习十四--SIFT特征(含代码) 一.SIFT算法 二.SIFT实现过程 三.代码实现 一.SIFT算法 SIFT, 即尺度不变特征变换算法(Scale-invariant f ...

  9. OpenCV与图像处理学习十三——Harris角点检测(含代码)

    OpenCV与图像处理学习十三--Harris角点检测(含代码) 一.角点的概念 二.Harris角点检测的实现过程 三.Harris代码应用 一.角点的概念 角点: 在现实世界中, 角点对应于物体的 ...

最新文章

  1. linux 常用命令技巧
  2. c语言多线程多个传入参数,关于ssl多线程参数的传递
  3. 【全记录】2017云栖大会·北京峰会——企业云上业务优化专场
  4. 在ASP.NET Core中使用AOP来简化缓存操作
  5. 使用Java 8处理并行数据库流
  6. Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
  7. hoj2677 Instruction Set // poj3253Fence Repair 哈夫曼树
  8. 按冯诺依曼提出的计算机类型,2011年12月24日计算机一级考试题目广西
  9. 【记录】Docker 安装 activemq
  10. app传输数据到php,安卓app客户端和使用php的服务器端数据交互
  11. ARM中的---汇编指令
  12. 平衡二叉树(AVL树)和红黑树区别
  13. 机器学习 | 特征选择(Feature Selection)
  14. Win10下ImageAI-gpu训练自己的数据集
  15. Oracle 的 Round函数详解
  16. 20190729杭电多校第三场
  17. import requests
  18. MacBook Pro 突然无法开机的解决方法
  19. 程序员的自我修养读书笔记-1
  20. ac2 hap mikrotik_MikroTik 2018第一款新品hAP ac2

热门文章

  1. 一个很全的 iOS 手机号正则表达式
  2. TVS瞬态电压抑制二极管原理
  3. 虚拟服务器如何试用,云虚拟主机怎么试用
  4. 解决app按home键运行到后台,再次运行程序避免再次开启app的MAIN页面
  5. COleSafeArray::PutElement记录备忘
  6. 争做IT新时代的弄潮儿
  7. 2019年4月份自学考试总结
  8. Flash Lite 与 J2ME 分析比较
  9. ZKP方案衍变及对比
  10. 什么是网络终端,这个“终端”是什么意思?