精华内容
下载资源
问答
  • 指数 图像 halcon_halcon图像处理基本运算 weixin_39975261 2021-02-01 15:30:29 ...

    halcon图像处理基本运算

    图像处理最基本的操作包括颜色空间转换,各种代数运算,放射变换等。通过熟悉这些常见的操作,可以对图像有基本的认识,尤其是对刚开始接触视觉图像处理的人而言,熟悉这些操作,可以快速对图像有一个了解。比如能够明白RGB模型,HSI模型、HSV模型等这些颜色空间模型。能够对灰度图、彩色图有一定的认识,同时也能理解图像的位数、通道等概念。通过代数运算,能够明白图像处理其实就是对一堆二维矩阵数字进行运算。代数运算可以了解图像的数据类型,有的图像是用byte类型表示的像素值,有的使用int表示,有的是用real表示,对于某些操作,有一定的数据类型的限制。放射变换可以了解图像的平移、旋转等概念。

    RGB一般是24位彩色图像,颜色数量共有224种。RGB图像由红、绿、蓝三个通道组成,每个通道的图像是一个二维数字矩阵,每个数字用8位来存储,一个像素占24位,所以是24位图像。灰度图是RGB三个分量中的值相等,即R=G=B。这三个值相等的时候,显示出来的图像就只有亮度信息,看起来就像是黑白图像。由于RGB三个通道的值相等,因此,灰度图只需要存储一个通道的数字,所以只需要用8位来存储一个像素的值,所以我们一般称为8位灰度图。RGB图像可以转换成灰度图像,有多种转换方式,常见的是对每个RGB分量设定一定的权重,然后三个分量求和得到灰度值。有时候也可以分别提取RGB的每个分量来进行图像处理,每个分量单独显示的时候,看起来也是灰度图,只是三个分量分别凸显的原RGB图像的特征有一些不同,如果进行图像处理,就要看下哪个分量能够更加凸显图像的特征,这是就取哪个分量来进行图像处理。同样的方式适用于HSI或HSV颜色模型。HSI或HSV也表示的图像三个分量,只是这个分量分别表示的图像的色调(hue)、色饱和度(saturation)和强度(intensity)或明亮值(value)。HSI和HSV只是I和V不一样,I=(R+G+B) / 3,是RGB三个分量的平均值,V = max(max(R,G),B)是RGB三个分量的最大值。由于I和V的不同,也使得S的值有所不同。

    76b3d8bbce81eaf91768ab119e935832.png

               图1 RGB颜色模型

    b1c79fe20f338ac5a9baeee2cf2f4f2c.png

               图2 HSI颜色模型

    图像代数运算主要是指图像的加减乘除、对数、三角函数、指数、幂运算等,通过这些操作,熟悉图像处理实际上是对数字矩阵的处理。当然,这些运算在实际的图像处理时也是有用的,这需要根据图像来判断到底用什么方法。通过图像代数运算,也可以了解图像的数据类型,有的运算需要int数据,有的运算需要real数据,有的运算所有数据类型都可以运算。

    放射变换是指图像的平移、旋转等变换。通过放射变换,可以了解图像变换的原理,实际上就是一个变换矩阵,通过变换矩阵实现坐标位置的改变。其中尤其是旋转变换比较重要,因此,在实际的图像处理中,由于各种原因,需要检测的图像的特征部分不一定是水平或垂直放置的,这时候就需要通过一定的旋转变换,将特征旋转到水平位置或垂直位置。

    下面通过一个具体的例子,来看下在halcon里面怎么实现上面的操作。所用到的图像就以halcon自带的一张图像为例。

    7cfc13eadbcd1faedd4bdfcb119a200c.png

              图3 待处理的原图

    1382fcf31761ec7142928a7ffb561982.png

               图4 所有处理的结果图像

    *读取一张彩色图像

    read_image (Image,'blister/blister_reference')

    *得到图像通道数

    count_channels(Image,Channels)

    *彩色图像转灰度图

    rgb1_to_gray(Image, GrayImage)

    *彩色图像分离为三个通道图像

    decompose3(Image,R,G,B)

    *RGB转HSV和HSI

    trans_from_rgb(R,G,B,H1,S1,V1,'hsv')

    trans_from_rgb(R,G,B,H2,S2,I2,'hsi')

    *HSV和HIS转RGB

    trans_to_rgb(H1,S1,V1,ImageRed, ImageGreen,ImageBlue, 'hsv')

    trans_to_rgb(H2,S2,I2,ImageRed1,ImageGreen1, ImageBlue1, 'hsi')

    *将转换后的单通道RGB合并成RGB彩色图

    compose3(ImageRed,ImageGreen,ImageBlue,ImageRGB)

    *图像均值模糊

    mean_image(GrayImage,ImageMean, 9, 9)

    *图像相加,相减,相减的绝对值,线性拉伸,图像相乘除

    add_image(GrayImage, ImageMean,ImageResult, 0.5, 0)

    sub_image(GrayImage,ImageMean,ImageSub, 1,128)

    abs_diff_image(GrayImage,ImageMean,ImageAbsDiff,1)

    scale_image(ImageAbsDiff, ImageScaled, 5,20)

    mult_image(GrayImage,ImageMean,ImageResult1,0.005, 0)

    div_image(GrayImage,ImageMean,ImageResult2,255, 0)

    *指数、gamma变换、图像反转、对数、幂、开方

    exp_image(GrayImage,ExpImage, 'e')

    gamma_image(GrayImage,GammaImage,0.416667,0.055, 0.0031308, 255, 'true')

    invert_image(GrayImage,ImageInvert)

    log_image(GrayImage,LogImage, 'e')

    pow_image(GrayImage,PowImage, 2)

    sqrt_image(GrayImage,SqrtImage)

    pow_image(SqrtImage, PowImage1, 3)

    *图像数据格式转换

    convert_image_type(GrayImage,ImageConverted,'real')

    *三角函数运算

    sin_image(ImageConverted, SinImage)

    cos_image(ImageConverted,CosImage)

    tan_image(ImageConverted,TanImage)

    asin_image(SinImage,ArcsinImage)

    acos_image(CosImage,ArccosImage)

    atan_image(TanImage,ArctanImage)

    *取两幅图像的最大值或最小值

    max_image(GrayImage,ImageMean,ImageMax)

    min_image(GrayImage,ImageMean,ImageMin)

    *创建一个单位变换矩阵,每次根据创建的平移或、旋转或缩放矩阵对图像进行平移、旋转、缩放操作

    hom_mat2d_identity(HomMat2DIdentity)

    *创建平移矩阵

    hom_mat2d_translate(HomMat2DIdentity,20,50,HomMat2DTranslate)

    *图像平移

    affine_trans_image(GrayImage,ImageAffineTrans,HomMat2DTranslate, 'constant', 'false')

    get_image_size(GrayImage,Width, Height)

    *创建旋转矩阵

    hom_mat2d_rotate(HomMat2DIdentity,rad(45),Width/2,Height/2, HomMat2DRotate)

    *图像旋转

    affine_trans_image(GrayImage,ImageAffineTrans1,HomMat2DRotate, 'constant', 'false')

    *创建缩放矩阵

    hom_mat2d_scale(HomMat2DIdentity, 2, 1.5,Width/2, Height/2, HomMat2DScale)

    *图像缩放

    affine_trans_image(GrayImage,ImageAffineTrans2,HomMat2DScale, 'constant', 'false')

    *根据图像得到的region,通过计算中心和方向,利用vector_angle_to_rigid得到变换矩阵,然后进行图像放射变换

    threshold(GrayImage,Region, 128, 255)

    shape_trans(Region, RegionTrans, 'convex')

    orientation_region(RegionTrans, Phi)

    area_center(RegionTrans, Area, Row, Column)

    vector_angle_to_rigid(Row, Column, Phi,Row, Column, 0, HomMat2D)

    affine_trans_image(GrayImage,ImageAffineTrans3,HomMat2D, 'constant', 'false')

    • 点赞
    • 评论
    • 分享
      x

      海报分享

      扫一扫,分享海报

    • 收藏
    • 打赏

      打赏

      weixin_39975261

      你的鼓励将是我创作的最大动力

      C币 余额
      ¥2 ¥4 ¥6 ¥10 ¥20 ¥50

      您的余额不足,请先充值哦~去充值

    • 举报
    • 关注
    • 一键三连

      点赞Mark关注该博主, 随时了解TA的最新博文
    已标记关键词 清除标记
    一、基于神经网络的 图像融合方法 DenseFuse: A Fusion Approach to Infrared and Visible Images(有代码) (1)方法概述:一种新的基于深度学习的红外 图像和可见 图像融合的方法。与传统的卷积网络相比,编码网络与卷积层,融合层和密集块相结合,其中每一层的输出彼此相连。作者尝试在编码过程中从源 图像中获取更多有用的feature,并设计了两个融合层(融合策略)以融合feature。 最后,通过解码器重建融合 图像。编码器包含两个部分(C1和DenseBlock),
    图像 基本 运算 1 图像相加 在Halcon中, 图像相加是按以下公式计算的: g′:=(g1+g2)∗Mult+Add g' := (g1 + g2) * Mult + Add g′:=(g1+g2)∗Mult+Add 其中,g′g'g′为输出 图像,g1g1g1和g2g2g2是输入 图像,MultMultMult是乘数因子,AddAddAdd是常量。 * 图...
    表情包
    插入表情
    评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
    • weixin_39975261
      weixin_39975261 : 这篇文章对你有帮助吗?作为一名程序工程师,在评论区留下你的困惑或你的见解,大家一起来交流吧!
    </div>
    
    相关推荐
    如果是下相机对位,有时候会碰到相机拍到复杂背景,造成需要处理的工件被背景干扰的问题。这时候有一个办法是去掉背景。一般来讲,每次拍到的背景应该是一样的,只是每次拍到的工件不一样。勇哥直接上图片与演示代码,最后介绍一下相关的算子。(图1 背景 图像)(图2 含有背景 图像的电芯)下面是代码处理的结果。(图3 电池本体之外的背景全部镂空的效果)(图4 含有膨胀区域的处理结果)read_image(b...
    Halcon中增强 图像的对比度也是预处理中的一环,主要有如下方式: 1.灰度值线性变换 1)scale_image() scale_image(Image : ImageScaled : Mult, Add : )——缩放 图像的灰度值。 原理:可以理解为用一个模板扫描 图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。 功能描述: g’ := g * Mult + Add 为当前的灰度值。由公式可以看出scale_image算子处理 图像是个线性变化,因此会扩大 图像的对比度,会让黑的

    对于每帧图像来说,均值分为两种:image mean 和 pixel mean。

    image mean:
    简单的说,读入一张彩色图像,假设是(NN3),这时候,求出image mean的话,就也是NN3,相当于把所有训练集在同一个空间位置上的像素的对应通道求了均值,也就是caffe里生成的mean.binaryproto文件,

    pixel mean:
    而pixe…


    Halcon| 图像的gamma变换、pow变换、log变换 工业相机像元深度 我们将工业相机采集 图像的比特位数,称为像元深度,通常是8~16bit。像元深度定义了灰度由暗道亮的灰阶数,例如,对于8bit 的相机,0代表全暗(黑),255 代表全亮(白)。同理,10bit 图像有1024个灰阶,12bit 图像有4096个灰阶。 在可视化过程中,显示器一般只有8bit,对于工业相机采集到的大于8bi...
    【1】 图像取反,增加对比度,减小对比度,增加亮度,减小亮度

    halcon源码

    read_image (Lena, ‘C:/Users/Administrator/Desktop/lena.bmp’)
    rgb1_to_gray (Lena, GrayImage)
    get_image_size (GrayImage, Width, Height)
    *图像取反
    invert_image (GrayImage, ImageInvert)
    *增加对比度
    emphasize (GrayImage, ImageEm


    在我们编写halcon程序中可能常会用到tu
    图像仿射变换 图像仿射变换 图像仿射变换 图像的变换包括仿射变换与透视变换,一般多数情况下只需要仿射变换 图像的仿射变换是指 图像的平移与旋转。 映射矩阵:在平移与旋转中,是由一个含有6个参数的矩阵组成,用来描述 图像的旋转平移关系。所谓平移关系,是指移动前 图像的位置与移动后 图像的位置之间的关系,只有有了着关系,才能进行 图像的移动。 比如:点(1,2)与点(2,3)之间的关系为[1,0,1,0,1,1]。




    1灰度变换 最简单的形式是邻域为1x1的尺度 (即一单个像素)。在这种情况下(仅依赖于f在(x,y)点的值,T操作成为灰度级变换函数(也叫做强度映射),形式为: s=T® s和r是所定义的变量,分别是f(x,y)和g(x,y)在任意点(x,y)的灰度值。 1.1 图像反转 灰度级范围为丨0,L-1丨的 图像反转可由示于前图的反比变换获得,表达式为: s=L-1-r 用这种方式倒转 图像的强度产生 图像反转的对等 图像。这种处理尤其适用于增强嵌入于 图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时:

    1.2对


    灰度直方图 定义 灰度直方图时灰度值的函数,描述了 图像中具有该灰度值的像素的个数,横坐标时像素的灰度级,纵坐标时该灰度出现的频率或这个灰度值像素的个数。 使用函数 gray_histo gen_region_histo histo_to_thresh 使用示例 read_image (Image, 'fabrik') *生成直方图 gray_histo (Image, Image, AbsoluteHisto, RelativeHisto) *生成直方图区域 gen_region_histo (Region
    Chapter_17:Tools 17.1  2D-Transformations 1. affine_trans_pixel   功能:对像素坐标轴进行任意的仿射二维变换。 2. affine_trans_point_2d   功能:对点进行任意的最简二维变换 3. bundle_adjust_mosaic   功能:对一幅 图像的嵌合体采取一系列调整。 4. hom_mat2d_
    图像拼接技术就是针对同一场景的一系列图片,根据图片的特征,比如位置,重叠部分等,拼接成一张大幅的宽视角的 图像图像拼接要求拼接后 图像最大程度的与原图一致,失真尽可能的小,并且要尽量做到天衣无缝即没有明显的拼接线或其他拼接痕迹。为达到以上目标, 图像拼接要求具备以下条件:1: 图像应具有一定的特征性能,拼接正是通过这些特征来进行的。2: 图像需要具有重叠部分,一般情况下,这些重叠部分点 图像的1/...
    1.     sub_image(); sub_image是最常用的一个 图像 运算算子之一,主要的应用领域应该是 图像增强方面。在正常的工业相机拍摄的光学 图像往往并不是完美的,需要对 图像进行预处理。在预处理阶段可能会用到的 图像 运算包括,去噪,增强等等。                                                                          
    HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,它节约了产品成本,缩短了软件开发周期。

    halcon:底层功能算法多,运算性能快,开发需要一定软件功底和图像处理理论。


    // 二维傅里叶+低通滤波
    struct stPGMImage* DFT2(struct stPGMImage* image, double D0 = 5.0);

    2、函数实现

    inline int Padding(int n)
    {
    double lg = log10((double)n) / log10(2.0);
    if ((lg - (int)lg) == 0)
    {
    return n;
    }

    int N = pow(2.0, ((int)lg + 1));
    re</div>
    		</a>
    	</div>
    </div>
    
    Halcon学习笔记(三)---数据类型

    halcon只能在单独行进行注释,不能在语句后面进行注释。
    1、tuple
    赋值符号“:=”
    tuple算子:

    (1)变量定义与加减乘除运算
    代码如下:
    **hal-con中的几种变量
    *1.tuple
    a:=1
    b:=[2,3]
    *将a和b合并起来
    c:=[a,b]
    *求c中有多少个元素
    num:=|c|
    *


    Halcon中增强 图像的对比度也是预处理中的一环,主要有如下方式:

    灰度变换(scale_image)
    原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。
    作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。
    emphasize:增强图像的高频区域(边缘和拐角),使图像看起来更清晰。
    直方图均衡化(equ_histo_image)
    灰度…


    //计算数组的自然对数 void TupleLog() { HTuple tuple1; for (int i = 0; i < 10; i++) { tuple1[i] = i *10+2; } HTuple result = tuple1.TupleLog(); for (int i = 0; i < 10; i++) {
    Halcon学习笔记(三)---数据类型halcon只能在单独行进行注释,不能在语句后面进行注释。1、tuple(元组,重数)赋值符号“:=”tuple算子:(1)变量定义与加减乘除 运算代码如下:**hal-con中的几种变量 *1.tuple a:=1 b:=[2,3]*将a和b合并起来 c:=[a,b]    【[1,2,3]】*求c中有多少个元素 num:=|c|    【3】*a中元素和b...
    ©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
                </div>
    
    展开全文
  • halcon图像处理基本运算图像处理最基本的操作包括颜色空间转换,各种代数运算,放射变换等。通过熟悉这些常见的操作,可以对图像有基本的认识,尤其是对刚开始接触视觉图像处理的人而言,熟悉这些操作,可以快速对...

    halcon图像处理基本运算

    图像处理最基本的操作包括颜色空间转换,各种代数运算,放射变换等。通过熟悉这些常见的操作,可以对图像有基本的认识,尤其是对刚开始接触视觉图像处理的人而言,熟悉这些操作,可以快速对图像有一个了解。比如能够明白RGB模型,HSI模型、HSV模型等这些颜色空间模型。能够对灰度图、彩色图有一定的认识,同时也能理解图像的位数、通道等概念。通过代数运算,能够明白图像处理其实就是对一堆二维矩阵数字进行运算。代数运算可以了解图像的数据类型,有的图像是用byte类型表示的像素值,有的使用int表示,有的是用real表示,对于某些操作,有一定的数据类型的限制。放射变换可以了解图像的平移、旋转等概念。

    RGB一般是24位彩色图像,颜色数量共有224种。RGB图像由红、绿、蓝三个通道组成,每个通道的图像是一个二维数字矩阵,每个数字用8位来存储,一个像素占24位,所以是24位图像。灰度图是RGB三个分量中的值相等,即R=G=B。这三个值相等的时候,显示出来的图像就只有亮度信息,看起来就像是黑白图像。由于RGB三个通道的值相等,因此,灰度图只需要存储一个通道的数字,所以只需要用8位来存储一个像素的值,所以我们一般称为8位灰度图。RGB图像可以转换成灰度图像,有多种转换方式,常见的是对每个RGB分量设定一定的权重,然后三个分量求和得到灰度值。有时候也可以分别提取RGB的每个分量来进行图像处理,每个分量单独显示的时候,看起来也是灰度图,只是三个分量分别凸显的原RGB图像的特征有一些不同,如果进行图像处理,就要看下哪个分量能够更加凸显图像的特征,这是就取哪个分量来进行图像处理。同样的方式适用于HSI或HSV颜色模型。HSI或HSV也表示的图像三个分量,只是这个分量分别表示的图像的色调(hue)、色饱和度(saturation)和强度(intensity)或明亮值(value)。HSI和HSV只是I和V不一样,I=(R+G+B) / 3,是RGB三个分量的平均值,V = max(max(R,G),B)是RGB三个分量的最大值。由于I和V的不同,也使得S的值有所不同。

    add2ce98a3516104d29be1d6ce6ed290.png

               图1 RGB颜色模型

    f5753c7b469a98a6f7d7e18b19167e76.png

               图2 HSI颜色模型

    图像代数运算主要是指图像的加减乘除、对数、三角函数、指数、幂运算等,通过这些操作,熟悉图像处理实际上是对数字矩阵的处理。当然,这些运算在实际的图像处理时也是有用的,这需要根据图像来判断到底用什么方法。通过图像代数运算,也可以了解图像的数据类型,有的运算需要int数据,有的运算需要real数据,有的运算所有数据类型都可以运算。

    放射变换是指图像的平移、旋转等变换。通过放射变换,可以了解图像变换的原理,实际上就是一个变换矩阵,通过变换矩阵实现坐标位置的改变。其中尤其是旋转变换比较重要,因此,在实际的图像处理中,由于各种原因,需要检测的图像的特征部分不一定是水平或垂直放置的,这时候就需要通过一定的旋转变换,将特征旋转到水平位置或垂直位置。

    下面通过一个具体的例子,来看下在halcon里面怎么实现上面的操作。所用到的图像就以halcon自带的一张图像为例。

    c98057d659a88174096436ca824830e7.png

              图3 待处理的原图

    6da068d06cf2c3aef302e3e53b5b0176.png

               图4 所有处理的结果图像

    *读取一张彩色图像

    read_image (Image,'blister/blister_reference')

    *得到图像通道数

    count_channels(Image,Channels)

    *彩色图像转灰度图

    rgb1_to_gray(Image, GrayImage)

    *彩色图像分离为三个通道图像

    decompose3(Image,R,G,B)

    *RGB转HSV和HSI

    trans_from_rgb(R,G,B,H1,S1,V1,'hsv')

    trans_from_rgb(R,G,B,H2,S2,I2,'hsi')

    *HSV和HIS转RGB

    trans_to_rgb(H1,S1,V1,ImageRed, ImageGreen,ImageBlue, 'hsv')

    trans_to_rgb(H2,S2,I2,ImageRed1,ImageGreen1, ImageBlue1, 'hsi')

    *将转换后的单通道RGB合并成RGB彩色图

    compose3(ImageRed,ImageGreen,ImageBlue,ImageRGB)

    *图像均值模糊

    mean_image(GrayImage,ImageMean, 9, 9)

    *图像相加,相减,相减的绝对值,线性拉伸,图像相乘除

    add_image(GrayImage, ImageMean,ImageResult, 0.5, 0)

    sub_image(GrayImage,ImageMean,ImageSub, 1,128)

    abs_diff_image(GrayImage,ImageMean,ImageAbsDiff,1)

    scale_image(ImageAbsDiff, ImageScaled, 5,20)

    mult_image(GrayImage,ImageMean,ImageResult1,0.005, 0)

    div_image(GrayImage,ImageMean,ImageResult2,255, 0)

    *指数、gamma变换、图像反转、对数、幂、开方

    exp_image(GrayImage,ExpImage, 'e')

    gamma_image(GrayImage,GammaImage,0.416667,0.055, 0.0031308, 255, 'true')

    invert_image(GrayImage,ImageInvert)

    log_image(GrayImage,LogImage, 'e')

    pow_image(GrayImage,PowImage, 2)

    sqrt_image(GrayImage,SqrtImage)

    pow_image(SqrtImage, PowImage1, 3)

    *图像数据格式转换

    convert_image_type(GrayImage,ImageConverted,'real')

    *三角函数运算

    sin_image(ImageConverted, SinImage)

    cos_image(ImageConverted,CosImage)

    tan_image(ImageConverted,TanImage)

    asin_image(SinImage,ArcsinImage)

    acos_image(CosImage,ArccosImage)

    atan_image(TanImage,ArctanImage)

    *取两幅图像的最大值或最小值

    max_image(GrayImage,ImageMean,ImageMax)

    min_image(GrayImage,ImageMean,ImageMin)

    *创建一个单位变换矩阵,每次根据创建的平移或、旋转或缩放矩阵对图像进行平移、旋转、缩放操作

    hom_mat2d_identity(HomMat2DIdentity)

    *创建平移矩阵

    hom_mat2d_translate(HomMat2DIdentity,20,50,HomMat2DTranslate)

    *图像平移

    affine_trans_image(GrayImage,ImageAffineTrans,HomMat2DTranslate, 'constant', 'false')

    get_image_size(GrayImage,Width, Height)

    *创建旋转矩阵

    hom_mat2d_rotate(HomMat2DIdentity,rad(45),Width/2,Height/2, HomMat2DRotate)

    *图像旋转

    affine_trans_image(GrayImage,ImageAffineTrans1,HomMat2DRotate, 'constant', 'false')

    *创建缩放矩阵

    hom_mat2d_scale(HomMat2DIdentity, 2, 1.5,Width/2, Height/2, HomMat2DScale)

    *图像缩放

    affine_trans_image(GrayImage,ImageAffineTrans2,HomMat2DScale, 'constant', 'false')

    *根据图像得到的region,通过计算中心和方向,利用vector_angle_to_rigid得到变换矩阵,然后进行图像放射变换

    threshold(GrayImage,Region, 128, 255)

    shape_trans(Region, RegionTrans, 'convex')

    orientation_region(RegionTrans, Phi)

    area_center(RegionTrans, Area, Row, Column)

    vector_angle_to_rigid(Row, Column, Phi,Row, Column, 0, HomMat2D)

    affine_trans_image(GrayImage,ImageAffineTrans3,HomMat2D, 'constant', 'false')

    展开全文
  • Halcon算子

    2021-05-08 23:15:58
    功能:计算一个元组的绝对值。 2. tuple_acos 功能:计算一个元组的反余弦。 3. tuple_add 功能:两个元组相加。 4. tuple_asin 功能:计算一个元组的反余弦。 5. tuple_atan 功能:计算一个元组的反正...

    1. tuple_abs

      功能:计算一个元组的绝对值。

    2. tuple_acos

      功能:计算一个元组的反余弦。

    3. tuple_add

      功能:两个元组相加。

    4. tuple_asin

      功能:计算一个元组的反余弦。

    5. tuple_atan

      功能:计算一个元组的反正切。

    6. tuple_atan2

      功能:计算一个元组四个象限的反正切。

    7. tuple_ceil

      功能:计算一个元组的上限函数。

    8. tuple_cos

      功能:计算一个元组的余弦。

    9. tuple_cosh

      功能:计算一个元组的双曲余弦。

    10. tuple_cumul

       功能:计算一个元组的累计和。

    11. tuple_deg

       功能:将一个元组从弧度转换为角度。

    12. tuple_div

       功能:将两个元组相除。

    13. tuple_exp

       功能:元组的指数运算。

    14. tuple_fabs_

       功能:计算一个元组(例如浮点数)的绝对值。

    15. tuple_floor

       功能:计算一个元组的“地板函数”。

    16. tuple_fmod

       功能:计算两个元组浮点数相除的余数。

    17. tuple_ldexp

       功能:计算两个元组的返回长双精度指数函数。

    18. tuple_log

       功能:计算一个元组的自然对数。

    19. tuple_log10

       功能:计算一个元组底为10的对数。

    20. tuple_max2

       功能:计算两个元组的元素宽度的最大值。

    21. tuple_min2

       功能:计算两个元组的元素宽度的最小值。

    22. tuple_mod

       功能:计算两个元组整型数相除的余数。

    23. tuple_mult

       功能:两个元组相乘。

    24. tuple_neg

       功能:将一个元组取反。

    25. tuple_pow

       功能:计算两个元组的冥函数。

    26. tuple_rad

       功能:将一个元组从角度转换为弧度。

    27. tuple_sgn

       功能:计算一个元组的正负。

    28. tuple_sin

       功能:计算一个元组的正弦。

    29. tuple_sinh

       功能:计算一个元组的双曲正弦。

    30. tuple_sqrt

       功能:计算一个元组的平方根(二次方根)。

    31. tuple_sub

       功能:两个元组相减。

    32. tuple_tan

       功能:计算一个元组的正切。

    33. tuple_tanh

       功能:计算一个远足的双曲正切。

     

     

    18.2  Bit-Operations

    1. tuple_band

      功能:计算两个元组的按位运算。

    2. tuple_bnot

      功能:两个元组逐位取逻辑非。

    3. tuple_bor

      功能:计算两个元组的按位运算。

    4. tuple_bxor

      功能:两个元组逐位进行互斥逻辑或运算。

    5. tuple_lsh

      功能:元组逐位左移。

    6. tuple_rsh

      功能:元组逐位右移。

     

    18.3  Comparison

    1. tuple_equal

      功能:测试两个元组是否相同。

    2. tuple_greater

      功能:测试一个元组是否大于另一个元组。

    3. tuple_greater_equal

      功能:测试一个元组是否大于等于另一个。

    4. tuple_less

      功能:测试一个元组是否小于另一个元组。

    5. tuple_less_equal

      功能:测试一个元组是否小于等于另一个。

    6. tuple_not_equal

      功能:测试两个元组是不是不等。

     

    18.4  Conversion

    1. tuple_chr

      功能:根据ASCII码将整型元组转换为字符串。

    2. tuple_chrt

      功能:根据ASCII码将整型元组转换为字符串。

    3. tuple_int

      功能:讲一个元组转换为一个整型元组。

    4. tuple_is_number

      功能:检测一个字符串元组是否表示数字。

    5. tuple_number

      功能:将一个字符串元组转换为一个数字元组。

    6. tuple_ord

      功能:将长度为1的字符串的元组转换为它们相应的ASCII码元组。

    7. tuple_ords

      功能:将一个字符串的元组转换为它们ASCII码的元组。

    8. tuple_real

      功能:将一个元组转换为一个浮点数的元组。

    9. tuple_round

      功能:将一个元组转换为一个整型数的元组。

    10. tuple_string

       功能:将一个元组转换为一个字符串元组。

     

    18.5  Creation

    1. tuple_concat

      功能:合并两个元组为一个新的。

    2. tuple_gen_const

      功能:创建一个特殊长度的元组和初始化它的元素。

    3. tuple_rand

      功能:返回任意值为0或1的元组。

     

    18.6_Element-Order

    1. tuple_inverse

      功能:将一个元组反置(反转)。

    2. tuple_sort

      功能:按照升序分类(排列)元组的元素。

    3. tuple_sort_index

      功能:将元组的元素分类并返回分类元组的目录。

     

    18.7  Features

    1. tuple_deviation

      功能:返回一个元组元素的标准差。

    2. tuple_length

      功能:返回一个元组元素数目。

    3. tuple_max

      功能:返回一个元组的最大元素。

    4. tuple_mean

      功能:返回一定数量元组的平均值。

    5. tuple_median

      功能:返回一个元组元素的中值。

    6. tuple_min

      功能:返回一个元组的最小元素。

    7. tuple_sum

      功能:返回一个元组所有元素的和。

     

    18.8  Logical-Operations

    1. tuple_and

      功能:两个元组的逻辑与。

    2. tuple_not

      功能:两个元组的逻辑非。

    3. tuple_or

      功能:两个元组的逻辑或。

    4. tuple_xor

      功能:两个元组的逻辑互斥或。

     

    18.9  Selection

    1. tuple_find

      功能:返回一个元组所有出现的符号,同时位于另一个元组内。

    2. tuple_first_n

      功能:选取一个元组的第一个元素。

    3. tuple_last_n

      功能:选择从符号“n”开始到元组末尾的所有元素。

    4. tuple_remove

      功能:从一个元组中移出元素。

    5. tuple_select

      功能:选择一个元组中单一元素。

    6. tuple_select_range

      功能:选择一个元组中的一些元素。

    7. tuple_select_rank

      功能:选择一个元组中序号为n的元素。

    8. tuple_str_bit_select

      功能:选择一个元组中单一符号或位。

    9. tuple_uniq

      功能:丢弃元组中除成功归类的元素外的所有元素。

     

    18.10  String-Operators

    1. tuple_environment

      功能:读取一个或多个环境变量。

    2. tuple_regexp_match

      功能:利用公式提取子链。

    3. tuple_regexp_replace

      功能:用有规律的公式代替一个子链。

    4. tuple_regexp_select

      功能:选择符合公式的元组元素。

    5. tuple_regexp_test

      功能:测试一个字符串是否满足一个规则公式的要求。

    6. tuple_split

      功能:在预定义的独立字符间将字符串分离为子链。

    7. tuple_str_first_n

      功能:分割从第一个字符直到字符串元组外的位置“n”处。

    8. tuple_str_last_n

      功能:从字符串元组外位置“n”处开始分割所有的字符。

    9. tuple_strchr

      功能:前向搜索一个位于字符串元组内的字符。

    10. tuple_strlen

       功能:字符串元组中每个字符串的长度。

    11. tuple_strrchr

       功能:后向搜索一个位于字符串元组内的字符。

    12. tuple_strrstr

       功能:后向搜索一个位于字符串元组内的字符串。

    13. tuple_strstr

       功能:前向搜索一个位于字符串元组内的字符串。

    展开全文
  • HALCON常用算子(HALCON13.0)Chapter 9--Developdev_clear_window ( : : : )功能:清除活动图形窗口的内容dev_close_window ( : : : )功能:关闭活动图形窗口。dev_display ( Object : : : )功能:在现有图形窗口中...

    HALCON常用算子(HALCON13.0)


    Chapter 9--Develop

    • dev_clear_window ( : : : )功能:清除活动图形窗口的内容
    • dev_close_window ( : : : )功能:关闭活动图形窗口。
    • dev_display ( Object : : : )功能:在现有图形窗口中显示图像目标。

    Chapter 10--File

    10.1 Images

    
      
    • read_image ( : Image : FileName : )  功能:读取不同文件格式的图像。
    example: 
    (1)读一副图像:read_image(Image,'mreut') 
    (2)将3幅图像读入图像数组:read_image(Images,['ic0','ic1','ic2'])
    (3) read_image(Image,'E:/1.jpg')
    • read_sequence  功能:读取图像。
    • write_image ( Image : : Format, FillColor, FileName : )功能:用图形格式写图像。

    10.2 Misc

    
      
    • copy_file ( : : SourceFile, DestinationFile : )功能:复制一个文件到一个新的位置
    • delete_file ( : : FileName : )功能:删除一个文件
    • file_exists ( : : FileName : FileExists )功能:检查文件是否存在

    Chapter 11--Filters

    11.1 Arithmetic(算术)

    • abs_diff_image ( Image1, Image2 : ImageAbsDiff : Mult : )功能:计算两个图像的绝对偏差
    • abs_image ( Image : ImageAbs : : )功能:计算一个图像的绝对值(模数)。
    • add_image ( Image1, Image2 : ImageResult : Mult, Add : )功能:使两个图像相加。
    • div_image ( Image1, Image2 : ImageResult : Mult, Add : )功能:使两个图像相除。
    • invert_image ( Image : ImageInvert : : )功能:使一个图像反像。[invert:使...颠倒]
    • max_image ( Image1, Image2 : ImageMax : : )功能:按像素计算两个图像的最大值。
    • min_image ( Image1, Image2 : ImageMin : : )功能:按像素计算两个图像的最大小值。
    • scale_image ( Image : ImageScaled : Mult, Add : )功能:为一个图像的灰度值分级。
    • sub_image ( ImageMinuend, ImageSubtrahend : ImageSub : Mult,Add : )功能:使两个图像相减。

    11.3 Color

    • rgb1_to_gray ( RGBImage : GrayImage : : )功能:把一个RGB图像转变成一个灰度图像。
    • rgb3_to_gray ( ImageRed, ImageGreen, ImageBlue : ImageGray : : )功能:把一个RGB图像转变成一个灰度图像。
    • trans_from_rgb ( ImageRed, ImageGreen, ImageBlue : ImageResult1, ImageResult2, ImageResult3 : ColorSpace : )

     功能:把一个图像从RGB颜色空间转变成任意颜色空间。

    • trans_to_rgb ( ImageInput1, ImageInput2, ImageInput3 : ImageRed, ImageGreen, ImageBlue : ColorSpace : )

    功能:把一个图像从任意颜色空间转变成RGB颜色空间。

    11.4 Edges
    
      
    • edges_color   功能:使用Canny、Deriche或者 Shen 滤波器提取颜色边缘。
    •  edges_color_sub_pix功能:使用Canny、Deriche或者 Shen 滤波器提取子像素精确颜色边缘。
    • laplace ( Image : ImageLaplace : ResultType, MaskSize,FilterMask : ) 功能:使用有限差计算拉普拉斯算子。
    • laplace_of_gauss ( Image : ImageLaplace : Sigma : )  

    LoG-Operator (Laplace of Gaussian).功能:高斯的拉普拉斯算子。
    
      
    • prewitt_amp ( Image : ImageEdgeAmp : : )功能:使用Prewitt算子检测边缘(幅值)。
    • prewitt_dir ( Image : ImageEdgeAmp, ImageEdgeDir : : ) 功能:使用Prewitt算子检测边缘(幅值和相位)。
    • roberts ( Image : ImageRoberts : FilterType : )功能:使用Roberts滤波器检测边缘。
    • sobel_amp ( Image : EdgeAmplitude : FilterType, Size : )功能:使用Sobel算子检测边缘(幅值)。
    • sobel_dir ( Image : EdgeAmplitude, EdgeDirection : FilterType,Size : ) 功能:使用Sobel算子检测边缘(幅值和相位)。

    Chapter 23--Segmentation

    23.5 Threshold

    
      
    • auto_threshold ( Image : Regions : Sigma : )功能:根据直方图决定的阀值分割图像。
    • binary_threshold ( Image : Region : Method,LightDark : UsedThreshold )功能:使用二进制阀值分割图像。
    • char_threshold ( Image, HistoRegion : Characters : Sigma,Percent : Threshold )功能:为提取的字符产生一个分割阀值。
    • check_difference ( Image, Pattern : Selected : Mode,DiffLowerBound, DiffUpperBound, GrayOffset, AddRow, AddCol : )功能:一个像素一个像素的比较两幅图像。
    • dual_threshold ( Image : RegionCrossings : MinSize, MinGray,Threshold : )功能:对标记的图像做门限操作。
    • dyn_threshold ( OrigImage,ThresholdImage : RegionDynThresh : Offset, LightDark : )功能:利用局域阀值分割图像。
    • fast_threshold ( Image : Region : MinGray, MaxGray, MinSize : )功能:利用全局阀值快速将图像二值化。
    • histo_to_thresh ( : : Histogramm, Sigma : MinThresh, MaxThresh )功能:根据直方图决定灰度值阈值。
    • threshold ( Image : Region : MinGray, MaxGray : )功能:利用全局阀值分割图像。
    • threshold_sub_pix ( Image : Border : Threshold : ) 功能:根据子像素的准确性从一副图像中提取水平(平坦)交叉口。
    • var_threshold ( Image : Region : MaskWidth, MaskHeight,StdDevScale, AbsThreshold, LightDark : )
       功能:根据局域均值和标准偏差分析将图像二值化。
    • zero_crossing ( Image : RegionCrossing : : ) 功能:从一幅图像中提取零相交。
    • zero_crossing_sub_pix ( Image : ZeroCrossings : : )功能:根据子像素准确性从一幅图像中提取零相交。

    Chapter 28--XLD

    28.3 Features

    • area_center_points_xld ( XLD : : : Area, Row, Column )功能:被看做点云的轮廓(contour)和多边形(polygon)的面积和重心。
    • area_center_xld ( XLD : : : Area, Row, Column, PointOrder )功能:轮廓(contour)和多边形(polygon)的面积和重心。
    • diameter_xld ( XLD : : : Row1, Column1, Row2, Column2, Diameter ) 功能:两个轮廓(contour)或多边形(polygon)点间的最大距离。
    • dist_ellipse_contour_points_xld ( Contour : : DistanceMode,ClippingEndPoints, Row, Column, Phi, Radius1,Radius2 : Distances )功能:计算所有轮廓(contour)内的点到一个椭圆的距离。
    • dist_ellipse_contour_xld ( Contours : : Mode, MaxNumPoints,ClippingEndPoints, Row, Column, Phi, Radius1, Radius2 : MinDist,MaxDist, AvgDist, SigmaDist )功能:轮廓到一个椭圆的距离。
    • dist_rectangle2_contour_points_xld (Contour : : ClippingEndPoints, Row, Column, Phi, Length1,Length2 : Distances)功能:计算所有轮廓(contour)内的点到一个矩形的距离。
    • smallest_circle_xld ( XLD : : : Row, Column, Radius ) 功能:轮廓(contour)或多边形(polygon)的最小封闭圆。
    • smallest_rectangle1_xld ( XLD : : : Row1, Column1, Row2,Column2 ) 功能:平行与轮廓(contour)或多边形(polygon)的坐标轴的封闭矩形。
    • smallest_rectangle2_xld ( XLD : : : Row, Column, Phi, Length1,Length2 )功能:轮廓(contour)或多边形(polygon)任意方向的最小封闭矩形。

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyuqian199695/article/details/59056033
    展开全文
  • halcon算子

    2016-05-04 16:06:00
    halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上。 2.classify_class_gmm 功能:通过一个...
  • C#涂胶机运动控制,采集数据点halcon--motion,一个完整的C# halcon机器视觉运动控制,工控项目,很值得下载,绝对值
  • Halcon算子说明

    2019-03-15 14:56:33
    功能:计算一个图像的绝对值(模数)。 add_image 功能:使两个图像相加。 div_image 功能:使两个图像相除。 invert_image 功能:使一个图像反像。 max_image 功能:按像素计算两个图像的最大值。 ...
  • Halcon算子大全

    2019-08-15 10:41:07
    ##Halcon算子大全 Halcon算子大全 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上。 2.classify_class_gmm 功能:通过一...
  • Halcon一些功能算子

    万次阅读 2014-08-07 17:04:56
    虽然绝大部分时间都是在VC中使用HALCONHALCON的本身运算符很大都不会用到。但是这个资料还是很全。记录备查。 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个...
  • halcon算子大全

    千次阅读 2015-08-28 15:27:27
    功能:从HALCON数据库中删除一个图标。 2. dev_clear_window 功能:清除活动图形窗口。 3. dev_close_inspect_ctrl 功能:关闭一个控制变量的监视窗口。 4. dev_close_window 功能:关闭活动图形窗口...
  • Halcon 算子

    千次阅读 2014-05-08 13:54:15
    功能:从HALCON数据库中删除一个图标。 2. dev_clear_window 功能:清除活动图形窗口。 3. dev_close_inspect_ctrl 功能:关闭一个控制变量的监视窗口。 4. dev_close_window ...
  • Halcon机器视觉

    2020-06-24 08:35:27
    Halcon复习 算法篇 图像预处理 1图像的仿射变换与梯形更正 2感兴趣区域(ROI) 创建ROI:gen_rectangel(ROI_0,x0,y0,x1,y1) //从原图中分割ROI reduce_domain(srci_mg,ROI_0,dest_img) //显示 Dev_display(img) 3图像...
  • halcon开发必读

    2019-03-18 12:00:00
    关于HALCON的新手入门问题简答(1) 无论读入什么图像,读入图像显示效果明显和原始图像不一致,哪怕是从相机读入的图像,也是明显颜色差异。什么原因引起? 答:初步诊断是,显示的时候调用的颜色查找表存在...
  • tuple_mean(Array,Mean) 4、求数组元素的绝对值 tuple_abs(Array,Abs) 5、两个数组相加 tuple_add(Array1,Array2,Sum) 6、两个数组相减 tuple_sub(Array1,Array2,Sub) 5、选择数组里面一定范围的元素组成新数组 ...
  • Halcon部分算子整理说明

    千次阅读 2017-12-13 11:18:27
    dev_close_window() 关闭当前激活的窗口   read_image( : Image : FileName : ) ...Image:输出,读取完后在halcon所存放的变量名 FileName:图片路径,可以是多个路径,可以是绝对路径或者相对路径,还可以省略扩
  • HALCON学习之旅(六)

    2021-09-10 16:38:26
    HALCON学习之旅(六) 1、Halcon代码如何导出高级编程语言代码 + 配置Halcon/C++编程环境 2、Halcon连续采集相机图像 3、Halcon批量加载图像 4、Halcon设置自动保存程序 5、Halcon数据结构讲解
  • Halcon算子解释大全

    千次阅读 2018-09-30 12:03:42
    Halcon算子解释大全 Halcon/Visionpro视频教程和资料,请访问 重码网,网址: http://www.211code.com Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训...
  • Halcon-Matlab 图像匹配

    千次阅读 2015-04-20 16:13:09
    图像匹配 这是导师吩咐的第二个重点看的图像内容,也跟大家分享一下学习笔记吧。学习的材料主要是halcon的教程和Digital  Image Processing-Matlab version。
  • halcon算子介绍

    2014-08-27 14:55:12
    HALCON算子函数——Chapter 19 : XLD Chapter_19:XLD 19.1 Access 1. get_contour_xld 功能:返回XLD轮廓(contour)的坐标。 2. get_lines_xld 功能:返回一个XLD多边形(polygon)数据。 3. get_parallels_xld ...
  • halcon算子中文对照

    千次阅读 2018-01-17 14:53:00
     功能:读取二值图像或者HALCON区域。 2. write_region  功能:在文件中写入地域。   4.4 Text 1. close_all_files  功能:关闭所有打开的文件。 2.close_file  功能:关闭一个文本文件。 3....
  • HALCON程序设计

    2020-03-24 11:25:42
    *返回一个数组的所有元素的和 mean(a) *返回一定数量数组的平均值 cumul(a) *计算一个数组的累计和 median(a) *返回一个数组元素的中值 select_rank(a,i) *选择一个数组a中序号为i的元素 abs(a) *计算a数组的绝对值 ...
  • halcon算子中文解释

    2020-03-07 16:18:47
    halcon算子中文解释 comment ( : : Comment : )注释语句exit ( : : : )退出函数open_file ( : : FileName, FileType : FileHandle ) 创建( 'output' or 'append' )或者打开 ( output )文本文件fwrite_string ( ...
  • halcon中的常用算子

    2015-02-15 13:59:02
    HALCON中的常用算子的使用方法做详细介绍。
  • Halcon算子速查

    千次阅读 2016-03-06 18:29:41
    功能:从HALCON数据库中删除一个图标。 2. dev_clear_window 功能:清除活动图形窗口。 3. dev_close_inspect_ctrl 功能:关闭一个控制变量的监视窗口。 4. dev_close_window 功能:关闭活动图形...
  • HALCON 算子函数(五) Filter

    千次阅读 2013-07-19 18:04:46
    HALCON 算子函数——Chapter 5 : Filter 5.1 Arithmetic 1. abs_image 功能:计算一个图像的绝对值(模数)。 2. add_image 功能:使两个图像相加。 3. div_image 功能:使两个图像相除。 4. invert_image ...
  • Halcon模板匹配之Shape

    2021-03-15 10:41:12
    MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score) 参数说明: AngleStart, AngleExtent: 可以理解成给一个image从中间分成四个象限,一般AE是AS绝对值的二倍,也...
  • halcon技术数据

    2018-12-17 15:27:59
    算术运算:比例缩放,加,减,乘,绝对值,最大值,最小值,翻转,平方根 颜色变换:CIELAB,HSV,他的,YIQ,YUV,CIEXYZ,HLS ,他等 傅立叶变换:高速FFT;高斯,导数计算,的Gabor滤波器,带通,高通,通低滤 ...
  • Halcon功能算子

    2018-08-18 13:51:44
    功能:计算一个图像的绝对值(模数)。 2. add_image 功能:使两个图像相加。 3. div_image 功能:使两个图像相除。 4. invert_image 功能:使一个图像反像。 5. max_image 功能:按像素计算两个图像的最大...
  • Halcon数组常用操作

    千次阅读 2019-11-11 20:06:16
    1、求数组元素的最大值 tuple_max(Array,Max) 2、求数组元素的最小值 ...4、求数组元素的绝对值 tuple_abs(Array,Abs) 5、两个数组相加 tuple_add(Array1,Array2,Sum) 6、两个数组相减 tuple_su...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 276
精华内容 110
关键字:

halcon绝对值