自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

手写不期而遇的博客

热爱技术,热爱智能化设备

  • 博客(83)
  • 资源 (4)
  • 收藏
  • 关注

原创 Halcon机器视觉实战----提取水平方向缝隙区域

如何从一块区域内找到水平方向的缝隙区域(不是高斯线条,从图像中提取,而是从区域内提取,考虑到了区域所在的方向);***动态阈值分割***显示过滤后的区域****区域的开闭运算*开运算,看起来两个细微连接的区域分开了,不会扩展区域边界外部部分,只会更改区域内部的连接处,和腐蚀不一样*闭运算,看起来两个细微连接的区域结合了,不会扩展区域边界外部部分,只会更改区域内部的连接处,和膨胀不一样***这个算子的思路是改变滤波核形状,水平方向上扩展了一个像素,竖直方向上扩展了十个像素。

2024-02-07 12:33:15 123

原创 CMakeLists.txt基础指令与cmake-gui生成VS项目的步骤

本博客主要介绍cmake的基本指令,同时,很多使用Visual Studio小白从Gitbub下载项目源码后,看到CMakeLists.txt,不知道如何使用Visual Studio编译源码;针对以上问题,做一下简单操作与解释,方便小白入门,大佬就没必要继续看啦…

2023-11-17 21:31:14 1468

原创 Qt封装的Halcon显示控件,支持ROI绘制

目前机器视觉ROI交互控件在C#上做的比较多,而Qt上做的比较少,根据作者VS+Qt+Halcon——显示图片,实现鼠标缩放、移动图片的文章,我在显示和移动控件的基础上,增加了ROI设置功能,并封装成了一个独立的Qt控件。

2023-11-04 00:16:44 738

原创 Matlab/C++源码实现RGB通道与HSV通道的转换(效果对比Halcon)

HSV通道是指图像处理中的一种颜色模型,它由色调(Hue)、饱和度(Saturation)和明度(Value)三个通道组成。色调表示颜色的种类,饱和度表示颜色的纯度或鲜艳程度,明度表示颜色的亮度。HSV通道常用于图像处理中的颜色分析、颜色过滤、颜色调整等任务,它相对于其他颜色模型具有更直观和易于调节的特点,因此被广泛应用于计算机视觉和图像处理的领域

2023-10-18 22:18:17 1019

原创 Windows编程dll基本知识点

本篇博客主要是记录windows系统下dll开发的相关基本知识点,并使用相关分析工具分析,有利于初学者学习,更是为开发者查缺补漏;

2023-09-17 21:59:08 521

原创 使用Easy Chm制作chm文档步骤

软件发布后需要相应的文档说明,CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。因为使用方便,形式多样也常被采用作为电子书的格式;制作类似的chm文档可以使用Easy Chm软件;

2023-08-27 20:49:14 2079

原创 使用windeployqt和InstallShield打包发布Qt软件的流程

Qt编译之后需要打包发布,并且发布给用户后需要增加一个安装软件,通过安装软件可以实现Qt软件的安装;用于安装软件的软件有很多,这里主要介绍InstallShield使用的流程;

2023-08-27 18:40:54 876

原创 【五一创作】VS+Qt主界面内嵌自定义控件的四种方法以及不同自定义控件数据交互

在Qt界面开发过程中,一个主界面或者主窗口看成是各个控件排列组合后的集合,对于一些项目而言,有些常用的控件可以封装成自己想要的控件样式并且复用,比如说,log显示控件,图像/视频显示控件等,可以将常用的控件代码封装起来,以便下次复用,内嵌在不同的主界面内。这里总结了常见的四种方法供大家参考;新建一个自定义控件项目一般自定义控件,继承于QWidget;ui文件为另建一个主界面项目,主界面ui文件如图所示,在主界面内添加一个QFrame,在Frame内添加一个布局控件(添加widget控件)

2023-05-03 23:42:51 3563 2

原创 Qt内存管理及泄露后定位到内存泄漏位置的方法

Qt使用对象父子关系进行内存管理。vld.ini是VLD的配置文本,默认读取的是安装目录下的vld.ini 文件,当exe所在目录下也有vld.ini文件时会优先读取这份配置。这里是自己在源码中新建的label控件,执行了QLabel的构造函数,没有指定父对象,需要自己手动释放内存,不释放会有内存泄漏。默认读取的是安装目录下的vld.ini 文件,当exe所在目录下也有vld.ini文件时会优先读取这份配置。这里是自己在源码中新建的label控件,没有指定父对象,需要自己手动释放内存,不释放会有内存泄漏。

2023-04-20 22:58:56 1609 2

原创 计算机颜色学---CIE 色度图以及饱和度处理

了解颜色相关理论与成像知识,对于深入了解视觉相关算法与ISP算法而言十分重要,了解颜色理论,离不开CIE色度图;

