图像处理工程师,专注图像处理多年,长期奋斗在图像增强、识别一线。实战经验丰富,研究开发的连铸体拼接算法、人脸美化算法、红外线血管增强识别系统、中药识别系统、石材大板识别系统等均已投入使用。对opencv有着深入理解和解析,以jsxyhelu账号参与OpenCV项目。
理解mulitband。所谓的mulitband,其实就是一种多尺度的样条融合,其实现的主要方法就是laplace金字塔。高斯金字塔是向下采样,而laplace金字塔式向上采样(也就是恢复),采用的都是差值的方法。
一、问题提出 这是一个来自"answerOpenCV"(http://answers.opencv.org/question/200422/opencv-c-filling-holes/)整编如下: title:OpenCV / C++ - Filling holes content: H...
【VNC】修改VNC分辨率大小 VNC的分辨率过小有可能导致图形化界面操作过程中遇到“确认键或取消键”无法点击,分辨率过高又可能导致低分辨率客户端显示器无法显示。
外国不过十一,所以利用十一假期,看看他们都在干什么。一、小白问题 http://answers.opencv.org/question/199987/contour-single-blob-with-multiple-object/ Contour Single blob with multiple object Hi to everyone.
在“学习OpenCV3"的QQ群众,网友且行且珍惜针对前期博客(https://www.cnblogs.com/jsxyhelu/p/9345590.html)中的内容提出了以下问题: 比如这张图,利用PCA求出了特征向量之后,我想要求解与轮廓的交点,不知道有没有简单的方法@禾老师 非常好的问题!在寻找到轮廓的”主方向“后,往往下一个动作就是寻找向量和轮廓的交点,因为往往这才是我们更关心的地方。
openCV函数pointPolygonTest(): C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist) 用于判断一个点是否在轮廓中 当measureDist设置为true时,若返回值为正,表示点在轮廓内部,返回值为负,表示在轮廓外部,返回值为0,表示在轮廓上。
在C#中使用OpenCV(使用OpenCVSharp) 1、什么是OpenCVSharp 为了解决在Csharp下编写OpenCV程序的问题,我做过比较深入的研究,并且实现了高效可用的方法(GOCW);这几天在搜集资料的时候,偶尔看见了OpenCVSharp,从时间上来看,它已经经过了更久的发展,应该有许多直接借鉴、或者直接使用的地方。
2018-09-12,第一次对OpenCV PR成功https://github.com/opencv/opencv/pull/12206 《find innercircle of contour by using pointPolygonTest》 总的来说,参加PR绝对是一件消耗时间精力(特别对于新手),同时收获非常巨大的事情。
GOCW的重点和难点就在于Csharp调用OpenCV,其中的桥梁就是CLR,当然我们也有其他方法,但是CLR是一个比较新的、比较可靠的、关键是能用的桥梁。这里关于CLR的基本原理知识、如何用于GOCW项目的相关内容加以整理思考,以图深入:一、什么是CLR; 1、什么是CLR CLR(Common Language Runtime)是“公共语言运行时”的缩写,简单来说它是和Java虚拟机一样的一个运行时环境。
如果只是使用Clone不能称得上是完全使用了GitHub,必须完成PullRequest,而且最好是对大型、带自动构建项目进行PR(比如OpenCV),这样才叫完全掌握GitHub的使用方法,这里分享一些经验,针对的就是OpenCV,也包括本地使用的一些技巧。
1、OpenCV to detect how missing tooth in equipment Hello everyone. I am just starting with OpenCV and still a bit lost.
直接使用提供的代码框架进行修改,是最快得到效果的方法;但是这样的灵活性较差,而且真正的程序员从来都不会停滞在这一步:我们需要的是“将框架解析到最小化、理清楚每个构建之间的关系”,只有这样才能灵活运用。 一、准备工作1、高拍仪已经接通,如果需要的话,还要安装驱动; 2、vs2012编程环境,能够编写Csharp和OpenCV程序(具体不清楚可以回过头来看配置); 3、是DirectShow.net(http://directshownet.sourceforge.net/docs.html)的可使用类 它本身包含文档,有时间可以看一下。
我记得曾经有人对OpenCV的旋转吐槽,意思是它自己没有很好的关于选择的算法。在新的版本里面添加了这些函数(我还没有时间去看是什么时候pr的)。现在一个比较棘手的问题,就是OpenCV中旋转是如何定量的,什么是正方向?什么是负方向?什么时候用角度?什么时候用弧度? 下面就是针对这几个问题,通过查资料、做实验的方式搞清楚。
基于OpenCV编写图像处理项目,除了算法以外,比较重要一个问题就是界面设计问题。对于c++语系的程序员来说,一般来说有QT/MFC两种考虑。QT的确功能强大,特别是QML编写android界面很有一套(https://www.cnblogs.com/jsxyhelu/p/8286476.html),在树莓派上进行设计也很方便(https://www.cnblogs.com/jsxyhelu/p/7839062.html);但是使用QT的一个现实问题就是和现有平台的结合,比如客户需要将结果导出到excel中,使用QT就比较别扭(当然不是说不可以)。
//Exercises at end of Chapter 5,《learning OpenCV3》 #include "stdafx.h" #include #include using namespace cv; using namespace std; void help(const ...
1、在一条含有 N 个点的封闭轮廓中,我们可以通过比较每个点与其它点的距离,找出最外层的点。(这个翻译有问题,而且这个问题是实际问题) a、这样一个算法的复杂度是多少? b、怎样用更快的速度完成这个任务? 1.
问题来源:实际项目中,需要给出识别轮廓的长度和宽度。 初步分析: 轮廓分析的例程为: int main( int argc, char** argv ){ //read the image Mat img = imread("e:/sandbox/leaf.
contour在opencv中是一个基础的数据结构,灵活运用的话,作用很大。以contour为关键字,在answerOpenCV中能够发现很多有趣的东西。 1、无法解决的问题 http://answers.
我理解这个问题和猫狗的不同,在于将2类扩展为10类,其它的地方我准备采用相同的方法。 注意事项:1、我要用kaggle的数据集,而不是用其它的数据集; 2、最终得到的结果要以test为导向; 1、先打开jupyter,并且把数据集传到dl_machine上去。
随着学习的进行,深度学习的学习速率逐步下降 为什么比 固定的学习速率 得到的结果更加准确? 如上图所示,曲线代表损失值,小球一开始位于(1)处,假设学习速率设置为 △ v,那么根据梯度下降,损失值将在(1) (2)之间来回移动,无法到达最小值(3)处。
主要是通过mnist了解kaggle的操作细节,最终这里的结果为: 引入必须的库¶ import pandas as pd import numpy as np import matplotlib.
一、How to make auto-adjustments(brightness and contrast) for image Android Opencv Image Correction i'm using OpenCV for Android.
mfc实现的程序中,ribbon界面是主流,比较适合测量类项目。几个修改图标的小技巧:1、现有的bmp,可以直接修改 在好几个地方,已经将IDB_*和显示效果对接清楚了,直接修改这里的bmp,就可以起到效果。
一、基本环境 $ pip install flask gevent requests pillow 其中 flask不需要解释 gevent 是用于自动切换进程的; pillow 是用来进行python下的图像处理的; requests 是用来进行python下request处理的。
yolo是继faster-r-cnn后,原作者在目标检测领域进行的新研究。到了v3版本以后,虽然已经换人支持,但是更注重工程实践,在实际使用过程中突出感受就是 “非常快”,GPU加速以后能够达到实时多目标,并且已经完成了工程实践。
网络化部署一直是我非常想做的,现在已经基本看到了门路。今天早上实验,发现在手机上的支持也非常好(对于相机的支持还差一点),证明B/S结构的框架是非常有生命力的。下一步就是要将这个过程深化、总结,并且封装出来。
In [1]: import keraskeras.__version__ C:\ProgramData\Anaconda3\lib\site-packages\h5py\__init__.
本节提示: 1、DL的核心构建 2、Keras的简单介绍 3、搭建DL机器训练环境 4、使用DL模型解决基础问题 3.1 DL的基本构建:layer layer的定义:以1个或多个tensor作为输入,并且运算出来1个或者多个tensor作为输出的数据处理模型。
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management 【禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助。我们在MFC中使用字符串的相关操作,首先想到的就应该啊是CString,而不是char*或者string。
本节提示: 1、第一个dl例子; 2、tensor和tensor操作; 3、DL如何通过逆向传播和梯度下降达到学习目的。 2.1 输入数据集的格式 from keras.datasets import mnist (train_images,train_labels),(test_images,test_labels) = mnist.
您好: 我在网上看到您的opencv透视变换的博客,https://www.cnblogs.com/jsxyhelu/p/4219564.html, 我是opencv小菜鸟一个,现在想要得到一个图片变形之后保存,整个图片信息不丢失,即四个角的信息不丢失应该怎么做?原图中某一点在新图中坐标应该怎么计算?万望不吝赐教,不胜感激,万分感谢。
由于不同机器的绝对地址不一样,可能会出现解决*.props打开失败问题,解决方向如下:1、找到这里缺失的.props文件,复制到固定路径下; 2、强行打开代码,这个时候是报错的 3、选择编辑 4、将打开文件中的路径改为刚才确定的路径 注意反斜杠 5、重新打开即可 小结:出现这种问题,的却是因为在项目创建的时候(特别是我的一些早期项目中),存在错误的环境配置的引用的情况,主要的解决方法就是看它缺少什么文件?将其添加上去就可以。
使用tensorboard将keras的训练过程显示出来(动态的、直观的)是一个绝好的主意,特别是在有架设好的VPS的基础上,这篇文章就是一起来实现这个过程。 一、主要原理 keras的在训练(fit)的过程中,显式地生成log日志;使用tf的tensorboard来解析这个log日志,并且通过网站的形式显示出来。
解决3个问题:1、自己实现一例flask项目; 2、在flask中,如何调用json传值; 3、进一步读懂现有代码。 Flask 在整个系统中是作为一个后台框架,对外提供 api 服务,因此对它的理解学习要保持足够严谨,因为将来必然会遇到性能问题。
在有背景的图像处理中,往往你关注的区域并不是最大的轮廓(那是背景),而是第二大轮廓 之前我们有这样的函数: //寻找最大的轮廓 VP FindBigestContour(Mat src){ int imax = 0; //代表最大轮廓的序号 int ima...
在之前我们做过这样的研究:5图分类CBIR问题各不相同的 5类的图形,每类100张 import numpy as npfrom keras.datasets import mnistimport gcfrom keras.
今天进一步在cifar10数据集上解决几个问题: 1、比较一下序贯和model,为什么要分成两块; 2、同样的条件下,我去比较一下序贯和model。这个例子作为今天的晚间运行。 1、比较一下序贯和model,为什么要分成两块; 我认为比较能够说明问题的是前期那个验证码的model input...
本课我们主要来研究一个“浏览器中的卷积神经网络” 这只是一个展示项目,但是能够帮助直观地看到一些东西 地址:https://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.
今天的基础研究主要是在cifar10数据集上解决一下几个问题:1、从头开始,从最简单的序贯开始,尝试model的构造; 2、要将模型打印出来。最好是能够打印出图片,否则也要summary; 3、尝试对例子的参数进行分析,得出初步修改意见。
本课主要2个实践内容:1、keras中数据集丰富,从数据集中提取更多特征(Data augmentation) 2、迁移学习(Tranform learning) 代码:https://github.com/jsxyhelu/DateSets 1、keras中数据集丰富,从数据集中提取更多特征(Data augmentation) keras是比较现代化的DL工具,所以这方面的功能都是具备的。
一、CBIR技术简介 传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,简称“以字找图”,既耗时又主观多义。基于内容的图像检索客服“以字找图”方式的不足,直接从待查找的图像视觉特征出发,在图像库(查找范围)中找出与之相似的图像,这种依据视觉相似程度给出图像检索结果的方式,简称“以图找图”。
随着硬件条件的不断发展和算法理论的不断进步,深度学习已经成为解决实际问题的一种有效方法,特别是在图像处理方面,深度学习能够帮助我们解决很多历史上难以解决、或者解决不好的问题。这篇博客代理大家梳理相关知识,搞明白由图像处理出发,我们为什么要学习深度学习?如何学习深度学习?最后落到实处,应该是研究那些具体的东西?一、为什么研究深度学习 深度学习是有史以来发明的最为优美的编程范式之一。
其中: 1、VGG 网络以及从 2012 年以来的 AlexNet 都遵循现在的基本卷积网络的原型布局:一系列卷积层、最大池化层和激活层,最后还有一些全连接的分类层。 2、ResNet 的作者将这些问题归结成了一个单一的假设:直接映射是难以学习的。
黄河,是中国的母亲河 滋养了中华文明,今日游访黄河风景名胜区,探寻黄河的风采。 入口处严正以待 瀑布 广场主体为炎黄二帝雕像,较高的为炎帝,左(nan)侧(da)的为皇帝。 整个广场气势恢宏。
中国文化,100年看上海,1000年看北京,3000年看河南。河南是中华民族的发祥地,其历史悠久,文化厚重,正如河南博物馆的名字:大象中原。 当然,大象也很容易联想到“大象”。 一、文明曙光 天地玄黄,宇宙洪荒。
1、联通ColaB 2、运行最基础mnist例子,并且打印图表结果 # https://pypi.python.org/pypi/pydot#!apt-get -qq install -y graphviz && pip install -q pydot#import pydotfrom _...
我们使用google提供的colab,对我们现有的GoNetwork进行适当修改,利用网络资源进行运算。 一、什么是 Colaboratory? Colaboratory 是一款研究工具,用于进行机器学习培训和研究。
基于《神经网络和深度学习》这本绝好的教材提供的相关资料和代码,我们自己动手编写“随机取样的梯度下降神经网络”。为了更好地说明问题,我们先从简单的开始:1、sigmod函数,基本上就是基于定义的; #########helper函数######## #计算sigmoid,这个函数来自定义 def sigmoid(z): return 1.
1、什easypr数据集; easyPR是一个开源的中文车牌识别系统,其目标是成为一个简单、高效、准确的非限制场景(unconstrained situation)下的车牌识别库。 相比于其他的车牌识别系统,EasyPR有如下特点: 它基于openCV这个开源库。
1、什么是mnist数据集; mnist是一个被重度使用的数字手写字符集。它来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST).