精华内容
下载资源
问答
  • Halcon中实现旋转的方式由两种。一种是rotate_image,该方式实现简单,但只能绕中心旋转。二是affine_trans_image,该方式实现较复杂,但是可以实现绕任意位置的旋转。

      Halcon中实现旋转的方式由两种。一种是rotate_image,该方式实现简单,但只能绕中心旋转。二是affine_trans_image,该方式实现较复杂,但是可以实现绕任意位置的旋转。

    1 rotate_image

    *ImageImageRotate分别是输入和输出图像
    *Phi是输入的旋转度数
    *interpolation是内插方式,默认为'constant' 
    rotate_image(Image : ImageRotate : Phi, Interpolation : ) 

    2 affine_trans_image

      该方式实现旋转需要3句代码。需要特别注意的是,hom_mat2d_rotate中的Px是通过Row值来传递,Py值通过Col值来传递。

    *开辟一个旋转矩阵
    (1)hom_mat2d_identity (HomMat2D)
    *为旋转矩阵赋值
    *HomMat2D是输入的旋转矩阵
    *Phi是输入的旋转角度
    *Px和Py分别是输入的旋转中心x坐标值和y坐标值
    *HomMat2DRotate是输出的旋转矩阵
    (2)hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)
    *实施旋转
    *Image : ImageAffinTrans分别为输入输出图像
    *HomMat2D是赋值后的旋转矩阵。注意:是赋值后的
    *Interpolation是内插方式,默认为'constant' 
    *AdaptImageSize是bool变量,判断输出图像的大小是否发生变化
    (3)affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : ) 
    展开全文
  • 1、reduce_domain(Image, Region : ImageReduced : : ) 在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 dilation_circle (RegionClipped, RegionDilation, 2.5) reduce_domain ...

    1、reduce_domain(Image, Region : ImageReduced : : )

          在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 

                      dilation_circle (RegionClipped, RegionDilation, 2.5)
                       reduce_domain (Image, RegionDilation, ImageReduced)

    2、图像处理轮廓时所处理的轮廓必须位于图中,否则轮廓转区域,不在图中的那一部分轮廓不能转为区域(第15天,34课)

    3、get_shape_model_contours(第15天,34课)

          该算子得到的模板轮廓位置位于(0,0),注意仿射变换时模板位置的设置设为(0,0)

    4、hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)

          hom_mat2d_scale算子既可以缩放也可以放大,看sx和sy所设置的值,如果大于1则为扩大,如果小于1则为缩放

    dev_close_window ()
    dev_open_window (0, 0, 812, 812, 'white', WindowID)
    dev_set_color ('black')
    * Draw with the mouse an arbitrary region into the window
    draw_region (Region, WindowID)
    *创建一个齐次二维转换矩阵
    hom_mat2d_identity (HomMat2DIdentity)
    *将旋转添加到齐次二维转换矩阵中,绕点256,256旋转30度(正值为顺时针)
    hom_mat2d_rotate (HomMat2DIdentity, 30, 256, 256, HomMat2DRotate)
    *将缩放添加到齐次二维转换矩阵中,以点256,256为基点,扩大X轴0.5,Y轴扩大0.5倍
    hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)
    *区域根据齐次二维转换矩阵中的参数要求进行仿射变换,坐标移动到256,256,以点(256,256为基点旋转30度)扩大0.5倍
    affine_trans_region (Region, RegionAffineTrans, HomMat2DScale, 'nearest_neighbor')
    
    dev_clear_window ()
    dev_set_draw ('margin')
    dev_set_color ('red')
    dev_display (Region)
    dev_set_color ('green')
    dev_display (RegionAffineTrans)
    dev_close_window ()
    dev_open_window (0, 0, 812, 812, 'white', WindowID)
    dev_set_color ('black')

          

    展开全文
  • Halcon几何变换

    2020-12-24 20:41:05
    1. 仿射变换 HALCON中由算子 hom_mat2d_identity, hom_mat2d_scale, hom_mat2d_rotate, ...affine_trans_image affine_trans_region affine_trans_pixel affine_trans_point_2d affine_trans_p

    1. 仿射变换

    HALCON中由算子

    • hom_mat2d_identity,
    • hom_mat2d_scale,
    • hom_mat2d_rotate,
    • hom_mat2d_translate,
    • hom_mat2d_slant

    或者 vector_angle_to_rigid 生成仿射变换矩阵。

    由算子

    • affine_trans_image
    • affine_trans_region
    • affine_trans_pixel
    • affine_trans_point_2d
    • affine_trans_point_3d
    • affine_trans_contour_xld
    • affine_trans_polygon_xld

    完成图像、区域、坐标点、XLD轮廓的仿射变换

    2. 投影变换

    HALCON中由算子

    • hom_mat3d_identity
    • hom_mat3d_scale
    • hom_mat3d_rotate
    • hom_mat3d_translate

    或者 vector_to_hom_mat3d 生成投影变换矩阵。

    由算子

    • projective_trans_image
    • projective_trans_region
    • projective_trans_pixel
    • projective_trans_point_2d
    • projective_trans_point_3d
    • projective_trans_contour_xld

    完成图像、区域、坐标点、XLD轮廓的投影变换

     

    展开全文
  • 在Halcon中,通过affine_trans_imageaffine_trans_region、hom_mat2d_identity、hom_mat2d_rotate等算子实现图像的仿射变换。 示例程序如下: * 图像仿射变换 * 读取图像 read_image(src,'fabrik') * 获取图像...

    图像几何变换-仿射变换

    在Halcon中,通过affine_trans_imageaffine_trans_regionhom_mat2d_identityhom_mat2d_rotate等算子实现图像的仿射变换。
    示例程序如下:

    * 图像仿射变换
    
    * 读取图像
    read_image(src,'fabrik')
    
    * 获取图像大小
    get_image_size(src,width,height)
    
    * 生成图像大小的矩形
    gen_rectangle1(rectangle,0,0,height,width)
    
    * 区域裁剪
    reduce_domain(src,rectangle,src_reduced)
    
    * 中心求取
    area_center(rectangle,area,row,column)
    
    * 角度转换为灰度
    tuple_rad(-45,Rad)
    
    * 放射矩阵计算
    vector_angle_to_rigid(row,column,0,row,column+50,Rad,HomMat2D)
    
    * 图像旋转
    affine_trans_image(src_reduced,src_affine_trans,HomMat2D,'constant','false')
    affine_trans_region(rectangle,region_affine_trans,HomMat2D,'nearest_neighbor')
    
    * 直接定义旋转
    hom_mat2d_identity(H1)
    area_center(src,area_1,row3,column3)
    hom_mat2d_rotate(H1,Rad,column,row,HomMat2DRotate)
    affine_trans_image(src_reduced,src_affine_trans_1,HomMat2DRotate,'constant','false')
    
    

    原图:
    在这里插入图片描述
    程序运行结果:
    在这里插入图片描述

    展开全文
  • Halcon自己写的方法,旋转图像任意角度,保证图像的完整性,保证图像边角不被裁剪掉了. .Halcon自带旋转图像算子Rotate_ImageAffine_Trans_Image都不能保证图像完整性
  • affine trans. 分析

    千次阅读 2014-06-26 16:54:55
    affine_trans_region (Region, RegionAffineTrans, HomMat2DRotate, 'false') ***求取区域方向和中心点坐标; 先进行阈值处理,提取Region,使用orientation_region求取Region的方向...
  • threshold_sub_pix、vector_angle_to_rigid、affine_trans_contour_xld、segment_contours_xld、sort_contours_xld、get_contour_global_attrib_xld、select_contours_xld、hom_mat2d_identity、hom_mat2d_slant、...
  • 目录affine_trans_imageaffine_trans_image_sizeconvert_map_typemap_imagemirror_imagepolar_trans_image_extpolar_trans_image_invprojective_trans_imageprojective_trans_image_sizerotate_imagezoom_image_...
  • Halcon中实现平移

    千次阅读 2020-10-11 15:09:50
    affine_trans_image​​​​​​​ read_image (Image, 'printer_chip/printer_chip_01') dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image) hom_mat2d_identity (HomMat2...
  • halcon算子讲解

    2019-04-17 10:56:54
    1.rotate_image *Image和ImageRotate分别是输入和输出图像 *Phi是输入的旋转度数 *interpolation是内插方式,默认为'constant' ...2.affine_trans_image: 该方式实现旋转需要3句代码。需要特别注意的是,h...
  • halcon图像仿射变换原则

    千次阅读 2019-05-28 21:19:29
    affine_trans_image (Image, ImageAffineTrans, HomMat2D , 'constant', 'false') Image----输入图像 ImageAffineTrans-----仿射变换后图像 HomMat2D------变换矩阵 'constant'----插值方式 'false'---...
  • Halcon旋转图像任意角度 不被裁剪

    千次阅读 2020-04-02 14:12:23
    Halcon旋转图像任意角度,保证图像完整性边角不被裁剪,原...optimize_aop ('affine_trans_image', 'byte', 'no_file', ['file_mode','model','parameters'], ['nil','threshold','false']) set_system ('paralleli...
  • HALCON算子函数——Chapter 17 : Tools

    千次阅读 2015-07-29 20:18:05
    1. affine_trans_pixel  功能:对像素坐标轴进行任意的仿射二维变换。 2. affine_trans_point_2d  功能:对点进行任意的最简二维变换 3. bundle_adjust_mosaic  功能:对一幅图像的嵌合体采取一...
  • HALCON算子函数总结(下)

    千次阅读 2020-06-19 10:55:54
    affine_trans_pixel 功能:对像素坐标轴进行任意的仿射二维变换。 affine_trans_point_2d 功能:对点进行任意的最简二维变换 bundle_adjust_mosaic 功能:对一幅图像的嵌合体采取一系列调整。 hom_mat2d_compose ...
  • HALCON算子函數——Chapter 17 : Tools

    千次阅读 2012-02-11 15:47:08
    http://blog.csdn.net/think_fast/article/details/7011468  Chapter_17:Tools 17.1  2D-Transformations 1. affine_trans_pixel   功能:對像素坐標軸進行任意的仿射... affine_trans_point_2d
  • 第4章 4.3 几何变换

    2021-02-03 12:31:56
    写在前面 前期的几篇写的太啰嗦了,各种代码和贴图,像流水账,关键学习效率太低,不连贯!... affine_trans_image() 其中,变换矩阵定义的算子为 hom_mat2d_identity(),有无必要采用不同的插值方法或变换...
  • [1992] a survey of image registration techniques   [1996 MIA] Multi-modal volume registration by maximization of mutual information [1997 IJCV] Alignment by Maximization of Mutual Information ...
  • Halcon-GPU加速算子

    2020-07-19 09:39:59
    Halcon是一款封装很完美的库,但个别算子优化的还是不尽人意,比如立体匹配,比如训练模型,今天介绍一种方法,可以充分利用PC的硬件资源加速我们的例程. ...这里我测试的是‘affine_trans_image’ 4.开启..
  • get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, 'black', WindowHandle) set_display_font (WindowHandle, 16, 'mono', 'true', 'false') dev_set_color ('...
  • halcon的图像旋转(区域旋转)

    千次阅读 2019-07-12 09:13:53
    关键算子: orientation_region ... affine_trans_region 测试图片: halcon代码: *此例子将图中没有偏移的形状参照旋转的形状进行旋转 read_image (Image, 'D:/Halcon-WorkSpaces/Test/...
  • [2011 TIP] HAIRIS: A Method for Automatic Image Registration Through Histogram-Based Image Segmentation   翻译 HAIRIS:一种基于直方图的图像分割自动图像配准的方法 —— 作者:Hernâni Gonç...
  • hom_mat2d_identity、hom_mat2d_rotate、hom_mat2d_translate、hom_mat2d_scale、affine_trans_point_2d、vector_to_rigid仿射变换; gen_contour_polygon_xld;绘制十字线distance_pp求取两点距离。
  • affine_trans_image (ImageReduced, ImageAffineTrans, HomMat2DRotate, 'constant', 'false') ![图片说明](https://img-ask.csdn.net/upload/201904/10/1554877038_700110.jpg) ``` 然后旋转正了,边上的字就...
  • affine_trans_region 测试图片: halcon代码: *此例子将图中没有偏移的形状参照旋转的形状进行旋转 read_image (Image, 'D:/Halcon-WorkSpaces/Test/Image/test14.png') rgb1_to_gray ...
  • 示例:affine_trans_region.hdev 单位矩阵hom_mat2d_identity (HomMat2DIdentity) 平移矩阵hom_mat2d_translate() 旋转矩阵hom_mat2d_rotate(HomMat2DIdentity, -0.3, 256, 256, HomMat2DRotate) ...
  • 原理:图像上的XY坐标经过旋转,平移后映射得到对应的机械手坐标(XY); 用到的Halcon主要算子: A1:求解变换矩阵,获取图像坐标点和机械手坐标点...affine_trans_point_2d(HomMat2D,ImageRow,ImageColumn2,Wrd_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,116
精华内容 446
关键字:

affine_trans_image