2023-04-11 22:11:57 3448

原创 Qt软件崩溃定位到源代码位置的方法

如果写好了软件拿给别人用,当软件出现BUG时,则无法定位到出错位置,因此需要定位到错误位置,记录log文件;将CrashDebugUtilx64.dll这个文件,然后放到可执行程序文件夹下。source line是刚才错误的源文件下错误的行数。在exe同级目录下会出现CrashLog文件夹。source file可以定位到错误的源文件。后面的错误定位也是第一行位置导致的。一个dmp文件和log文本文档。在代码调试过程中可以定位到。可以看到刚才的源代码位置是。打开log文档可以看到。

2023-04-06 22:23:07 2193 3

原创 海康工业相机SDK连接demo,Qt界面显示

在机器视觉开发过程中,经常使用工业相机采集图像,以下采用海康机器人提供的SDK开发demo,使用语言C++,界面显示使用的Qt。SDK来自MVS 3.1版本中附属的Development文件夹。

2023-04-05 20:23:27 2068 2

原创 VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录

当拖入一个控件之后,比如说这里,拖入一个Label控件,可以从属性编辑器内看到类之间的继承关系;(2)把当前项目的qrc文件添加进来(相当于VS虽然有了qrc文件,但由于路径中可能含有中文,需要自己手动添加资源文件)在工具栏内添加选项,需要使用动作编辑器(如果QtCreator内没有出现动作编辑器,视图—动作编辑器)菜单栏,工具栏是QAction类对象,不同于其余控件,没有clicked信号,信号是triggered。,可以先随便输入两个数字,再选中,直接在动作编辑器内编辑。这样编辑就可以出现中文了。

2023-03-26 23:31:44 2147

原创 ISP算法-----Gamma实现

通过Gamma,亮处的像素点发生非线性变换,如图所示,此时,亮处的对比度增加,暗处的对比度降低;从图像增强、图像处理的角度来说gamma,gamma可以提高或者降低亮/暗处的对比度。可以看到,经过Gamma变换后,亮处对比度提高,暗处对比度降低;从数学角度看gamma实际是一个值域范围(0,1)的指数运算;对于显示硬件而言,gamma是成像设备到显示设备的传递;经过Gamma=0.5变换后。

2023-03-16 22:53:04 462

原创 C++,Qt分别读写xml文件

C++常见的是使用tiny库读写,Qt使用自带的库读写;所以,使用tinyxml函数库中的类去读写根元素,text和属性。TiXmlDeclaration:用于xml文件的第一行,定义xml文件的声明操作;TiXmlDocument:定义一些基本的xml文件的基本操作,包含文件流;SaveFile:用于保存xml文件;LinkEndChild:将子元素嵌在父元素内,还可以将text加到元素内。TiXmlElement:不管根元素,元素和子元素,都用此类;TiXmlText:用于元素内的text的操作;

2023-03-04 23:44:53 3736

原创 Qt缩放显示图像(使用事件)

1.使用滚轮事件,实时更新源图像赋值给changeImage;2.设置一个缩放比例,通过判断滚轮的变化,实时更新缩放比例;

2023-03-04 22:27:19 1392

原创 关于Visual Studio C++项目属性设置的说明

帮助熟悉Visual Studio基本文件类型

2023-01-08 19:15:22 3692

原创 我的创作纪念日(创作整整一年啦!!)

刚开始读研的时候接触到了CSDN,并第一次注册了账号,那为什么想到在CSDN上记录博客呢?从初中开始我就养成了记笔记的习惯,读研期间开始做机器视觉相关的项目,三年下来,技术汇总成了五本笔记(手写的笔记,嘿嘿,有一些好的函数还写了下来,真的是小白做起来了),毕业之后开始工作,突然间想把之前记录的五本笔记的精华摘录出来,与大家共同讨论,因此才有了第一篇博客,标定的分类,不知不觉间,博客已经写了一年了。粉丝即将突破2000,文章阅读量突破十万,十分开心。 在记录博客的一年时间里,我从工作中也收获了很

2022-12-07 13:42:53 448 6

原创 Halcon机器视觉实战--分水岭分割+距离变换实现粘连物体图像分割

在盆地的最小值点,打一个洞,然后往盆地里面注水,并阻止两个盆地的水汇集,我们会在两个盆地的水汇集的时刻,在交接的边缘线上(即分水岭),建造大坝,来阻止两个盆地的水汇集成一个区域。,在图像处理中,区域本身代表的是图像的某一部分,其本身是不含灰度值的,很多时候,halcon的输入是图像和region一起的,这里只输入了region,没有输入图像,默认。在真实图像中,由于噪声点的影响或者其他干扰因素的存在,使用分水岭算法常常出现过度分割的现象,这是因为很多很小的局部极值点的存在,这样的分割效果是毫无作用的。

