OpenCV
独步天秤
千里之行,始于足下
展开
-
OpenCV源码之高斯模糊GaussianBlur, getGaussianKernel
目录基本原理:基本流程:高斯模板创建过程构建高斯矩阵计算高斯矩阵的和归一化源码结论:参考文章:基本原理:在数字图像处理中,一般取二维高斯函数为由(1)可以知道,二维高斯函数,可以看成两个一维高斯函数乘积,因此先计算一维高斯模板,再计算需要的二维高斯模板。基本流程:高斯模板创建过程构建高斯矩阵注意:后续归一化时系数会被去掉,所以会省略系数的计算,只计算OpenCV中源码:double x = i - (n...原创 2020-05-26 16:16:53 · 4132 阅读 · 0 评论 -
C#编程笔记以及C#调用C++ DLL注意事项
总目录UI相关如何在PictureBox中实现选择框功能C#进度条实现C#实现复杂XML的序列化与反序列化C#调用C++ DLL对 PInvoke 函数“Demo!Demo.MyImgCSharp::CalcAllEigens”的调用导致堆栈不对称。自定义结构体数组传递C++类型与C#类型对应C#用指针取结构体数组中内容图像处理新的Emgucv使用中常用函数总结EmguCV学习——简单使用UI相...原创 2020-04-22 10:52:35 · 873 阅读 · 1 评论 -
灰度共生矩阵 Gray-Level Co-occurrence Matrix(GLCM)原理(一)
目录重要概念GLCM属性如何产生对称的共生矩阵GLCM图例说明归一化公式产生对称的共生矩阵GLCM总结官方说明重要概念neighbour pixel: 共生点ref pixel:参考点,基准点灰度共生矩阵(GLCM):是一种统计表格,不是一幅图片GLCM属性1. 该矩阵是方形的,即N*N大小,一般为8*8, 16*16,32*322.它的行数和列数...原创 2020-03-18 16:39:41 · 5587 阅读 · 1 评论 -
灰度共生矩阵 Gray-Level Co-occurrence Matrix(GLCM)相关网址
官方说明1、https://www.mathworks.com/help/images/ref/graycomatrix.html 灰度共生矩阵原理,步距、方向原理等说明,及MATLAB代码2、https://prism.ucalgary.ca/handle/1880/51900 一本pdf小册子《GLCM Texture: A Tutorial v. 3.0 March 201...原创 2020-03-18 11:48:03 · 1282 阅读 · 0 评论 -
OpenCV checkVector()函数说明与C++代码举例
说明检查这个Mat是否为Vector源码int Mat::checkVector(int _elemChannels, int _depth, bool _requireContinuous) const{ return data && (depth() == _depth || _depth <= 0) && (isC...原创 2020-03-02 17:39:41 · 2742 阅读 · 0 评论 -
相机标定文章汇总 张氏相机标定法 OpenCV相机标定与畸变校正
下面是笔者收集整理的相机标定相关文章,感谢他们的原创,原文链接均附上。张氏相机标定法从零开始学习「张氏相机标定法」(一)成像几何模型从零开始学习「张氏相机标定法」(二)单应矩阵从零开始学习「张氏相机标定法」(三)推导求解从零开始学习「张氏相机标定法」(四)优化算法前传从零开始学习「张氏相机标定法」(五)优化算法正传相机标定究竟在标定什么?综述 | 相机标定方法...原创 2019-11-25 19:41:13 · 3671 阅读 · 0 评论 -
OpenCV常见错误及解决办法 C++与Python
Table of Contents说明常见错误1: Sizes of input arguments do not match常见错误2:Assertion failed (size.width>0 && size.height>0) in cv::imshow常见错误3:error C3872: '0xa0': this character is no...原创 2019-05-13 14:49:01 · 8036 阅读 · 2 评论 -
Python PyZbar二维码&条形码识别 简单例子 图例说明
Table of Contents所需模块PyZbar下载OpenCV_Python代码输出补充说明使用PyZbar来识别一个或多个二维码/条形码。所需模块PyZbar下载pyzbar 0.1.8https://pypi.org/project/pyzbar/OpenCV_Pythonpip install opencv_python或者去下...原创 2019-05-29 10:40:05 · 8012 阅读 · 2 评论 -
OpenCV中如何获取Mat类型中的步长stride及分析 C++实现
Table of Contents问题需求:获取Mat stride官方资料解释如何获取stride深入分析MatStep类型的结构体MatStep的构造函数隐式类型转换的操作符重载函数运算符重载的知识完整版代码问题需求:获取Mat stride如题,需要使用到Mat类型的步长stride。先从本地读取一张图片,单步进去看到srcImage的属性如下...原创 2019-07-03 15:53:54 · 5085 阅读 · 0 评论 -
OpenCV4.1 DNN Sample C++配置 VS2017 + Windows
Table of Contents我的环境OpenCV4.1.0VS2017配置配置Include Directories(包含目录)配置Library Directories(库目录)Linker链接器配置->重启VS2017添加环境变量属性表配置我的环境OpenCV4.1.0 【https://opencv.org/releases...原创 2019-08-02 17:44:39 · 1703 阅读 · 0 评论 -
OpenCV4.1 Classification VS2017配置 错误及解决办法 与效果图
Table of Contents下载所需档案配置第一步:OpenCV配置第二步:错误:E1696 無法開啟 來源 檔案 "common.hpp"第三步:错误:C4996 'getenv': This function or variable may be unsafe.控制台参数代码效果图下载所需档案参考文章https://docs.opencv.o...原创 2019-08-02 18:15:19 · 1967 阅读 · 1 评论 -
写给零基础朋友的卷积入门知识 具体例子、卷积计算 与思维导图详解
目录卷积定义公式卷积例子先以离散的方式来看:以连续的方式来看:卷积计算图像处理与卷积核思维导图参考文章卷积定义卷积是一种数学运算,符号为*,是两个变量在某范围内相乘后求和的结果。重点:先相乘后求和。结果是一个数值【标量】。“相乘”的另外一种说法“加权”,即“加以权重”、“乘以一定的权重”。在其他一些资料上看到“加权求和”,与卷积是一样的意思。...原创 2019-01-28 16:48:21 · 5029 阅读 · 0 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter6_Imagee Processing图片处理_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第六章Imagee Processing图片处理...原创 2019-02-15 12:40:41 · 501 阅读 · 0 评论 -
OpenCV 按位bitwise运算、掩膜mask运算详解 表格+图解 Python代码实例详解 基础实用款
Table of Contents按位运算基本知识Mask基本知识mask用途代码一:基本的位运算和Mask运算代码二:用mask提取ROI(Region of Interest)-单通道颜色代码三:用mask提取ROI(Region of Interest)-三通道颜色常见错误及解决方案扩展阅读按位运算基本知识运算 运算结果 类比 举例...原创 2019-02-22 15:12:51 · 14588 阅读 · 6 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter7_Histograms直方图_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第七章Histograms直方图...原创 2019-03-05 14:33:39 · 379 阅读 · 0 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter8_Smoothing and Blurring平滑与模糊_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第八章Smoothing and Blurring平滑与模糊图上内容部分也参考了《OpenCV算法精解》...原创 2019-03-05 14:38:36 · 296 阅读 · 0 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter9_Thresholding阈值化_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第九章Thresholding阈值化...原创 2019-03-05 15:30:41 · 215 阅读 · 0 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter10_Gradients and Edge Detection 梯度和边缘检测_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第十章Gradients and Edge Detection 梯度和边缘检测图上内容部分也参考了《OpenCV算法精解》...原创 2019-03-05 15:38:00 · 265 阅读 · 0 评论 -
Practical Python and OpenCV 3rd Edition读书笔记_Chapter11_Contours轮廓_思维导图
《Practical Python and OpenCV 3rd Edition》真的是一本非常棒的入门书籍。它也很薄,只有166页,虽然是纯英文的,如果静下心来认真看一两天就可以读完。下面是我之前整理的读书笔记,以思维导图的方式呈现。此图是关于第十一章Contours轮廓图上内容部分也参考了《OpenCV算法精解》...原创 2019-03-05 15:45:40 · 608 阅读 · 0 评论 -
OpenCV中HoughLines检测直线原理图解 画线时点的确定:为什么要乘以1000 画出所有直线 Python代码实现
Table of Contents原理图解OpenCV中HoughLines两个点为什么要乘以1000Python代码实现图片效果原理图解官方文档解释:A line can be represented asor in parametric form, aswhereis the perpendicular distance from orig...原创 2019-03-22 18:11:53 · 4802 阅读 · 0 评论 -
OpenCV线性变换、分段线性变换 C++代码实例 及效果图
Table of Contents线性变换公式C++代码程序运行结果线性变换实验对图片进行分段线性变换线性变换公式dstImage = alpha * srcImage + beta【类比于数学中的y = ax + b】C++代码#include <opencv2/opencv.hpp> //头文件#include <iostrea...原创 2019-04-05 23:24:08 · 4349 阅读 · 0 评论 -
OpenCV4.0.1/4.0.0/3.4.2 + Contrib + Qt5.9 + CMake3.12.1编译及踩坑笔记、Qt5+OpenCV配置、代码验证、效果图、福利彩蛋
Table of Contents前言Windows 10, OpenCV4.0.1, Qt5.9.3, CMake3.12.1, MinGW5.3.0Windows 10, OpenCV4.0.0, Qt5.9.3, CMake3.12.1, MinGW5.3.0OpenCV3.4.2 + Contrib3.4.2 + Qt5.9 + CMake3.12.1编译资料准备开...原创 2019-04-11 11:14:14 · 9011 阅读 · 4 评论 -
OpenCV4.0+VS2017/OpenCV3.4.2 + Contrib3.4.2 + VS2013 + CMake3.12.1编译 代码验证/效果图及踩过的坑
Table of ContentsOpenCV4.0.0 + VS2017 + CMake3.12.1编译OpenCV3.4.2 + VS2013 + CMake3.12.1编译准备资料CMakeVS编译1. 建议使用管理员身份打开opencv.sln2. BUILD INSTALL3. 生成的结果配置VS属性表1. 没有勾选BUILD_opencv_wor...原创 2019-04-09 17:05:39 · 2325 阅读 · 4 评论 -
OpenCV中矩阵归一化函数normalize()的原理讲解及公式 C++/Python代码实例
Table of Contents函数原型参数说明不同norm_type下的计算公式NORM_L1NORM_L2NORM_INFNORM_MINMAX参考文章代码实例代码输出Python代码使用normalize图像输出笔者备注函数原型void cv::normalize ( InputArray src,Inpu...原创 2019-04-03 18:51:49 · 14706 阅读 · 6 评论 -
cv2.imshow()的图片关闭时出现not responding(没有回应),电脑环境崩溃 图+真相+解决办法
Table of Contents出问题的代码现象解决办法完整版代码参考文章补充说明出问题的代码#! /usr/bin/env python# -*- coding: utf-8 -*-import cv2img = cv2.imread("F:/images/lena.jpg", cv2.IMREAD_COLOR)cv2.imshow("img", ...原创 2019-04-13 22:17:41 · 6423 阅读 · 0 评论 -
OpenCV直方图之反向投影 原理 Python代码 效果图
Table of Contents原理应用Python函数Python代码效果图一效果图二效果图三总结参考原理反向投影查找原理:查找的方式就是不断的在输入图像中切割跟模板图像大小一致的图像块,并用直方图对比的方式与模板图像进行比较。假设我们有一张100x100的输入图像,有一张10x10的模板图像,查找的过程是这样的:(1)从...原创 2019-04-18 11:15:19 · 982 阅读 · 0 评论 -
OpenCV3 CommandLineParser类代码实例 使用说明 播放视频及效果图 VS2013控制台程序带参数的设定方法
Table of Contents简介说明什么是位置参数什么是关键字参数关键字参数Keys syntax如何访问关键字参数如何访问位置参数如何使用&调试方法实例代码效果图补充:VisualStudio控制台程序带有参数的设定方法简介OpenCV源码中对CommandLineParse的说明如下:Designed fo...原创 2019-05-02 16:01:13 · 1004 阅读 · 6 评论 -
为VS2010/VS2012/VS2013/OpenCV3和OpenCV2.4.11配置属性-添加OpenCV不同版本的属性表 详细图解
Table of Contents 属性配置有两种方法:OpenCV3.0.0+VS2013属性表配置添加环境变量新建一个项目找出属性管理器Property Manager添加属性表Property Sheet配置Include Directories(包含目录)配置Library Directories(库目录)Linker链接...原创 2019-01-17 19:54:39 · 2007 阅读 · 0 评论