OpenCV Mat的三种常用类型简介

本文主要介绍Opencv常用的三种Mat类型:Mat,Mat_,Matx。 1. Mat 1.1 创建与初始化

注意: 使用Mat::Mat(int rows, int cols, int type, const Scalar& s)和Mat::Mat(Size size, int type, const Scalar&am阅读全文

基于超像素分割的图像区域选取方法及源码

工程源码GitHub: yhlleo/SuperpixelRegionFill 抠取图像区域的一个小demo,借助图像超像素分割的方法,将图像成子分块,再利用种子填充算法,选取子块区域。 超像素分割方法,采用论文 SEEDS: Superpixels Extracted via Energy-Driven Sampling 提出的方法,对于物体的边界具有较好的保留,如下图所示。可以辅助目标检测中制阅读全文

求解旋转图像的最大内接矩形

工程源码GitHub: yhlleo/ImageDataAugmentation 编译环境: CMake OpenCV Visual Studio 2010 在机器学习和深度学习中,通常使用为了增加数据(Data Augmentation)可以对数据进行例如一系列的旋转(rotate)、镜像(flip)等操作,本文将讲解如何求取旋转图像的最大内接矩形问题,这里的内接矩形,并不是数学上严格的内接概念阅读全文

CMake 简介和 CMake 模板

如果你用 Linux 操作系统,使用 cmake 会简单很多,可以参考一个很好的教程:CMake 入门实战 | HaHack。如果你用 Linux 操作系统,而且只是运行一些小程序,可以看看我的另一篇博客:你就编译一个 cpp,用 CMake 还不如用 pkg-config 呢。 但如果你用 Windows,很大的可能你会使用图形界面的 CMake(cmake-gui.exe)和 Visual S阅读全文

模板类与模板函数的实例化导出

.h

dlllib.cpp

[crayon-5a633abcc06f6阅读全文

如何构建Windows平台下的动态库DLL

在构建动态库时,生成两个文件:导入库(.lib)和动态库(.dll)。GCC和mingw默认情况下会导出所有符号,但是vs默认情况下不导出任何符号。如果dll没有导出任何符号,则vs就不会生成导入库(这就是为什么vs构建dll时只生成了.dll,没有生成.lib的原因)。如果要导出函数或类型,必须使用__declspec( dllexport )。 在VS平台构建dll库时,CMAKE会添加如下预阅读全文

动态库的unresolved external symbols问题

跨平台的程序(在Linux下测试通过)如果是用CMake的CMakeLists.txt组织起来的,有时候会遇到这样的问题:里边有若干个工程是add_library,作为库,若干个工程是add_executable,作为可执行程序,其中,可执行程序调用了另一个工程生成的库,该库为动态库 在编译、运行该可执行程序的时候,链接过程中报经典链接错误——unresolved external symbols阅读全文

CMake简介

CMake是把群龙无首的.h和.cpp组织起来的一把好手,大型工程组织起来真是棒棒哒! CMakeLists.txt就好比QtCreator的.pro文件,或者好比makefile 在名为CMakeLists.txt的文本文件中,我们写下这个大型工程是怎样的组织的,谁和谁是一个project的,哪个project依赖谁,哪个project是库,编译链接得到的库叫什么名字,哪个project是可执行阅读全文