自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lc__________的博客

言语和行动受心的支配但也会影响内心

  • 博客(48)
  • 收藏
  • 关注

原创 标准霍夫变换识别粗直线

在项目中需要识别粗直线。正常来讲对于直线的识别需要对图像进行边缘检测,再对边缘检测后的图像进行概率霍夫变换。但是对于存在粗直线的图像,边缘检测后,粗直线非边缘的部分就被过滤掉了,有效信息会有部分丢失,且opencv中霍夫变换的效果不太理想,以至于对于两条边缘直线的合并就更加困难了。因此想对霍夫线变换进行改进。概率霍夫变换效率高于标准霍夫变换,而且可以找到线段的两个端点,是一般大家用的比较多...

2019-02-18 14:29:01 2027

原创 ②本地图片转TFRecord及opencv安装

之前我们对图片数据的读取是通过tensorflow的mnist类直接下载和加载mnist数据集。但是更多的时候,我们想通过本地的图片进行训练。import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=True)但是如果每次对图片的读取都从磁盘上进行的话,将严重影响程序的效率。因此想先将本地图片转化成通用、高效...

2018-04-27 11:59:21 1036

原创 ①softmax回归MNIST手写数字识别

Softmax在机器学习中有着非常广泛的应用,他计算简单而且效果显著。假设有两个数a和b,且a>b > c如果取max,结果是a如果取softmax,则softmax(a) > softmax(b) > softmax(c),softmax把所有的选项都给出概率。MNIST手写数字识别是一个使用softmax回归(softmax regression)模型的经典案例。sof...

2018-04-17 11:35:42 895

转载 mongoDB磁盘碎片整理

前序:由于业务原因,需要将过期数据删除,之前也已经写了一篇关于如何定期删除数据的文章,但有一个问题出现了,频繁删除数据之后,会产生很多磁盘碎片,这些碎片如果没有被重复利用,进而会影响查询性能(表查询时仍然会扫描这部分删除数据的磁盘空间块),随需要处理之当从MongoDB中删除文档(Documents)或集合(Collections)后,MongoDB不会将Disk空间释放给OS,MongoDB在数

2017-11-20 10:48:49 1539

原创 Pyhton3+openCV3初体验

其中python3采用的anaconda进行Python的安装与库的管理。安装好anaconda后,就可以通过anaconda来安装opencv了。打开Anaconda Prompt命令行程序,输入conda list,可以查看已安装的库。输入conda install --channel https://conda.anaconda.org/menpo opencv3 可以对opencv进行安装

2017-10-16 13:31:17 651

转载 python3 opencv3 help(cv2)

Python3 Opencv3 help

2017-10-11 10:49:49 4923

原创 winform中多线程与定时器冲突

在winform中同时使用了定时器与多线程。程序不稳定,有时会弹出异常System.InvalidOperationException。

2017-09-05 15:02:33 4355

原创 VB.NET + EmguCV实现PCA降维

PCA。Principal Component Analysis。主成分分析。顾名思义,就是要从多元事物中解析出主要的影响因素。揭示事物的本质,简化复杂的问题。PCA的目的是将高维的数据通过线性变换投影到较低维空间。

2017-08-30 11:58:14 1589

原创 VB.NET邮件群发纯htlm二维码

