Fork me on GitHub
上一页 1 2 3 4 5 6 7 ··· 26 下一页
摘要:一、OpenCV中的轮廓 在OpenCV中,将 Canny 等边缘检测算法根据像素间的差异检测出轮廓边界的像素,作为一个整体来研究和分析,称之为轮廓。比如对于这副图片:图像的上半部分是一张白色背景上的测试图像,包含了一系列标记 A 到 E的区域。寻找到的轮廓被标记为 cX 或 hX, 其中c 代表 “轮廓(contour)”,h 代表 “孔(hole)”(也可以理解为内轮廓)。同样,... 阅读全文
posted @ 2020-07-03 06:59 jsxyhelu 阅读(1339) 评论(0) 推荐(0) 编辑
摘要:霍夫变换是一种特征提取方法,被广泛应用在图像处理和计算机视觉应用中。霍夫变换是用来辨别找出物件中的特征,其霍夫圆/线变换的在OpenCV中均有具体实现。本文从概况和历史、OpenCV中的调用方法、理论原理、OpenCV实现代码浅析等方面具体研究分析,希望能够帮助读者理清相关思路、提高实践能力。 阅读全文
posted @ 2020-06-25 07:39 jsxyhelu 阅读(1581) 评论(0) 推荐(1) 编辑
摘要:所谓Blob就是图像中一组具有某些共同属性(例如,灰度值)的连接像素,深色连接区域是斑点,斑点检测的目的是识别并标记这些区域。OpenCV提供了一种方便的方法来检测斑点并根据不同的特征对其进行过滤。本文丛使用方法、代码解析和原理分析3个方面全方面分析Blobdetector,并且和轮廓分析做简单比较。 阅读全文
posted @ 2020-06-18 20:11 jsxyhelu 阅读(3300) 评论(0) 推荐(0) 编辑
摘要:OpenCV使用了两步PR审核。当开发者提交pull request后,PR首先需要通过OpenCV Buildbot的自动测试,包括18种测试配置。 当PR通过了自动测试后,OpenCV核心团队的成员将会对PR进行审核,若通过则此PR将会被集成进OpenCV主版本中。本文展示一次简单的bug修复过程。 阅读全文
posted @ 2020-06-14 07:43 jsxyhelu 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 通过分析OpenCV.JS(官方下载地址 https://docs.opencv.org/_VERSION_/opencv.js)的白名单,我们可以了解目前官方PreBuild版本并没有实现QR识别。但是我们仍然可以通过轮廓分析的相关方法,去实现“基于opencv.js实现二维码定位”,这就是本篇BLOG的主要内容。 阅读全文
posted @ 2020-06-03 22:28 jsxyhelu 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 本Blog来源于实际项目,所采用框架组合中,OpenCV实现算法主体、pybind11完成OpenCV的Python封装、django提供Web应用服务,三者协同配合,共同实现“网络后端调用OpenCV算法,解决特定问题”的目标。 由于pybind11在windows和在linux下的部署安装,都已经分别专门撰文,本文以django的配置和整体集成为重心。最终调用的OpenCV算法,也以GOWarper来表示。 阅读全文
posted @ 2020-05-26 19:36 jsxyhelu 阅读(471) 评论(0) 推荐(0) 编辑
摘要:一、情况说明layerModelBlending是属于photo 模块下的算法,我很大程度上参考seamlessclone进行实现。这是我第一次编写功能模块,不同于之前的教程或者是某些参数的修改。这里的操作需要更多的工作。这里将过程中出现的问题和解决方法进行分析,作为经验。二、问题分析主要是修改两个地方,一个是photo.hpp,主要是添加头文件;//! layerModelBlending al... 阅读全文
posted @ 2020-05-22 14:44 jsxyhelu 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 所谓图层混合模式就是指一个层与其下图层的色彩叠加方式,在这之前我们所使用的是正常模式,除了正常以外,还有很多种混合模式,它们都可以产生迥异的合成效果。 本文实现了其中17种混合算法,代码规则,文档齐全。 阅读全文
posted @ 2020-05-22 07:54 jsxyhelu 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: 在编写实际项目的过程中,我需要实现绿色主题的“伪彩色”变换。在目前提供的模板中,只有summer最为接近,但是它的颜色太浅了,看上去不是很清晰。所以我结合ocean和summer两种现有模板,构建了deepgreen这个模板。它能够实现绿色主题的显著的伪彩色变换。本文记录了我发现问题、分析问题、编写代码、为OpenCV提供pull request的全过程。希望能够为有相关需求的工程师提供帮助。信息量比较大,表述不清楚的地方欢迎讨论。 阅读全文
posted @ 2020-05-12 07:29 jsxyhelu 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:编写基于OpenCV的图像处理程序,其中很重要的一道门槛就是编译OpenCV,应该说如果你对其中的内容如果不是很熟悉的话,即使是最简单粗暴的“两次configure,一次generate”都可能会出现各种错误;对于我来说,之前也是停留在能够编译、会解决一些问题阶段,直到前一段时间我需要研究《基于pybind11实现Python调用c++编写的CV算法--下(Linux+Cmake)》... 阅读全文
posted @ 2020-05-07 14:50 jsxyhelu 阅读(777) 评论(0) 推荐(0) 编辑
摘要:Pybind11 是一个轻量级只包含头文件的库,用于 Python 和 C++ 之间接口转换,可以为现有的 C++ 代码创建 Python 接口绑定。Pybind11 通过 C++ 编译时的自省来推断类型信息,来最大程度地减少传统拓展 Python 模块时繁杂的样板代码, 已经实现了 STL 数据结构、智能指针、类、函数重载、实例方法等到Python的转换,其中函数可以接收和返回自定义数据类型的值、指针或引用。 由于在Windows上和在Linux上使用会有较大不同,所以我这里将分为两个部分来说明问题,本文为下篇,具体说明Linux+Cmake实现。 我认为在Linux上使用python调用c++函数更有现实价值,毕竟许多新的服务、深度运算等都是运行在linux上的。具体步骤可以参考如下。 阅读全文
posted @ 2020-05-04 16:37 jsxyhelu 阅读(2378) 评论(0) 推荐(0) 编辑
摘要:一方面,我们需要编译型语言(C++)性能;一方面,也需要解释型语言(Python)的灵活。这时,pybind11 可以用作 C++ 和 Python 之间沟通的桥梁。 Pybind11 是一个轻量级只包含头文件的库,用于 Python 和 C++ 之间接口转换,可以为现有的 C++ 代码创建 Python 接口绑定。Pybind11 通过 C++ 编译时的自省来推断类型信息,来最大程度地减少传统拓展 Python 模块时繁杂的样板代码, 已经实现了 STL 数据结构、智能指针、类、函数重载、实例方法等到Python的转换,其中函数可以接收和返回自定义数据类型的值、指针或引用。 阅读全文
posted @ 2020-04-29 18:58 jsxyhelu 阅读(1275) 评论(0) 推荐(1) 编辑
摘要:这篇文章我们来对我们的安装进行测试,并介绍如何用CMake工具快捷地构建OpenCV项目。为了使整个项目更加条理,我们的文件夹采用如下组织方式:binbuildCMakeLists.txtsrc其中bin目录用于放编译生成的可执行文件,build目录用于cmake构建项目,src用于放源代码。"CMakeLists.txt"这个名字,一个字都不能错。编写的OpenCV示例代码:#include #... 阅读全文
posted @ 2020-04-29 18:56 jsxyhelu 阅读(1272) 评论(0) 推荐(0) 编辑
摘要: 此书极好,值得借鉴学习。Python在实现过程中,体现出来了非常强的优势,特别是结合Numpy来进行矩阵计算,有很多简化方法。这里将学习过程代码进行增编、添加后进行展示。 Python目前的缺点应该是缺乏一个像ImageWatch这样的工具,这将影响算法研究;另外Numpy的过度抽象,某种程度上也会造成障碍。 阅读全文
posted @ 2020-04-24 19:59 jsxyhelu 阅读(676) 评论(0) 推荐(0) 编辑
摘要:我们已经得到了感兴趣的轮廓,下一步就是要对轮廓进行选择,有一些轮廓是需要——有一些是不需要的,是噪音。通过判断一个轮廓是否为圆,在很多情况下可以帮助我们来做这至关重要的一步。 阅读全文
posted @ 2020-04-15 21:58 jsxyhelu 阅读(1321) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 26 下一页