2022-11-25 23:08:57 1823

原创 C/C++ 结构体变量初始化的几种方法总结及内存排列(字节对齐)

最近看到一些别人的代码,对结构体的初始化使用了不同的语法,就决定对结构体的初始化方法做个探索,这里小小的记录一下。注意,没有初始化的结构体变量是不会输出的,比如//这样会报错error C4700这样会报错,因为编译器无法确定变量的值;

2022-11-21 21:13:50 2309 2

原创 C++常见十六进制数组转换char数组方法

C++在编写通讯协议解析过程中,通常需要对十六进制进行解析,经常用到位运算,同时结合unsigned char型数据或者char数组解析出自己想要的十进制数字,这里总结了一下常用的十六进制转换十进制或char数组的思路。

2022-11-10 09:38:04 3507 1

原创 Qt,C++中QString,string,char数组等常用格式转换大总结

在平时C++编写过程中,经常用到string类型与char类型,在Qt中显示数据等经常用到QString类型,因此在编写过程中经常需要格式转换,在这里对常用的字符,字符串类型转换做一个总结。先定义好常用的数据类型与变量//QByteArray初始化 unsigned char uchValue = 50;0 };

2022-11-10 09:28:04 3549

原创 Halcon中亚像素边缘,轮廓提取处理的各种方法

halcon中亚像素轮廓提取目前来看,提取亚像素轮廓有三种思路

2022-11-05 21:06:16 5146 2

原创 Halcon图像分割总结

在机器视觉项目当中,选定特定的图像区域,再此基础上做进一步处理,需要对图像区域分割,分割的方法有很多种,对于具体项目而言,不同的图像分割方法适用的场景不同,因此需要对特定的场景选择特定的图像分割方法,这里对图像区域分割方法做总结。全局阈值分割:在整幅图像中根据灰度阈值进行分割;提取灰度值范围在grayMin到grayMax的区域。可以直接在主程序窗口输入,也可以采用halcon提供的灰度直方图窗口拉拖最大最小值范围,可以实时的看到提取的区域的变化。选中阈值,可以实时看到选中的区域变化适合于直方图存

2022-11-05 20:41:04 3466

原创 Matlab,C/C++语言读取RAW图和保存RAW图

何为raw图?对于图像传感器而言,传感器数据每个像素点是RGGB等(排列方式有很多种),此时并不能看见颜色等信息,这种原始数据的图像,便是raw图。对于ISP算法工程师而言,查看RAW图十分重要,这里提供了一些查看RAW图的源代码。

2022-11-03 23:41:05 3723 5

原创 ISP算法----基本DPC算法实现代码

何为坏点?坏点指的是芯片加工过程中一些电子元器件的损坏,不会呈现图像的像素点,最终效果是图像上的黑点。坏点产生的原因:DPC算法的作用:Bayer模式下坏点矫正。基本POINT算法矫正原理:坏点往往是一个邻域内极亮或极暗的点,以5*5邻域为检测区域。附上Matlab读取RAW图的程序DPC效果

2022-11-03 23:00:30 1010

原创 Matlab底层源代码实现图像开闭操作(与Halcon效果一致)

图像灰度的开闭操作属于图像处理的基础,这里主要展示根据原理,来编写底层的函数代码。首先实现Matlab对图像区域的腐蚀与膨胀函数。

2022-10-26 19:06:02 1324

原创 ISP算法----AWB总结及源代码

AWB算法的必要性:对于彩色相机成像而言,AWB算法可以矫正颜色,视觉效果上看,颜色更符合人眼效果。光学原理:人眼对于颜色具有恒常性。从数学角度来看:所有AWB算法都是调节R,G,B三通道的增益值;所有手动调节白平衡便是人工输入三通道的增益值。

2022-09-10 22:41:22 2733 3

原创 Matlab底层源代码实现图像的中值滤波(用于消除图像上一些杂点)

Matlab底层源代码实现图像的中值滤波(用于消除图像上一些杂点)

2022-07-26 20:57:28 1758

原创 Matlab底层源码实现图像动态二值化

Matlab底层源代码实现图像动态二值化

2022-07-05 12:40:09 583

原创 Matlab底层算法实现直方图均衡

直方图均衡常用于图像处理预处理过程中,对于灰度的矫正具有十分优良的效果

2022-07-05 12:32:43 942

原创 Matlab底层源代码实现Halcon scale_image_max算子效果

Matlab底层源代码实现Halcon scale_image_max效果

2022-07-05 12:14:08 821

原创 Matlab底层源代码实现Halcon scale_image_range(可用于背景分割)

Matlab底层源代码实现Halcon scale_image_range效果(可用于背景分割)

2022-07-05 12:03:22 1172

原创 Matlab底层源码实现prewitt边缘检测和Sobel,Laplace边缘检测(实现效果与Halcon一致)