发送邮件采用了frame的System.Net.MailDim msg As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()msg.To.Add(mailToStr)msg.From = New MailAddress("[email protected]", "Liuc", System.Text.Encoding.UTF8

2017-03-18 16:17:11 3127 1

原创 EmguCV中的实时视频显示

EmguCV中的Capture类可以完成视频文件的读取,并且能捕获每一帧。

2016-11-02 12:02:18 3851 1

原创 条码识别

条码是将线条与空白按照一定的编码规则组合起来的符号,用以代表一定的字母、数字等资料。世界上约有225种以上的一维条码,每一种一维条码都有自己的一套编码规格,规定每个字母(可能是文字或数字)是由几个线条(Bar)及几个空白(Space)组成,以及字母的排列。一般较流行的一维条码有39码、EAN码、UPC码、128码等。通常一个完整的条码是由两侧的静空区、起始码、资料码、检查码、终止码组成,以一条一维

2016-07-20 17:03:28 4093 1

原创 OpenCV与EmguCV中的图像轮廓提取

轮廓是图像中表示边界的一系列点的集合。虽然边缘检测算法可以根据像素间的差异检查出轮廓边界的像素,但是它并没有把轮廓做为一个整体表示出来。所以下一步工作是把这些边缘检测出来的像素组装成轮廓。openCV中可以用findContours()函数来从二值图像中提取轮廓。openCV中一般用序列来存储轮廓信息。序列中的每一个元素是曲线中一个点的位置。函数findContours()从二值图像中寻找轮廓。f

2016-07-18 14:08:41 23804 8

原创 OpenCV与EmguCV中的漫水填充

漫水填充算法,是根据选定的种子点,用一种自定义的颜色填充种子点的联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析。所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色。漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点。在OpenCV中,

2016-06-30 19:18:13 8600 1

原创 OpenCV与EmguCV中的形态学滤波

形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学。下面一起来了解数学形态学的概念。数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4个: 膨胀、腐蚀、开启和闭合, 它们在二值图像和灰度图像中各有特点。简单来讲,形态学操作就是基于形状的一系列图像处理操作。OpenCV为进行图像的形态学变换提供了

2016-06-28 14:41:32 7357

原创 OpenCV与EmguCV中的空间滤波

图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接响到后续图像处理和分析的有效性和可靠性。(滤波就是要去除没用的信息,保留有用的信息,可能是低频,也可能是高频)滤波一词借用于频域处理。本意是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分,这既是滤波的过程,也是滤波的目的。滤波分为两种:空间滤波与频域

2016-06-25 22:03:43 11109 4

原创 Emgu.CV.CvInvoke的类型初始值设定项引发异常

Dim img As Image(Of Gray, Byte) = Nothingimg = New Image(Of Gray, Byte)(Image.FromStream(New MemoryStream(ImageByte.Bytes)))报以下错误:“Emgu.CV.CvInvoke”的类型初始值设定项引发异常。异常的原因是无法加载opencv_core290:无法加载指定的模块找到一

2016-06-22 12:10:26 7366 1

原创 MongoDB入门

为什么要学习MongoDB?传统的SQL方式操作数据库过于复杂、要考虑的问题太多、容易出错MongoDB的Bson方式操作数据库学习简易,容易上手只要设计合理,MongoDB效率可以远超MySql完全开源免费各种编程语言完全兼容什么是MongoDB?MongoDB是一个基于分布式文件存储的开源数据库系统。在高负载的情况下(需要更多的存储空间和更强的处理能力),添加更多的节点(这就是所谓的分片),可

2016-06-02 11:09:04 2276

原创 根据矩阵的二维相关系数进行OCR识别

我想通过简单的模板匹配来进行图像识别。把预处理好的字符图片,分别与A到J的样本图片进行模板匹配。结果最大的表明相关性最大,就可以识别字符图片了。在实际应用中,我用了openCV的matchTemplate()函数,但是未达到我想要点的效果。matchTemplate()的功能是在图像中搜索出指定的模板,如果模板是从待搜索的图像中截取出来的,会有很好的效果。但是如果模板不是待搜素图像的一部分,似乎达

2016-03-14 18:18:17 3042 2

原创 VB.NET FTP传输及Win7下的FTP服务配置

FTP是File Transfer Protocol的英文简称,中文是文件传输协议。我们可以通过一个支持FTP协议的客户端程序,连接到远程主机上的FTP服务器,上传或者下载文件。TCO/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机上,并不受操作系统的限制。首先我们来进行一下Win7下的FTP服务的配置。我们先新建访问F

2016-02-17 14:58:50 3951 1

原创 VB.NET多线程入门

最近项目中遇到了一个处理速度慢堵塞用户界面操作的问题,因此想用多线程来解决。在处理数据的循环中,新建线程,在新建的线程中处理数据。多线程同时处理数据,以此来达到加速的目的。在多任务操作系统中,我们可以在操作系统的协调下同时进行多个任务。各个任务以分时复用的形式来进行工作。Windows操作系统通过进程ID来管理各进程,每个进程至少包含一个线程,线程是进程中可以独立运行的程序片段。在主程序运行时,主程序可以启动线程,线程与主程序同时运行。线程是系统中分数处理的最小单位,也就是说线程可以与主程序并行运行,共

2015-12-07 20:54:56 9352 3

转载 mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......)

对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高效的进行文档更新。更新修改器是中特殊的键,用来指定复杂的操作,比如增加、删除或者调整键,还可能是操作数组或者内嵌文档。1.$inc--------------------------------------------------------------------------这个修改器干什么使的呢?看看下面示例

2015-11-04 14:42:35 712

