自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

原创 Python处理包含不可打印/显示字符的中文字符串

首先将二进制数据按照 UTF-8 编码解码为字符串。然后,使用 unicodedata 模块中的 category 函数来判断字符是否为不可打印字符(分类为 ‘Cc’)。最后,将过滤后的字符列表连接成字符串以获得最终结果。针对该类型文件,可以考虑在读取时利用二进制形式进行读取,然后对二进制数据进行判断,判断其是否为可打印字符(包含中文字符)/是否为不可打印字符,然后将不可打印字符去除即可。

2024-03-30 11:47:13 262

原创 Canny边缘检测算法及实现

提取图片的边缘信息是底层数字图像处理的基本任务之一.

2022-05-21 19:57:07 9434 5

原创 P3P相机姿态估计数学推导,求解及自定义实现

P3P相机姿态估计数学推导,求解及自定义实现微信公众号:幼儿园的学霸目录文章目录P3P相机姿态估计数学推导,求解及自定义实现目录前言相机到空间点距离求解角度θ的计算相机坐标系下的坐标计算自定义实现总结参考资料附录前言PnP问题(Perspective N Points)是指已知3D点的空间坐标及其在相机上的投影,求相机姿态的问题.投影方程可以表示为:λ[uv1]=K[Rt][XYZ1]\lambda\left[\begin{array}{l}u \\v \\1\end{array

2021-11-30 22:00:00 5444 4

原创 高斯滤波的理解与学习

高斯滤波的理解与学习微信公众号:幼儿园的学霸目录文章目录高斯滤波的理解与学习目录前言高斯函数一维高斯函数二维高斯函数高斯滤波过程高斯核求解利用高斯核滤波高斯滤波步骤高斯滤波实现高斯滤波标准差与窗口大小的换算实现常规实现分离实现高斯滤波总结高斯函数性质高斯滤波应用参考资料附录高斯函数及频谱绘图代码前言对一幅图像而言,低频部分对应整体灰度级的显示,高频部分对应着图像的细节部分.因此去掉低频部分(或者增强高频部分)可以锐化图像,去掉高频部分(或者增强低频部分)可以实现模糊/平滑图像的作用.去除低

2021-10-21 10:44:59 4693 1

原创 otsu算法详细推导、实现及Multi Level OTSU算法实现

otsu算法详细推导、实现及Multi Level OTSU算法实现目录文章目录otsu算法详细推导、实现及Multi Level OTSU算法实现目录简介推导及实现常规推导算法步骤及实现步骤实现从概率的角度解释推导实现扩展-MultiLevel OTSU延伸思考算法评价参考资料简介OTSU算法也称最大类间差法,有时也称之为大津算法,由大津于1979年提出,被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度分布特性,将图

2021-10-14 09:00:40 7026 5

原创 C++设计模式——观察者模式(Observer Pattern)

C++设计模式——观察者模式(Observer Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——观察者模式(Observer Pattern)目录前言定义代码示例总结观察者模式和中介模式优缺点适用场景及应用示例参考资料前言观察者模式面向的需求是:A对象(观察者)对B对象(被观察者)的某种变化高度敏感,需要在B变化的一瞬间做出反应。举个例子,新闻里喜闻乐见的警察抓小偷,警察需要在小偷伸手作案的时候实施抓捕。在这个例子里,警察是观察者、小偷是被观察者,警察需要时刻盯着小偷的一

2021-09-15 22:27:59 5899

原创 自适应阈值化

自适应阈值化微信公众号:幼儿园的学霸目录文章目录自适应阈值化目录背景介绍及原理原理权重选择说明自定义实现结果对比参考资料背景介绍及原理原理图像阈值化的一般目的是从灰度图像中分离出目标区域和背景区域,然而仅仅通过设定全局固定阈值(对图像中的每个点其二值化的阈值都是相同的)的方法很难达到理想的分割效果。那么就需要一种方法来应对这样的情况。这种办法就是自适应阈值法(adaptiveThreshold),它的思想不是计算图像的全局阈值,而是根据图像不同区域亮度分布,计算其局部阈值,对于图像不同区域

2021-09-08 20:16:41 7540 1

原创 引导滤波推导及实现

引导滤波推导及实现微信公众号:幼儿园的学霸目录文章目录引导滤波推导及实现目录前言推导介绍推导引导滤波的算法流程及实现计算流程快速引导滤波流程自定义实现及效果引导滤波的应用应用优点其他参考资料前言引导滤波顾名思义,就是有选择(引导)性的滤波,其与我们经常提及的高斯滤波、双边滤波相比,它具有引导性,说具体点就是,它通过输入一副图像(矩阵)作为引导图,这样滤波器就知道什么地方是边缘,以此更好的保护边缘,最终达到在滤波的同时,保持边缘细节。各向同性滤波对待噪声和边缘信息采取一致的态度,从而导致噪声

2021-08-09 22:25:57 2125

原创 双边滤波算法原理及代码介绍

双边滤波算法原理及代码介绍微信公众号:幼儿园的学霸目录文章目录双边滤波算法原理及代码介绍目录介绍原理算法过程过程描述σ的意义及选取OpenCV 代码分析参考资料A bilateral filter is a non-linear, edge-preserving, and noise-reducing smoothing filter for images. It replaces the intensity of each pixel with a weighted average of i

2021-07-12 15:14:22 4749 9

原创 主成分分析(PCA)原理总结与实例

微信公众号:幼儿园的学霸最近在点云处理中,需要获取目标点云的最小包围盒(OBB),在网上看到很多利用PCA求解包围盒的代码,但是代码大多都比较简洁,属于PCA的一个应用,而没有原理的具体描述.因此,抽时间对PCA进行了一些梳理,以方便自己理解.特此记录.目录文章目录目录介绍向量的表示与基变换内积与投影基/基向量基变换的矩阵表示协方差矩阵及优化目标方差协方差协方差矩阵协方差矩阵对角化PCA算法步骤算法步骤数学实例数学过程python实现应用实例PCA算法总结参考资料介绍主成分分析(Princip.

2021-06-19 21:06:23 1995 2

原创 求解直线与平面的交点

求解直线与平面的交点微信公众号:幼儿园的学霸目录文章目录求解直线与平面的交点目录前言数学模型推导编程实现参考资料前言直线与平面的交点求解相关的内容在网上已经有很多资料进行介绍,目前所看到的博文在数学模型建立上都是正确的,但是其编程实现却存在问题,导致只有部分情况下能够正确求出直线与平面的交点,另外一些情况下求出的交点却是错误的.本文对原理进行推导并实现正确的编码.数学模型推导已知经过两点P1(x1,y1,z1),P2(x2,y2,z2)P_1(x_1,y_1,z_1),P_2(x_2,y_

2021-04-08 22:18:43 4216 5

转载 Image sensor 知识简介

转载自公众号 像由芯生 ,原文链接前言摄像机用来成像的感光元件叫做Image Sensor或Imager。目前广泛使用的2种Image Sensor是CCD和CMOS Image Sensor(CIS)。在数码摄影机市场上已经广泛应用了CCD技术,但是CCD需要消耗大量的能量和相当多的支持芯片。所以CMOS Image Sensor应运而生。其每个像素都可以进行自己的电荷转换,从而显著减少产生图像所需要的能量和支持电路。此外,CMOS Image Sensor采用与大多数微处理器和存储器芯片相同的材

2021-02-02 22:52:41 7553 1

原创 点绕坐标系旋转旋转矩阵推导、理解

点绕坐标系旋转旋转矩阵推导、理解开会过程中,翻笔记本时突然发现了之前推导的点绕坐标系旋转的旋转矩阵求解过程。在直觉上,一个点绕3个坐标轴旋转的旋转矩阵在形式上看起来是一致的,观感上比较优雅、整齐,但是一直没有仔细观察背后的原理。因此又对这个过程进行了一次推导,对这种整齐有了更深的理解,同时对记忆也有所帮助。特此记录。由于我们提到三维坐标系时,常用XYZ三个字母代替3个轴,为了不失一般性,避免字母先入为主产生的印象,在这里用UVW来指代右手三维坐标系。大拇指指向轴线方向,四指方向为旋转的正方向如下

2021-01-10 16:41:51 5683 1

原创 一种Tone Mapping 算法---Adaptive Logarithmic Mapping自适应对数映射

一种Tone Mapping 算法—Adaptive Logarithmic Mapping自适应对数映射微信公众号:幼儿园的学霸在查找图像增强方面的相关算法时,看到一篇博客,而博文中的核心是实现2003年的一篇论文,论文的原意是用在高对比场景下的自适应对数映射算法,但是查看博文中展示的图片效果,发现该算法在低光照下对色彩恢复效果也是很好,论文的名字是《Adaptive Logarithmic Mapping For Displaying High Contrast Scenes》。但是那篇博客中

2020-12-30 22:34:37 2256 2

原创 判断线段是否相交并求交点

判断线段是否相交并求交点公式推导设两条线段AB和CD,其端点分别为(xa,ya),(xb,yb)(xc,yc),(xd,yd)(x_a,y_a),(x_b,y_b) (x_c,y_c),(x_d,y_d)(xa​,ya​),(xb​,yb​)(xc​,yc​),(xd​,yd​).需要判断2条线段是否相交,若相交求交点。两条直线所在的参数方程为:{x=xa+α(xb−xa)y=ya+α(yb−ya){x=xc+β(xd−xc)y=yc+β(yd−yc)(1)\left\{\begin{align

2020-12-29 21:12:32 1498

原创 C++设计模式——职责链模式( Chain of Responsibility Pattern)

C++设计模式——职责链模式( Chain of Responsibility Pattern)目录文章目录C++设计模式——职责链模式( Chain of Responsibility Pattern)目录定义代码示例总结参考资料定义Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the recei

2020-12-13 18:41:54 978

原创 自动伽马校正(Auto Gamma Correction)算法

自动伽马校正(Auto Gamma Correction)算法目录文章目录自动伽马校正(Auto Gamma Correction)算法目录理论代码实现参考资料理论在对图像进行处理过程中,查找到一篇对图像进行自动gamma校正的论文,论文名称及链接见参考文献1.文章的核心描述如下:Average of brightness is simple element that can be computed in the least amount of time. Basic approach in

2020-12-09 20:52:30 11244 6

原创 自动白平衡--完美反射算法(Perfect Reflector Assumption)

输入图片灰度世界算法完美反射算法

2020-12-08 20:22:06 5818 7

原创 C++设计模式——中介者模式(Mediator Pattern)

C++设计模式——中介者模式(Mediator Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——中介者模式(Mediator Pattern)目录引言定义代码示例总结参考资料引言假设现在科技发达之后,家里所有设备都是智能化的,而小明在家洗澡的时候有个习惯就是喜欢听歌,而且洗澡时候还要把窗帘拉上。因此就有这种情形,小明要拉窗帘可能就是要洗澡,当然也要听歌,因此我们希望小明家的洗浴设备,音响设备和窗帘设备都能协同合作,不管操作哪种设备,其他两种设备都有一定响应,以此写出程序。

2020-11-23 20:13:56 949

原创 自动白平衡--灰度世界算法(Gray World Algorithm)

自动白平衡–灰度世界算法(Gray World Algorithm)微信公众号:幼儿园的学霸目录文章目录自动白平衡--灰度世界算法(Gray World Algorithm)目录引言灰度世界算法原理opencv实现参考资料引言人的视觉系统具有颜色恒常性(Color Constancy),能从变化的光照环境和成像条件下获取物体表面颜色的不变特性,但成像设备不具有这样的调节功能,如彩色相机内部有三个CCD电子耦合元件,分别用来感受红绿蓝三种颜色的光线,默认情况下,三个颜色的感光电路信号的放大比例是

2020-11-22 20:41:24 13294 9

原创 RGB归一化及高效实现

RGB归一化及高效实现微信公众号:幼儿园的学霸介绍在图像处理中,RGB颜色模型是比较常用的格式,但是其存在一个明显的缺点:容易受到光照变化或阴影的影响,也就是说,同一位置,不同光照强度会导致图像的RGB值发生很大变化.而通过对图像的RGB色彩空间进行归一化处理,在某些情况下是去除光照和阴影影响的一种简单和有效的方法.假设图像上某点的的像素值为RGB,rgb表示归一化之后的值,那么RGB归一化的公式表示如下:r=RR+G+Bg=GR+G+Bb=BR+G+B(or b=1−r−g)r

2020-11-18 22:39:01 8023 1

原创 C++设计模式——备忘录模式(Memento Pattern)

C++设计模式——备忘录模式(Memento Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——备忘录模式(Memento Pattern)目录定义代码示例总结参考资料定义Without violating encapsulation, capture and externalize an object’s internal state so that the object can be restored to this state later在不破坏封装性的前提下,捕

2020-11-14 23:07:26 728

原创 C++设计模式——装饰模式(Decorator Pattern)

C++设计模式——装饰模式(Decorator Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——装饰模式(Decorator Pattern)目录定义代码示例总结装饰模式和代理模式适用场景优缺点装饰模式的简化参考资料定义Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternati

2020-11-09 20:24:34 690

原创 PCL 绘制自定义大平面

PCL 绘制自定义大平面微信公众号:幼儿园的学霸目录文章目录PCL 绘制自定义大平面目录缘起介绍实现实现原理简介代码实现及效果展示缘起最近在项目中用到了点云平面拟合,采用RANSAC拟合平面后得到了平面参数A,B,C,D不能直观观察拟合的平面与输入点云的关系,需要将拟合的平面绘制出来。在pcl中,存在2个函数能够添加平面,但是添加的平面其size为1,不能完全覆盖点云区域,仍不能满足需求,搜索资料也未发现能够添加大平面的方法,经过查看pcl添加平面的源码,实现了一种添加大平面的方法。介绍在

2020-10-27 20:11:35 4388 13

原创 C++设计模式——代理模式(Proxy Pattern)

C++设计模式——代理模式(Proxy Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——代理模式(Proxy Pattern)目录定义代码示例总结优缺点对比参考资料定义The proxy design pattern allows you to provide an interface to other objects by creating a wrapper class as the proxy. The wrapper class, which is the pr

2020-09-20 14:14:57 1383

原创 C++设计模式——桥接模式(Bridge Pattern)

C++设计模式——桥接模式(Bridge Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——桥接模式(Bridge Pattern)目录引言定义定义结构代码示例总结桥接模式和策略模式桥接模式和适配器模式适用场景优缺点参考资料引言假如有三个品牌的手机vivo,oppo和小米,如果手机手机壳一体生产,会是这样的:对应到相应的类中,将是1+3+6=10个有继承关系的类,如果这时再加一个华为手机,无疑是要多增加3个类,会带来类的急剧增长。如果手机手机壳分开生产,然后按需搭配,

2020-08-16 13:22:35 851

原创 C++设计模式——享元模式(Flyweight Pattern)

C++设计模式——享元模式(Flyweight Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——享元模式(Flyweight Pattern)目录定义定义结构代码示例总结对比优缺点适用场景参考资料定义定义Flyweight Pattern: Use sharing to support large numbers of fine-grained objects efficiently.使用共享对象可有效地支持大量的细粒度的对象享元(Flyweight)模式的定义

2020-08-01 16:34:08 812

原创 C++设计模式——组合模式(Composite Pattern)

C++设计模式——组合模式微信公众号:幼儿园的学霸目录文章目录C++设计模式——组合模式目录定义定义结构代码示例总结使用场景及注意事项优缺点参考资料定义定义Compose objects into tree structures to represent part-whole hierarchies.Composite lets clients treat individual objects and compositions of objects uniformly.将对象组合成树形结

2020-06-07 21:39:23 1132

原创 C++设计模式——外观模式(Facade Pattern)

C++设计模式——外观模式(Facade Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——外观模式(Facade Pattern)目录前言定义定义与特点结构代码示例总结相关设计模式优缺点使用场景参考资料前言不得不说,外观模式在开发过程中运用频率非常高,尤其现在各种第三方SDK“充斥”在我们的开发中,这些SDK大多会使用外观模式。通过一个外观类使的整个系统的接口只有一个统一的高层接口,这样能够降低用户的使用成本,也能够对用户屏蔽很多实现细节。外观模式也是我们封装API的常用

2020-06-06 22:36:06 1282

原创 C++设计模式——建造者模式(Builder Pattern)

C++设计模式——建造者模式(Builder Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——建造者模式(Builder Pattern)目录定义代码示例总结建造者模式与抽象工厂模式的比较优缺点适用场景参考资料定义The intent of the Builder design pattern is to separate the construction of a complex object from its representation. By doing so

2020-06-05 21:19:34 849

原创 C++设计模式——模板模式(Template Pattern)

C++设计模式——模板模式(Template Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——模板模式(Template Pattern)目录定义代码示例总结优缺点模板模式和策略模式的区别参考资料定义Define the skeleton of an algorithm in an operation,deferring somesteps to subclass.Template Method lets subclasses redefine certain step

2020-06-04 20:24:38 962 1

原创 C++设计模式——原型模式(Prototype Pattern)

C++设计模式——原型模式(Prototype Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——原型模式(Prototype Pattern)目录定义代码示例普通指针方式实现智能指针方式实现总结为什么需要原型模式优缺点定义Specify the kinds of Objects to create using a prototypical instance, and create new objects by copying this prototype.用原型实例指

2020-06-02 20:22:17 1153

原创 C++设计模式——单例模式(Singleton Pattern)

C++设计模式——单例模式(Singleton Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——单例模式(Singleton Pattern)目录定义代码示例懒汉模式线程/内存不安全方式智能指针+双检锁模式和智能指针+call_once模式局部静态变量模式饿汉模式总结参考资料定义单例模式顾名思义,保证一个类仅可以有一个实例化对象,并且提供一个可以访问它的全局接口。实现单例模式必须注意一下几点:单例类只能由一个实例化对象。单例类必须自己提供一个实例化对象。单例类必须

2020-06-01 16:02:34 1009

原创 C++设计模式——适配器模式(Adapter Pattern)

C++设计模式——适配器模式(Adapter Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——适配器模式(Adapter Pattern)目录定义定义作用/解决的问题适配器模式中的角色代码示例总结优缺点适用场景参考资料定义定义Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn’t ot

2020-05-31 12:20:17 1099

原创 C++设计模式——策略模式(Strategy Pattern)

C++设计模式——策略模式(Strategy Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——策略模式(Strategy Pattern)目录定义实现示例传统的策略模式实现使用函数指针实现策略模式工厂模式和策略模式对比总结参考资料定义Define a family of algorithms,encapsulate each one,and make them interchangeable.定义一组算法,将每个算法都封装起来,并且使它们之间可以互换策略模式是指定

2020-05-30 19:28:03 1993

原创 C++设计模式——工厂模式(Factory Pattern)

C++设计模式——工厂模式(Factory Pattern)微信公众号:幼儿园的学霸目录文章目录C++设计模式——工厂模式(Factory Pattern)目录简单工厂模式工厂方法模式抽象工厂模式总结参考资料工厂模式包括三种:简单工厂模式、工厂方法模式、抽象工厂模式。工厂模式的主要作用是封装对象的创建,分离对象的创建和操作过程,用于批量管理对象的创建过程,便于程序的维护和扩展。务必记住这个词:封装. 在工厂模式中,有什么想不通都可以思考一下这个词简单工厂模式简单工厂是工厂模式最简单的

2020-05-29 00:26:13 1148 1

原创 利用小型数据集m2nist进行语义分割——(三)代码编写及训练与预测

利用小型数据集m2nist进行语义分割——(三)代码编写及训练与预测微信公众号:幼儿园的学霸目录文章目录利用小型数据集m2nist进行语义分割——(三)代码编写及训练与预测目录前言代码编写数据加载模块网络实现模块训练模块coding=utf-8============================#Program:m2nistDataSet.py数据加载模块Date:20-4-16Au...

2020-04-20 13:02:57 1189

原创 利用小型数据集m2nist进行语义分割——(二)分割网络框架设计

利用小型数据集m2nist进行语义分割——(二)分割网络框架设计微信公众号:幼儿园的学霸目录文章目录利用小型数据集m2nist进行语义分割——(二)分割网络框架设计目录前言网络结构整体结构编码器设计解码器设计参考资料前言有了数据集,接下来需要针对数据集设计神经网络框架便于后续代码的编写。由于在工作项目中是以MobileNet为基础,自然而然在设计语义分割网络框架时便复用了Mobile...

2020-04-20 13:02:31 1025

原创 利用小型数据集m2nist进行语义分割——(一)数据集介绍

利用小型数据集m2nist进行语义分割——(一)数据集介绍微信公众号:幼儿园的学霸目录文章目录利用小型数据集m2nist进行语义分割——(一)数据集介绍目录缘由前言数据集介绍数据下载/读取/显示参考链接缘由代码地址:https://github.com/leonardohaig/m2nist-segmentation最近晚上有点失眠,玩手机伤眼睛,那就学习吧。考虑到没有写过分割网络...

2020-04-20 13:02:09 2339

原创 内存只增不减(非内存泄露)解决

在ADAS项目中,代码中加入了跟踪模块,使得程序的内存占用不断上升,但是却不是内存泄漏,断断续续经过近2周的排查,终于将问题解决,特此记录,希望对你有所帮助!

2020-04-08 20:00:32 4760

C++爬虫各省各批次录取分数

采用c++爬虫,按照要求,爬取各批次的学校在各省的录取分数线,然后保存到文件中,采用了C++多线程,正则表达式等

2017-08-11

VC++数据库编程三步教学

这是关于在visual c++与数据库进行链接开发的教程,介绍了ODBC、ADO方式,偶然发现的,对我具有一定的启发性,解决了我初学数据库模块的一些困惑,希望对你也有所帮助

2016-01-28

空空如也

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

TA关注的人

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