自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 OpenCV学习-P48 SITF算法和SURF算法

OpencvSIFT算法及SURF算法学习

2023-02-07 16:50:52 522

原创 OpenCV学习-P59 视频读写

opencv视频读写

2023-02-01 10:37:40 132

原创 OpenCV学习-P44 角点检测

角点检测

2022-11-17 15:51:12 804

原创 OpenCV学习-P40 霍夫变换

霍夫变换直线及圆检测

2022-11-09 11:27:18 132

原创 OpenCV学习-P39 Opencv模板匹配

opencv模板匹配

2022-11-04 15:30:35 518

原创 OpenCV学习-P34-P38 Opencv边缘检测

opencv边缘检测

2022-11-04 15:04:14 703

原创 OpenCV学习-P29-P32 Opencv直方图均衡化、掩膜

opencv直方图均衡化

2022-10-27 16:22:16 586

原创 OpenCV学习-P24-P28 Opencv滤波

OpenCV滤波

2022-10-26 15:33:39 730

原创 OpenCV学习-P19-P23 Opencv形态学操作总结

OpenCV学习-P19-P23 Opencv形态学操作总结

2022-10-25 15:24:26 586

原创 OpenCV学习-P4-P18 Opencv基本操作介绍及图像基础处理

Opencv学习笔记

2022-10-24 16:24:04 429

原创 24. 区域处理综合例程

区域处理综合例程

2022-02-15 16:36:11 2310 1

原创 23. 区域仿射变换