转载 VB.NET 异常处理及抛出异常

异常处理是.NET平台重要的安全机制,它将错误代码的接受和处理的进行了完美的分离,理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解,而且还提供了处理程序运行时出现的任何意外或异常情况的方法。在.NET平台中异常处理使用 try、catch 和 finally 关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。异常处理(又称为错误处理)功能。与传统VB6.0中的On E

2015-10-10 10:05:27 1308

转载 MongoDB使用中的一些问题

1、count统计结果错误这是由于分布式集群正在迁移数据,它导致count结果值错误,需要使用aggregate pipeline来得到正确统计结果,例如:db.collection.aggregate([{$group: {_id: null, count: {$sum: 1}}}])引用:“On a sharded cluster, count can result in an inaccur

2015-09-29 16:55:21 2109

原创 【图像处理笔记】锐化空间滤波器

锐化处理的主要目的是突出灰度的过渡部分。补偿轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。图像锐化的用途多种多样,应用范围从电子印刷和医学成像到工业检测和军事系统的制导等。图像的模糊可以通过积分来实现(均值处理与积分类似)。而图像锐化,则需要微分来实现。下面的内容,我们将讨论由数字微分来定义和实现锐化算子的方法。

2015-09-21 09:43:26 8457 1

原创 【图像处理笔记】平滑空间滤波器

平滑空间滤波器是低频增强的空间滤波技术。它的目的有两类:一是模糊处理,二是降低噪声。本文介绍的平滑空间滤波器也分为两类,一类是线性滤波器,比如最简单的简单平均法。但是大多数线性滤波器具有低通特性,去除噪声的同时也使得图像的边缘变得模糊了。另一类是统计排序滤波器。它是非线性滤波器,在去除噪声的同时,也能较好的保留了图像的边缘信息。

2015-09-20 11:45:25 11356

原创 排序算法

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。         当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序

2015-09-11 16:51:28 1872

原创 VB.Net刷点击

