自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Halcon:阈值分割函数总结

Halcon6:阈值分割函数总结【旧笔记整理】(1) fast threshold(mage: Region: MinGray, MaxGray, Minsize:) ①算子描述: 全局阈值,此算子与threshold类似,只是多了一个輸入参数MinSize :提取对象的最小尺寸(2) gray histo(Regions, Image : : : Ab...

2019-08-01 17:40:41 3159

转载 Halcon的二维码解码步骤和解码技巧

Halcon的二维码解码步骤和解码技巧一、二维码简介1 . 类型多样,常见的有QR Code二维码、 Data Matrix二维码等。2.高密度编码,信息容量大。3.容错能力强,具有纠错功能:二维码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。4.译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。5.可引入加密措施:保密...

2019-07-26 11:17:33 2495

转载 Halcon的一维条码解码步骤和解码技巧

Halcon的一维条码解码步骤和解码技巧一、图像预处理和条码增强对比度太低:scale_image(或使用外部程序scale_image_range),增强图像的对比度。图像模糊:emphasize锐化图像,使条码看起来更清晰。深色背景上读取浅色条码:invert_image反转图像。二、解码涉及的主要算子read_image :读图create_bar_code_model :创建...

2019-07-26 11:14:53 2163

转载 深度学习中 经常提到的 end to end 的理解

本文转自https://www.cnblogs.com/zeze/p/7798080.html,感谢这位大神的讲解,为了防止以后找不到相关的知识,所以在此转载,复制到本文。转自https://blog.csdn.net/u012481686/article/details/82684847End to end:指的是输入原始数据,输出的是最后结果,应用在特征学习融入算法,无需单独处理。end-to-end(端对端)的方法,一端输入我的原始数据,一端输出我想得到的结果。只关心输入和输出,中间的步骤全部都

2020-06-17 17:39:43 1172

转载 常见的图像分割方法

常见的图像分割方法有以下几种:1.基于阈值的分割方法灰度阈值分割法是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。阈值分割方法实际上是输入图像f到输出图像g的如下变换:其中,T为阈值;对于物体的图像元素,g(i,j)=1,对于背景的图像元素,g(i,j)=0。由此可见,阈值分割算法的关键是确定阈值,如果能确定一个适合的阈值就可准确地将图像分割开来。阈值确定后,阈值与像素点的灰度值比较和像素分割可对各像素并行地进行,分割的结果直接给出图像区域。阈值分割的优点是计算简单、运算效率较高、速

2020-06-16 21:20:38 1573

原创 opencv入门九,图像矩, 点多边形测试, 基于距离变换与分水岭的图像分割

图像矩moments(InputArray array,//输入数据bool binaryImage=false // 是否为二值图像)面积contourArea(InputArray contour,//输入轮廓数据bool oriented// 默认false、返回绝对值)弧长arcLength(InputArray curve,//输入曲线数据bool closed// 是否是封闭曲线)过程:提取图像边缘发现轮廓计算每个轮廓对象的矩计算每个对象

2020-05-27 19:13:58 260

原创 opencv入门八, 获取轮廓, 获取轮廓凸包,画出外接矩形或者外接圆

获取图片轮廓在二值图像上发现轮廓使用API cv::findContours(InputOutputArray binImg, // 输入图像,非0的像素被看成1,0的像素值保持不变,8-bit OutputArrayOfArrays contours,// 全部发现的轮廓对象OutputArray, hierachy// 图该的拓扑结构,可选,该轮廓发现算法正是基于图像拓扑结构实现。int mode, // 轮廓返回的模式int method,// 发现方法Point offse

2020-05-26 18:22:50 1015

转载 C/C++ 中 volatile 关键字详解

1、为什么用volatile?C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 “The C++ Programming Language” 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler that an object may change its value in ways not specified by the langua

2020-05-26 09:59:01 175

原创 opencv入门七 直方图比较,直方图反向投影, 模板匹配

直方图比较对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间然后可以通过计算H1与H2的之间的距离得到两个直方图的相似程度进而比较图像本身的相似程度。Opencv提供的比较方法有四种:Correlation 相关性比较Chi-Square 卡方比较Intersection 十字交叉性Bhattacharyya distance 巴氏距离步骤:首先把图像从RGB色彩空间转换到HSV色彩空间cvtColor计算图像的直方图,然后归一化到[0~1]之间calcHist和n

2020-05-25 17:21:33 195

转载 霍夫变换(主要说明检测直线及圆的原理)

霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。一、直线检测1.直线的表示方式对于平面中的一条直线,在笛卡尔坐标系中,常见的有点斜式,两点式两种表示方法。然而在hough变换中,考虑的是另外一种表示方式:使用(r,theta)来表示一条直线。其中r为该直线到原点的距离,theta为该直线的垂线与x轴的夹角。如下图所示。也就是霍夫变换中表示一条直线

2020-05-22 17:24:53 876

原创 opencv入门六,霍夫圆检测、像素重映射、直方图均衡、直方图计算

霍夫圆检测因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。基于效率考虑,Opencv中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步:1. 检测边缘,发现可能的圆心2. 基于第一步的基础上从候选圆心开始计算最佳半径大小HoughCircles(InputArray image, // 输入图像 ,必须是8位的单通道灰度图像OutputArray circles, // 输出结果,发现的圆信息Int method, // 方法 - HOUGH_GRADIENTDouble dp

2020-05-22 17:14:56 215

原创 opencv入门五,边缘检测算法, 霍夫变换直线检测

Sobelcv::Sobel (InputArray Src // 输入图像OutputArray dst// 输出图像,大小与输入图像一致int depth // 输出图像深度. Int dx. // X方向,几阶导数int dy // Y方向,几阶导数. int ksize, SOBEL算子kernel大小,必须是1、3、5、7、double scale = 1double delta = 0int borderType = BORDER_DEFAULT)Scharrcv

2020-05-21 17:14:09 770

原创 opencv入门四:图像金字塔,高斯差分,归一化函数,边缘填充

图像金字塔:高斯金字塔 – 用来对图像进行降采样拉普拉斯金字塔 – 用来重建一张图片根据它的上层降采样图片高斯金字塔是从底向上,逐层降采样得到。降采样之后图像大小是原图像MxN的M/2 x N/2 ,就是对原图像删除偶数行与列,即得到降采样之后上一层的图片。高斯金子塔的生成过程分为两步:对当前层进行高斯模糊删除当前层的偶数行与列即可得到上一层的图像,这样上一层跟下一层相比,都只有它的1/4大小。上采样与降采样上采样,生成图像是原图在宽高各放大两倍pyrUp(Mat src, Mat

2020-05-19 16:54:55 794

转载 Opencv Mat类成员函数详解

Mat::eye返回一个恒等指定大小和类型矩阵。C++: static MatExpr Mat::eye(int rows, int cols, inttype)C++: static MatExpr Mat::eye(Size size, int type)参数rows –的行数。cols– 的列数。size –替代矩阵大小规格Size(cols, rows)的方法。type – 创建的矩阵的类型。该方法返回 Matlab 式恒等矩阵初始值设定项,类似 Mat::zeros()和 Mat

2020-05-19 16:08:33 1177

转载 归一化函数normalize

1、函数原型:void normalize(InputArray src,OutputArraydst, double alpha = 1, double beta = 0, intnorm_type = NORM_L2, int dtype = -1, InputArray mask = noArray() )参数说明:src——输入数组dst——输出数组,支持原地运算alpha——range normalization模式的最小值beta ——range normalization模式的最大

2020-05-19 14:15:15 2802

原创 opencv入门三:平滑滤波、形态学操作、二值化图像

线性滤波:均值滤波blur(Mat src, Mat dst, Size(xradius, yradius), Point(-1, -1));高斯滤波GaussianBlur(Mat src, Mat dst, Size(xradius, yradius), sigmax, sigmay);其中Size(x, y), x,y必须是正数且为奇数非线性滤波:中值滤波medianBlur(Mat src, Mat dst, ksize);ksize的值必须大于0且为奇数双边滤波:保存边缘

2020-05-18 17:47:02 698

原创 opencv入门2

提取点的像素值(单通道)gray_image.at(row, col);取反gray_image.at(row, col) = 255 - gray;提取点的像素值(3通道)int b = dst.at(row, col)[0];int g = dst.at(row, col)[1];int r = dst.at(row, col)[2];取反dst.at(row, col)[0] = 255 - b;dst.at(row, col)[1] = 255 - g;dst.at(row,

2020-05-17 16:33:36 137

原创 opencv入门学习1

1.图像加载图像 imread(“路径”,-1原图/0灰度图/1RGB图)修改图像 cvtColor (输入图像,输出图像,色域转换)从一个色彩空间转换到另一色彩空间,COLOR_BGR2HLS、 COLOR_BGR2GRAY保存图像 imwrite(保存路径,输入图像)2.矩阵掩模获取图像像素指针Cv_Assert(mylmage depth()==CV 8U);● Mat.ptr(int i=0)获取像素矩阵的指针,索引i表示第几行,从0开始计行数。●获得当前行指针Mat myIma

2020-05-16 19:06:07 180

转载 qt中的QPointer QSharedPointer等智能指针

**QPointer**QPointer在用法上跟普通的指针没有什么区别, 可以将它当做是一个普通指针一样使用. 例如:void barFunc(QLabel *label) { ...}QPointer<QLabel> pointer;pointer = new QLabel;// 直接将pointer作为QLabel类型的指针传入barFunc函数作为参...

2020-01-13 11:23:59 3688

转载 C++this指针

C++this指针this是C++中的一个关键字,也是一个const指针,它指向当前对象,通过它可以访问当前对象的所有成员。例如:class A{private: char name;public: void show(){cout<<"hello world~"<<endl;}; void setName(char *name){this...

2020-01-09 11:45:28 98

转载 QMap

1、增加 QMap<char,int> mapCI; //插入mapCI.insert('a',1);mapCI.insertMulti('b',2); //一键多值mapCI.insertMulti('b',3);qDebug() << mapCI;//将QMap插入到另一个QMap中,同键值不会被覆盖QMap<char,int> map...

2020-01-09 10:57:19 1927

转载 Qt绑定UI界面和Qt类的四种方法

1、Qt类头文件中声明命名空间namespace Ui {class Widget;}1234声明UI指针对象public:explicit Widget(QWidget *parent = 0); private:Ui::Widget *ui;1234源文件的构造函数初始化列表中初始化指针:Widget::Widget(QWidget *parent) ...

2020-01-07 11:34:12 2219

转载 关键字 explicit作用

关键字 explicit 可以禁止“单参数构造函数”被用于自动类型转换。光看这一句似乎不太容易明白,下面,举个简单地例子。//main.cpp            #include using namespace std;class Test   ...

2020-01-07 11:02:09 294

转载 关于虚函数与纯虚函数的几点

关于虚函数与纯虚函数的几点虚函数虚函数的关键字是virtual虚函数是提供一种“推迟联编”或者“动态联编”的功能,来实现多态性,形成虚指针。虚函数的调用并不是在编译时刻被确定的,而是在运行时刻被确定的。一个代码示列:#include <iostream>using namespace std;class Base1{public: virtual void d...

2020-01-07 10:55:10 85

转载 C++类中 虚函数与纯虚函数的区别和作用

在C++的面试题中经常会被问到虚函数与纯虚函数的区别和作用,在此做个总结。主要是借鉴了这篇博客:http://blog.csdn.net/hackbuteer1/article/details/7558868虚函数与纯虚函数在声明的形式上的区别;virtual void funtion1()=0 //纯虚函数virtual void funtion2() //虚函数12定义一...

2020-01-07 10:52:47 160

转载 算子dyn_threshold解析

算子结构首先看dyn_threshold 算子参数dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark )参数分析:OrigImage:需要进行阈值分割的原始图像ThresholdImage: 通过一定图像预处理得到的阈值图像(这个预处理通常是对原图应用mean_image/gaus...

2019-12-09 14:46:32 623

原创 卡尺测量

read_image (ImageModel, 'image/dip_switch_model.png')get_image_size (ImageModel, Width, Height)dev_open_window (0, 0, Width, Height, 'black', WindowHandle)dev_display (ImageModel)dev_set_draw ('ma...

2019-12-07 10:08:55 449

转载 halcon-直方图均衡

对图像进行线性灰度变换***dev_clear_window ()dev_close_window ()read_image (Image, ‘C:/Users/Public/Documents/MVTec/HALCON-18.11-Steady/examples/images/lcd/tft_cells_01.png’)get_image_size (Image, Width, Heig...

2019-09-28 10:12:15 2770

转载 获取Image图像中Region区域的特征参数

area_center_gray ( Regions, Image : : : Area, Row, Column )计算Image图像中Region区域的面积Area和重心(Row,Column)。cooc_feature_image ( Regions, Image : : LdGray, Direction : Energy,Correlation, Homogeneity, Cont...

2019-09-17 10:38:52 865

转载 图像灰度共生矩阵cooc_feature_image.hdev

灰度共生矩阵灰度共生矩阵定义为像素对的联合分布概率,是一个对称矩阵,它不仅反映图像灰度在相邻的方向、相邻间隔、变化幅度的综合信息,但也反映了相同的灰度级像素之间的位置分布特征,是计算纹理特征的基础。设f(x,y)为一幅数字图像,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为:其中#(x)表示集合x中的元素个数,显然P为Ng×Ng的矩阵,若(x1,y1)与(x2,y2)间距...

2019-09-17 10:29:24 1050

原创 halcon学习-校正

1.通过投影变换对倾斜的图像进行校正hom_vector_to_proj_hom_mat2dprojective_trans_image2.disp_caltab 在图像中投影并可视化标定板的三维模型。3.match_fundamental_matrix_ransac 通过自动查找图像点之间的对应关系,计算一对立体图像的基本矩阵。4.proj_match_points_ransac ...

2019-09-03 22:34:20 2933

转载 各向异性滤波

这篇文章主要区分各向同性和各向异性滤波的区别,明白各向异性滤波的优点,熟悉适合各向异性滤波的应用场景.双边滤波(bilateral filter)的原理大家都还熟悉吗?双边滤波是一种非线性滤波器,优点是可以保持边缘,使得降噪平滑,双边滤波虽然采用邻域图像像素加权,但是,双边滤波的权重不仅考虑了像素的欧式距离(位置对中心像素的影响),还考虑了像素范围域中的辐射差异(像素与中心像素之间的相似程度,颜...

2019-09-03 17:09:04 2083

原创 halcon学习-measure_算子

measure_pair(measure :measure rehandle, Sigma, Threshold, Transition, Select: RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDista...

2019-09-02 10:52:21 602

转载 Halcon算子_fuzzy_measure_pairs

fuzzy_measure_pairs(Image : : MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter,...

2019-08-23 20:09:28 485

原创 Halcon学习-算子正则表达式/字符串操作/y值序列创建函数/measure_projection

1.tuple_regexp_match 使用正则表达式提取子字符串。这里提供了正则表达式语法的摘要。基本上,正则表达式中的每个字符都表示一个要匹配的文字,除了以下具有特殊含义的符号(所描述的语法与Perl兼容):^ 匹配字符串的开始$ Matches字符串结束符(允许使用换行符). 匹配除换行以外的任何字符[…] 匹配括号中列出的任何字符。如果第一个字符是’^’,那么它...

2019-08-22 21:15:26 5848

原创 Halcon学习日志-创建随机区域/储存区域/partition_dynamic/select_shape_proto/split_skeleton_lines/transpose_region

1.gen_checker_region 创建一个棋盘方格区域。gen_random_region 创建一个随机区域2.runlength_features 通过runlength编码为每个输入区域计算存储该区域所需的运行次数。runlength_distribution 区域runlength编码所需的运行数分布。3.gen_region_histo 将直方图转换为区域。gen_r...

2019-08-20 23:56:17 1965

原创 Halcon学习-区域秩/structured_light_model/background_seg/close_edges/closest_point_transform/eliminate_run

1.rank_region 区域的秩运算符。rank_rect 用矩形掩模计算秩过滤器。2.grab_image_async 从指定的图像采集设备异步抓取图像。3.diff_of_gauss 近似对数算子(高斯拉普拉斯)。zero_crossing 将输入图像的零交叉作为区域返回。如果一个像素的灰度值(在图像中)为零,或者它的4个邻域中至少有一个邻域有不同的符号,那么它就被接受...

2019-08-19 22:02:47 1341

原创 Halcon学习-算子

1.harmonic_interpolation 对图像区域执行谐波插值。2.binocular_distance 使用相关技术计算校正后的立体图像对的距离值。binocular_disparity 使用相关技术计算校正后的图像对的差异。3.illuminate 增强对比度。图像中非常暗的部分被“照亮”得更强烈,非常亮的部分被“变暗”。4.inpainting_mcf将与输入图像I...

2019-08-17 22:38:14 1540

原创 halcon学习-算子学习

1.enqueue_message 入队dequeue_message 出队set_message_obj set_message_tupleget_message_objget_message_tuple2.create_event 创建一个事件同步对象。signal_event(EventHandle) 释放EventHandle中给出的事件。发出已经发出信号的事件的信号...

2019-08-16 23:27:21 1082

原创 halcon学习-vector_to_rigid/similarity/创建灰度渐变/创建及加入队列,例程

1.vector_to_rigid 从点对应近似刚性仿射变换。vector_to_similarity 从点对应近似一个相似变换。2.principal_comp(MultichannelImage ,PCAImage ,InfoPerComp)算子principal_comp使用主成分分析将一个(多通道)图像MultichannelImage 转换为包含相同数量通道的输出图像PCAIma...

2019-08-15 22:07:02 3158

空空如也

空空如也

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

TA关注的人

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