Matlab底层源代码实现Prewitt边缘检测和Sobel,Laplace边缘检测(实现效果与Halcon一致)

2022-07-05 10:48:28 1612

原创 Halcon常用图像预处理算子总结

Halcon常用图像预处理算子总结

2022-07-05 10:30:25 3173

原创 Matlab底层源代码实现图像腐蚀,膨胀操作(与Halcon效果一致)

Matlab底层源代码实现图像腐蚀,膨胀操作(与Halcon效果一致)

2022-07-05 10:26:45 4371

原创 Qt新建动态链接库及显式加载

新建dll文件第一步,新建项目文件,选择 Library ---- C++ library第二步,选择Shared Library,这里Qt Creator默认的是生成一个类,自定义名字为AddFun第三步,可以看到,Qt生成了两个头文件和一个cpp文件,这里函数的声明主要放在addfun.h中,函数的定义在addfun.cpp文件中。在addfun.h中声明函数(这里将类注释,是因为封装的dll文件目前不需要类,只需要函数)#ifndef ADDFUN_H#define ADDFUN_

2022-04-25 23:07:44 2465 1

原创 C++ 使用auto实现函数指针的方法

语法背景函数的地址就是函数名,使用函数指针可以实现返回值类型相同,参数相同,函数名不同的函数的调用,比如说:#include <iostream>void add(int a,int b){ std::cout<<"相加操作"<<std::endl;}void sub(int a,int b){ std::cout<<"相减操作"<<std::endl;}void (*fun)(int a,int b);int

2022-04-19 22:45:27 2410

原创 Matlab底层算法实现图像直方图统计

公式灰度直方图应用范围十分广泛,它为图像的处理研究提供了一个有力的辅助工具。直方图具有以下性质:只反映该图像中不同灰度值出现的次数(或频数),从而反映某一灰度值像素数量,丢失了位置信息。图像与直方图是多对一的映射关系源代码clcimage = imread('D:\2.png');image_matrix=image(:,:,1);image_matrix=double(image_matrix);[height,width,channels]=size(image);%灰度映射表

2022-03-25 20:52:03 8684 1

原创 Matlab底层算法实现图像反色变换

公式灰度的线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。灰度变换方程为:                                   

2022-03-22 21:58:51 3483

机器视觉软件开发常用图标库

机器视觉软件开发可使用的图标,涵盖通信,串口,测量,定位,检测等图标,适用于视觉软件开发工程师

2023-11-22

cmake示例项目+MyTinySTL资源

可以用于学习cmake指令,可以使用cmake-gui编译成项目文件

2023-11-17

图像处理/机器视觉领域+ROI交互控件+VS2015+Qt+Halcon12

可以在Qt项目内建立一个布局,然后布局内直接添加这个控件,便可以实现Halcon的ROI绘制了,本资源采用VS2015+Halcon12(halcon10导出)+Qt编写的demo程序,提供了控件源代码,并给出了如何调用这个控件的主界面程序;

2023-11-03

将源代码加入到项目中,可以实现非常好看的界面风格,还可换肤,源码参照其他博主

基于Qt实现的无边框源码,将源代码加入到项目中,可以实现非常好看的界面风格,还可换肤,源码参照其他博主

2023-05-14

Qt主界面内嵌自定义控件的四种方法以及不同控件数据交互

学习Qt基础,适合Qt开发新手学习。这里主要讲述了主界面与嵌入的自定义界面的四种方法。

2023-04-23

VLD内存泄漏检测编程文件,包含头文件,库文件,配置文件

C++编程可以定位到内存泄露的位置

2023-04-16

Qt/C++定位到错误源代码位置

内容概要:将此dll文件加载到exe同级目录下,显式加载dll,可以在软件使用中创建log文件定位到源代码中错误行

2023-04-06

海康工业相机SDK的Demo源代码C++版本

内容概要:海康工业相机的SDK库对应的软件源代码demo,基于Qt开发,并支持软件显示 适用人群:机器视觉工程师 使用场景:海康工业相机采图控制,C++代码编写

2023-04-04

图像处理实战图像资源,,,学习

图像处理实战图像资源,,,学习

2022-12-07

C++curl.rar

C++软件使用CURL库可以实现访问软件,工业软件连接MES

2021-12-07

halcon-socket程序.rar

只使用halcon便可以实现服务器端和客户端通信,内含halcon编写的服务器端和客户端

2021-12-06

Qt-C++-TCP通信.rar

将Qt使用的TCP通信都封装在函数内,服务器端和客户端可调用相关头文件即可使用

2021-12-06

视觉工程师-设备通信-串口通信.hdev

使用Halcon完成串口通信,实现设备间串口通信,适用于232,485串口

2021-12-06

空空如也

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

TA关注的人

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