区域仿射变换步骤:1.创建二维变换矩阵:hom_mat2d_identity(HomMat2DIdentity),HomMat2DIdentity为单位 矩阵2.创建变换矩阵位移变换:hom_mat2d_translate(HomMat2DIdentity, 100, 100, HomMat2DTranslate)旋转变换hom_mat2d_rotate平移变换缩放变换等等3.执行变换操作affine_trans_region(Region1, RegionAffineTrans, Ho

2022-02-14 16:32:21 1604

原创 造球粒径检测算法论文阅读笔记

造球粒径检测算法论文阅读笔记1.图像感兴趣区域的划分2.生球区图像高斯滤波3.生球区域与阴影区域的分割对生球区域的分类标记(区分上下层球)1.图像感兴趣区域的划分依据光照的不同,将图像区域分为两类,一是ABEF,CDGH,二是BFGC,且论文中说,这两区域的参数取相同值2.生球区图像高斯滤波图像的灰度的分布呈山峰状,每个“山峰”表示单个生球表面的灰度分布,这种分类类似于高斯分布,为了保持表面灰度分布的高斯分布特征,所以采用高斯滤波的方法高斯滤波在滤波过程中,用大小为l∗hl*hl∗h的模板扫描

2021-12-02 10:47:14 400

原创 C# Windows服务程序编写

C# Windows服务程序编写 1.新建windows service 项目2.添加安装程序代码移植系统信息:Windows 10,.Net Framework 4.5.2 ,visual studio 2019, 程序架构X86,halcon和opcdll均为32位1.新建windows service 项目2.添加安装程序在Service.cs页面右键 添加安装程序 即可添加serviceProcessInstaller1和serviceinstaller1两个安装组件修改service

2021-12-02 10:47:07 292

原创 22. 区域几何变换

区域几何变换1.区域平移,可用来求区域某个方向的边界具体思路为,先使用boundary()求区域边界,然后将区域移动,最后将移动后的区域与boundary做intersection例如,求某绣花针针头的三个位置的粗细,如下图中间所示,因为绣花针在镜头里的具体位置不确定,所以先要找到针头最上端的位置,然后往下移动固定距离再构造矩形与绣花针边界作intersection得左右两个边界region,然后在求region之间的距离即为宽度求宽度2.包括转置、镜像,不赘述3.极坐标变换,将圆形分布转换

2021-11-11 18:53:28 329

原创 13. 区域间距离计算

区域间距离计算1.点和点之间的距离计算distance_pp (Row1,Column1 ,Row2 ,Column2 , Distance)2.点到直线的距离distance_pl()3.点到区域的距离distance_pr()4线到区域的距离distance_lr()5.区域到区域的最短距离disatance_rr_min()例:求O到L的距离1.先找出大矩形区域2.对该区域做二值化分割3.利用外接圆半径提取出矩形边界,注意可以多利用外接圆半径少用面积,而且每

2021-09-18 14:03:35 1109

原创 12. 区域生成保存读取

区域生成保存读取区域可以保存为HOBJ文件使用concat_obj可以组合两个区域,或者向空区域中添加对象*保存区域write_region(Rctangle,'region.hobj')*读取区域reduce_domain(Image,RegionRoi,ImageReduced)concat_obj(RegionRoi,Circle2,RegionRoi)...

2021-09-18 09:48:44 134

原创 11. ROI例程:金属件正反面检测

ROI例程:金属件正反面检测

2021-09-17 10:08:07 302

原创 10.区域形态学

区域形态学主要包括:主要包括:shape_trans:根据区域产生指定图形skeleton:求区域骨架

2021-08-06 10:35:20 505

原创 7.8.9.BLOB分析及流程,图像分割出区域,区域集合运算及特征筛选

7.8.9.BLOB分析及流程,图像分割出区域,区域集合运算及特征筛选BLOB分析及流程阈值分割的方法区域集合运算及特征筛选形态学运算:开、闭、膨胀、腐蚀,集合运算:union(并)、difference(减)、intersection(交)BLOB分析及流程以ball例子为例流程如下:读取图片->找产品(即焊板)->缩小区域聚焦于产品上->阈值分割->根据特征找焊点(即圆形,使用圆进行开运算)->统计形状灰度直方图:可以滑动两端的线控制哪个灰度值的区域显示阈值分

2021-08-05 17:10:56 874

原创 4,5.6 图像的采集及存储,halcon中的图像,区域与轮廓的概念

图像的采集及存储常用函数,pointer表示指针分解三通道decompose3(Image,Image1,Image2,Image3)区域:halcon中region是一个二值化的对象,二值化后可根据大小、形状等筛选区域,再使用fillu填充区域中的洞*二值化划分区域threshold(Image, Region, 128, 255)*打散区域,取连通域connection(Region, ConnectedRegions)*根据面积大小筛选区域 ,最后两个参数为面积select_

2021-08-05 15:22:05 623

原创 3.halcon联合vc编程

halcon联合vc编程1.在mfc项目中新建SystemInclude.h头文件#pragma once#ifndef SYSTEM_INCLUDE_H#define SYSTEM_INCLUDE_H#include"halconcpp.h"#pragma comment(lib,"halconcpp.lib")using namespace HalconCpp;#endif // !SYSTEM_INCLUDE_H2.在vc++包含目录里面添加halcon目录在vc++库目录

2021-08-05 13:47:31 260

原创 2. halcon例程学习

halcon例程学习ball例程学习:寻找图片上黑色的圆球区域1.将阈值分割结果转换为矩形threshold (Bond, Bright, 100, 255)*讲阈值分割结果转换为矩形shape_trans (Bright, Die, 'rectangle2')2.缩小区域,因为黑球只会出现在电路板区域内reduce_domain (Bond, Die, DieGrey)3.填充并执行开运算,开运算是指在填充的区域放入一个15.5半径的圆,能放入则保留,不能放入则去掉fill_u

2021-08-04 11:30:01 699

原创 1. halcon程序

数字图像处理概述图像空间分辨率:图像数字化空间的精细程度图像灰度级分辨率:即颜色深度,表示每一像素的颜色值所占的二进制位数。颜色深度越大则能表示的颜色数目越多

2021-07-30 16:39:39 272

原创 SpringBoot

SpringBootSpring Boot Web开发Spring Boot静态资源映射规则模板引擎thymeleaf用于支持jspSpring Boot Web开发Spring Boot静态资源映射规则所有 /webjars/** 都去classpath:/META-INF/resource/webjars找资源webjars:以jar宝的方式引入静态资源,在webjars官网搜索需要引入的资源和版本,直接将maven依赖加入对pom文件即可在maven中加入依赖以后,会出现如下,游览器访问资

2020-09-03 16:09:53 288

原创 Redis

Redis

2020-09-01 15:53:01 152

原创 MySQL 乐观锁和悲观锁

MySQL 乐观锁和悲观锁悲观锁乐观锁数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段,具有强烈的独占和排他特性。悲观锁这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制悲观锁主要分为共享锁或排他锁共享锁【Shared lock】又称为读锁,简称S锁。顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问

2020-09-01 09:42:02 193

原创 MySQL索引

MySQL索引索引的本质是一种数据结构,索引的目的在于提高查找效率,类比于字典,可以总结为:排好序的快速查找数据结构在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引平常说的索引,没有特别说明,都是B树(多路搜索树)组织结构的索引...

2020-09-01 08:37:03 95

原创 SpringBoot 入门

SpringBootSpringBoot入门SpringBoot入门SpringBoot来简化spring的应用开发,约定大于配置,just run就能创建一个独立的产品级别的应用微服务:是一种架构风格,一个应用应该是一组小型服务,这些小型服务可以通过http沟通,每个功能元素都是一个可独立替换和升级的软件单元...

2020-08-19 15:10:46 108

原创 Javaweb框架 SSM整合

Javaweb框架 SSM整合SSM结构分析Spring环境搭建SpringMVC环境搭建Mybatis环境搭建SSM结构分析表现层:Controller层任务:在此层里面要调用Service层的接口来控制业务流程,完成用户的请求接收功能对象:AccontController对象,内置AccountService类对象实体,调用accountService的方法注解:@Controller->AccontController 交给IOC管理@Autowired->account

2020-08-18 19:18:03 367

原创 Javaweb框架 SpringMVC

Javaweb框架 SpringMVCMVC设计模型:M model模型,JavabeanV View视图,JSPC Controller控制器,Servlet

2020-08-18 08:39:25 142

原创 Javaweb框架 Spring

Javaweb框架 Spring

2020-08-14 16:23:39 140

原创 Java集合详解

Java集合详解Collection接口:Map接口:Collection接口:List 有序,可重复ArrayList优点: 底层数据结构是数组,查询快,增删慢。缺点: 线程不安全,效率高Vector优点: 底层数据结构是数组,查询快,增删慢。缺点: 线程安全,效率低LinkedList优点: 底层数据结构是链表,查询慢,增删快。缺点: 线程不安全,效率高Set 无序,唯一HashSet,通用的存储数据的集合底层数据结构是哈希表。(无序,唯一)如何来保证元素唯一性?1.依赖

2020-08-13 11:03:40 125

原创 JVM

JVM内存模型JVM的作用:JVM将java字节码解释为具体平台的具体指令,屏蔽了与具体平台相关的信息程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互不影响;java 栈:线程私有,生命周期和线程,每个方法在执行的同时都会创建一个 栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程;栈里面存放着各种基本数据类型和对象的引用;本地方法栈:主要为虚拟机使用到的Native方法服务。堆:被所有线程共享的一块

2020-08-13 11:03:15 112

原创 C++面试常见问题

C++面试常见问题智能指针模板Template五种IO模型Linux内存管理智能指针智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域是,类会自动调用析构函数,析构函数会自动释放资源。所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。auto_ptr(c++98的方案,cpp11已经抛弃)采用所有权模式。auto_ptr< st

2020-08-11 14:57:42 121

原创 数据结构 排序算法总结

数据结构 排序算法总结插入排序希尔排序选择排序堆排序冒泡排序快速排序排序算法分类性能比较插入排序从数组开头开始一次选择元素,把该元素和位于该元素之前的所有元素比较大小并插入到合适的地方,并把插入的地方之后的元素依次往后移动第一层循环:遍历待比较的所有数组元素第二层循环:将本轮选择的元素(selected)与已经排好序的元素(ordered)相比较。如果:selected > ordered,那么将二者交换,并把交换位置之后的元素往后移void InserSort(int array

2020-08-11 14:54:31 208

原创 Javaweb框架 Mybatis

Javaweb框架 MybatisMybatis入门Mybatis具体实现方式Mybatis入门三层架构:表现层:展示数据业务层:处理业务需求持久层:和数据库交互Mybatis是java持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,不需要花费精力去处理加载驱动创立连接等ORM:Object Relational Mapping对象关系映射,就是把数据库表和实体类及实体类属性对应起来Mybatis可以使得无需再写dao实现类,由dao的代理对象实现dao操作,如下pu

2020-08-07 16:57:55 458

原创 JavaWeb Filter

JavaWeb FilterFilter登录验证案例动态代理及敏感词汇过滤案例动态代理敏感词汇过滤案例FilterFilter的作用:用于登录验证、同一编码处理、敏感字符过滤步骤:1.定义一个类,实现接口Filter2.复写方法3.配置拦截路径1)web.xml配置2)注解配置拦截路径设置:1.具体资源路径:/index/jsp2.拦截目录:/user/*3.后缀名拦截:.jsp4.拦截所有资源:/**拦截方式设置:**在注解中设置dispatcherTypes属性1.REQU

2020-08-06 09:09:57 141

原创 JavaWeb Cookie JSP Session

JavaWeb会话技术

2020-08-05 10:45:26 110

原创 JavaWeb-Servlet,HTTP协议

ServletServlet基础Servlet体系架构urlpartten配置:HTTPServlet基础server applet:运行在服务器端的小程序,Servlet就是一个接口,定义了java类被游览器访问到(tomcat)的规则,自定义一个类,实现Servlet接口,复写方法Servlet配置: <!--配置Servlet--> <servlet> <servlet-name>demo1</servlet-name&g

2020-08-04 19:44:27 176

空空如也

空空如也

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

TA关注的人

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