- 博客(19)
- 收藏
- 关注
原创 一种改进的基于亚像素边缘的齿轮内径计算方法
主要流程:粗提取内径边缘区域---区域内亚像素精确提取---分割亚像素根据特征选择合适的亚像素---合并亚像素---拟合圆求直径1.基于区域的边缘提取2.根据特征选择内孔区域3.区域膨胀作为ROI区域4.ROI区域内的亚像素提取6.选择合适的亚像素边缘7.合并同圆的亚像素8.拟合圆
2017-09-07 10:32:36 894 1
转载 Halcon常用数组算子
1、求数组元素的最大值tuple_max(Array,Max)2、求数组元素的最小值tuple_min(Array,Min)3、求数组元素的平均值tuple_mean(Array,Mean)4、求数组元素的绝对值tuple_abs(Array,Abs)5、两个数组相加tuple_add(Array1,Array2,Sum)
2017-09-07 10:19:33 3734
原创 基于亚像素边缘检测的齿轮内孔计算
基于背光源及GigE工业相机采集的齿轮图片。亚像素边缘提取根据特征筛选提取内孔的亚像素边缘对亚像素边缘进行圆拟合,求取内孔直径
2017-09-07 10:07:25 1645 1
转载 Qt文件封包
单文件封包工具,顾名思义就是将可执行文件及其相关依赖打包成单个可执行文件的工具。这里推荐两个单文件封包工具:Enigma Virtual Box和BoxedApp Packer,都是免费的,度娘有下载。这两个工具操作方法类似,这里以Enigma Virtual Box为例,打包一个我写的一个Qt程序。Qt程序的目录如下图所示,包括可执行文件及其依赖库。打开E
2017-08-31 10:22:41 962
转载 机器视觉算法(图像增强)
一,直方图均衡化 直方图均衡化的英文名称是Histogram Equalization. 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方
2017-07-26 20:28:28 5069
原创 机器视觉算法(数据结构)
图像(Image) 机器视觉中,图像是基本的数据结构,它所包含的数据通常是有图像采集设备传送到计算机的内存中的。 一个像素可以看做是对能量采样的结果。 单通道摄像机及三通道摄像机是机器视觉应用中所涉及的两类基本的图像传感器。 图像可被视为由一组任意多的通道组成的。区域(Region) 机器视觉的任务之一就是识别图像中包含某些特性的区域。 能将区域延伸到图像边界外是重要的,因此我们把区域
2017-07-25 10:49:37 3373
原创 机器视觉思考(光源篇)
机器视觉照明的目的:使被测物的重要特征显现,而一直不需要的特征。实际应用中为实物找一个合适的光源常常需要大量的实验光源类型:白炽灯、荧光灯、LED(最常用)等光与被测物的相互作用:主要有漫反射和镜面反射等彩色物体反射一部分光谱,其它部分被吸收。可以利用这一特点增强需要的特征,例如:绿色背景上的红色被测物体需要增强,可以使用红色照明。滤镜的使用(红外截止滤光片、红外透过滤光片、偏振片(起偏镜、检偏镜
2017-07-23 21:38:42 4687
原创 OpenCV实现局部动态阈值分割
参考Halcon dyn_threshold算子的思路,利用OpenCV实现局部动态阈值分割。#include "dialog.h"#include <QApplication>#include "cv.h"#include "highgui.h"#include <QDebug>int main(int argc, char *argv[]){ IplImage *img =
2017-07-18 21:03:08 6618
原创 OpenCV学习之矩阵图像操作(四)
cvCmp&cvCmpS&cvThreshold 功能:都是进行比较操作,比较两幅图像对应像素值或者图像像素值与标量值进行比较。cvCmp *void cvCmp( const CvArr* src1, const CvArr* src2, cvArr* dst, int cmp_op );* cvCmpS *void cvCmpS( const CvArr* src1, do
2016-11-22 17:34:53 548
原创 CvMat矩阵结构(一)
CvMat矩阵数据读取:#include <QDebug>#include "opencv.hpp"int main(int argc, char *argv[]){ float a[]={1,33,3,22,2}; //CvMat* mat = cvCreateMatHeader(2,2,CV_64FC1); CvMat mat; cvInitMatHeade
2016-11-21 22:15:56 316
原创 OpenCV学习之矩阵图像处理(三)
图像的运算:加、减、乘、除加 cvAdd: void cvAdd( const CvArr* src1, const CvArr* src2, CvArr* dst, const CvArr* mask=NULL ); cvAddS: void cvAddS( const CvArr* src1, CvScalar value, CvArr* dst, const CvA
2016-11-21 17:11:48 443
原创 Halcon与OpenCV图像数据结构转换
#include "HalconCpp.h"#include <cv.h>#include <highgui.h>using namespace cv;using namespace Halcon;class Exchange {public: Hobject IplImageToHImage(IplImage *pImage){ Hobject Hobj;
2016-11-21 15:57:35 1879
原创 OpenCV学习之矩阵图像操作(二)
cvAvg&cvAvgSdu&cvSum 功能:分别①求图像全部像素平均值②求平均及标注差③求和 CvScalar cvAvg( const CvArr* arr, const CvArr* mask=NULL ); cvAvgSdv( const CvArr* arr, CvScalar* mean, CvScalar* std_dev, const CvArr* mask=N
2016-11-21 14:41:17 301
原创 OpenCV学习之矩阵图像操作(一)
cvAbs&cvAbsDiff&cvAdsDiffS 共性:这些函数都是计算一个数组的绝对值或者和其它对象差值的绝对值; 区别:cvAbs计算图像的绝对值,cvAbsDiff计算两幅图像相减之后差值的绝对值,cvAdsDiffS计算一幅图像与一常数差值的绝对值。 OpenCV实现: (1)cvAbs void cvAbs( const CvArr* src. const dst );
2016-11-21 10:22:58 385
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-11-21 09:54:31 187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人