如何能够快速的增长博客的点击量呢~我用的是WebBrowser 控件,访问要刷点击的文章。定时器定时刷新,同时清除本地的cookie。就可以实现刷点击啦。Public webBrowNum As Integer = 0Public webBrowUrl As String = ""Public articleList As List(Of String) = New List(Of S

2015-09-10 10:42:23 896

原创 FlowLayoutPanel控件

最近用到了FlowLayoutPanel控件。感觉功能很强大~FlowLayoutPanel 是流式布局面板。可以实现动态的添加控件,实现响应式的布局排版。FlowLayoutPanel控件沿着水平或垂直流方向排列其内容。其内容可以从一行换到下一行。或者,还可以对它的内容进行剪裁,而不是进行换行。可以通过设置FlowDirection 属性的值来指定流向。在从右向左(RTL)的布局中,FlowLayoutPanel 控件会相应地反转其流向。还可以通过设置WrapContents 属性来指定是对FlowLa

2015-09-09 15:22:03 17228

原创 【图像处理笔记】空间滤波基础

空间滤波是一种采用滤波处理的图像增强方法。其理论基础是空间卷积和空间相关。目的是改善图像质量。滤波一词借用于频域处理。本意是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分,这既是滤波的过程,也是滤波的目的。空间滤波的模板被称为空间滤波器。线性空间滤波与频域滤波之间存在着一一对应的关系。空间滤波可以提供相当多的功能,还可以用于非线性滤波,而这在频域中是做不到的。

2015-09-06 15:10:33 15157

原创 VB.NET合并图片

有一个场景,我想合并两张图片。第一张在上,第二张在下。新图片的高等于两张图片高的和,宽等于两张图片中最宽的宽度。最笨的方法是新建一张图片然后循环赋值。但是速度太慢效率太低。因此我想用GDI+来绘制图像。

2015-09-02 10:41:30 4598

原创 【图像处理笔记】直方图匹配(规定化)

直方图均衡化,可以无需参数,自动寻找变换函数,从而自动的的增强整个图像的对比度,简单易行便于实现,结果可预知,但是增强的效果不受控制,处理的结果总是得到全局均衡化的直方图。而实际上呢,有时候,我们需要变换直方图,使之成为某个特定的形状,从而有选择的增强某个灰度范围内的对比度。这时,就可以采用本文介绍的这种,比较灵活的直方图匹配(直方图规定划)。

2015-09-01 14:28:10 8548

原创 【图像处理笔记】直方图均衡

直方图均衡。 英文是histogram equalization。考虑连续灰度值,并用变量r表示待处理图像的灰度。通常,我们假设r的取值区间为[0,L - 1],r = 0表示黑色,r = L - 1表示白色。对于上式,我们假设:(a)T(r)在区间上为单调递增函数。(b)当0<= r <= L - 1时,0 <= T(r) <= L - 1在后面讨论的一些公式中,我们会用到T(r)的反函数在这种情况下,条件(a)改为(a‘)

2015-08-29 15:07:43 6600

原创 【图像处理笔记】比特平面分层

像素是由比特组成的数字。例如,在256级的灰度图中,每个像素是由8比特(也就是1个字节)组成的。代替突出灰度级范围,我们可以突出特定比特来为整个图像的外观做出贡献。一幅8比特图像,可以认为是8个1比特的平面组成,其中平面1包含图像中所有像素的最低阶比特,而平面8包含图像中所有像素的最高阶比特。显示一幅8比特图像的第8个比特平面并不困难,可对它进行二值化,0-127之

2015-08-27 10:05:46 9907

原创 【图像处理笔记】灰度变换

最近在学习冈萨雷斯的《数字图像处理》,想把整理的笔记和自己实现的小实验整理在博客上~今天的主题是图像的灰度变换:g(x,y)= T [ f(x,y)]f(x,y)是输入图像,g(x,y)是处理后的图像,T是在点(x,y)邻域上定义的关于f 的一种算子。T处理,从输入图像的左上角开始,以水平扫描的方式逐像素地处理。当该邻域的圆点位于图像的边界上时,部分邻域将位于图像的外部。此时,不是忽略外侧

2015-08-26 10:37:33 12519 2

原创 VB.NET反序列化XML

序列化,是将对象状态转换为可保持或传输的格式的过程。与序列化相反的是反序列化,它将流转换为对象。这两个过程结合起来,就可以存储和传输数据。这就是序列化的意义所在。在VB.NET中转换、处理和生成XML文档时,需要用到一些XML专用名称空间中的类,这些名称空间包括:System.Xml    该名称空间提供了对各种XML标准(包括DTD、名称空间、DOM、XDR(XML Data

2015-08-25 13:43:46 7616

原创 Emgu的Image(Of Gray,Byte)转OpenCV的IplImage

最近在做VB.Net和C++进程间的用内存映射文件通信的项目。VB.NET和C++通信就需要传送统一的格式,让VB和C++都能解析。我就遇到了这个问题:VB.NET,Emgu的Image(Of Gray,Byte)怎么才能转为C++,OpenCV的IplImage?首先VB端创建内存映射文件,把Image(Of Gray,Byte).MIplImage.imageDataOrigin指针指向的内存写入内存映射文件中....

2015-08-24 17:53:32 4128

转载 VB.NET中指针和非托管内存的应用

介绍Visual Basic 从来不像在C或C++里一样灵活的操纵指针和原始内存。然而利用.NET框架中的structures 和 classes,可以做许多类似的事情。它们包括 IntPtr, Marshal 以及 GCHandle。 这些structures 和classes 允许你在托管和非托管环境中进行交互。本文中,我 将向您展示如何使用这些structures 和 classes

2015-08-24 09:56:12 2783 1

原创 .NET 图片格式转换

bmp转tifDim bmp As Bitmap = New Bitmap(f)Dim strTifDescFile As String = "C:/abc.tif"'黑白双色图片Dim tifImageCodecInfo As ImageCodecInfotifImageCodecInfo = GetEncoderInfo(ImageFormat.Tiff)Dim tifEnc

2015-08-20 13:32:07 5236

原创 不均匀光照文本图像的二值化

因为文本图像的背景是不均匀的,所以想先求出图片的背景,再用原图减去背景,就会得出文本的内容,再进行二值化,就是我们想要的结果。以下是详细的思路:首先要估算出原始图片的背景图。Is(x,y)点的背景区域亮度,可以用该点w*w邻域内较亮的点的集合来进行估算。就好比一张白纸,一个区域内最白的一些点就可以代表该区域的背景。我们逐行逐列的扫描图像,依次选取每个像素点w*w邻域内亮度最

2015-08-18 17:44:35 28906 10

转载 sauvola算法实现

实现了sauvola算法。参数是:k, windowSize,自己调调看效果[cpp] view plaincopyvoid sauvola(unsigned char * grayImage,unsigned char * biImage,int w,int h,int k,int windowSize)  {

2015-08-18 16:48:30 4562

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除