一、基本原理

直接上图 灰度投影 顾名思义 也就是一部分区域的投影 如果是水平投影 那就是水平行方向所有灰度值相加再求均值,知道所有行都计算完毕,相同列也是一样。基本理论很简单 如果涉及到所选区域不是对其行列而旋转一定角度。则可以使用插值算法依次计算各个区域的灰度值,再进行该角度方向上的投影

gray,例程,投影,Halcon,灰度,projections

二、gray_projections算子

halcon特征提取(三)基于统计方式:gray_projections-分类器、神经网络、深度学习-少有人走的路

计算水平和垂直灰度值投影

​
gray_projections(Region, Image : : Mode : HorProjection, VertProjection)
​
** 功能:计算图片在rectangle1区域内的灰度投影
** Region:待处理区域
** image  待投影的灰度图
** Mode = 'simple',则在图像坐标轴的方向上执行投影
** 输出
** horizontalProjection  水平方向的灰度投影
** verticalProjection   竖直方向投影*如果选择了 Mode = 'simple',则在图像坐标轴的方向上执行投影,即:

数学原理:

如果选择了 Mode = 'rectangle',则在输入区域任意方向的最小封闭矩形的主轴方向上执行投影

三、案例


read_image (Image721, 'C:/Users/alber/Desktop/test/721.png')
rgb1_to_gray (Image721, Image721)
get_image_size (Image721, Width2, Height2)gen_rectangle1 (ROI_0, 103, 11, 202, 360)  // Width=360-11=350   Height=202-103=100
gen_rectangle1 (ROI_1, 23, 11, 222, 360)   // Width1=360-11=350   Height1=202-23=200reduce_domain (Image721, ROI_0, ImageReduced)
crop_domain (ImageReduced, ImagePart1)reduce_domain (Image721, ROI_1, ImageReduced3)
crop_domain (ImageReduced3, ImagePart3)get_image_size (ImagePart1, Width, Height) //350  100
get_image_size (ImagePart3, Width1, Height1) //350 200
* 做映射
* 得出的结果是 HorProjection 是100 个值  对应的就是高
* VertProjection 是350个值  对应的就是宽
* 'simple' 坐标轴
gray_projections (ImageReduced, ImageReduced, 'simple', HorProjection, VertProjection)* 转化为一维离散函数
create_funct_1d_array (HorProjection, Function)* 做平滑  去噪处理
* 1 是平滑系数
* 1 是迭代测试
smooth_funct_1d_mean (Function, 1, 1, SmoothedFunction)* 计算函数的一阶导函数和二阶导函数  'first' 一阶导数  second是二阶函数
derivate_funct_1d (SmoothedFunction, 'first', Derivative)* 计算一维函数的最大和最小所在的位置
local_min_max_funct_1d (Derivative, 'plateaus_center', 'false', Min, Max)
* 获取一维离散函数的x和y值
funct_1d_to_pairs (Derivative, XValues, YValues)gen_contour_polygon_xld (Contour1, XValues, YValues)create_funct_1d_array (VertProjection, Function2)
smooth_funct_1d_mean (Function2, 1, 1, SmoothedFunction2)
derivate_funct_1d (SmoothedFunction2, 'first', Derivative2)
local_min_max_funct_1d (Derivative2, 'plateaus_center', 'false', Min_2, Max_2)
funct_1d_to_pairs (Derivative2, XValues_2, YValues_2)
gen_contour_polygon_xld (Contour2, YValues_2,XValues_2)

其中计算一阶导数 和二阶导数

dev_update_off ()
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', WindowHandle)
dev_set_color ('black')
dev_set_line_width (2)X := []
for J := -127 to 128 by 1X := [X,J / 20.0]
endfor
tuple_length(X,len)
stop()* 创建一个(x,y)的函数
create_funct_1d_pairs (X, cos(X), Cos)plot_funct_1d (WindowHandle, Cos, 'x', 'cos(x)', 'red', ['axes_color','origin_x','origin_y'], ['black',0,0])
disp_continue_message (WindowHandle, 'black', 'true')* 求一介倒数
derivate_funct_1d(Cos,'first', Derivative)
plot_funct_1d (WindowHandle, Derivative, 'x', 'cos(x)', 'blue', ['axes_color','origin_x','origin_y'], ['black',0,0])derivate_funct_1d(Cos,'second', function_out)
plot_funct_1d (WindowHandle, function_out, 'x', 'cos(x)', 'green', ['axes_color','origin_x','origin_y'], ['black',0,0])

halcon 灰度投影相关推荐

  1. halcon灰度积分投影/垂直积分投影

    简介:关于灰度投影积分可以用到的场合很多,例如分割字符,分割尺子上的刻度等,适用于有规律的变化这些内容的检测.本文复现了论文<基于深度学习和灰度纹理特征的铁路接触网绝缘子状态检测>中灰度积 ...

  2. 基于灰度投影法的图片偏移测量

    目录 前言 一.灰度投影法简介 二.代码实现 总结 前言 前几天导师给了个需求,要求给出经过运动放大后的视频和原视频对应帧图片的整体偏移量,上网搜索,似乎光流法非常流行,但是还有一种灰度投影法看大家评 ...

  3. 用MATLAB对图形进行水平和垂直灰度投影

    水平灰度投影是指二维图像按列向x轴方向投影: 垂直灰度投影是指二维图象按行向y轴方向投影: 投影的结果可以看成是一维图像(一维数组) MATLAB代码如下: clear all clc %--- 从任 ...

  4. 电子稳像技术-灰度投影算法

    背景介绍 汽车的随机振动具有以下特点: 1.振动没有固定的周期,无法预测某一时刻t的振幅,速度和加速度 2.在相同条件下进行测试,各次记录的结果不可能完全一致 3.汽车高频振动对摄像机成像产生帧内模糊 ...

  5. python折痕检测_无纺布折痕检测(3)· 基于灰度投影的折痕检测

    - 算法思路 - (1)构造滤波器与原图卷积增强图像(2)灰度投影,构建垂直灰度投影函数,并与平滑后的函数进行 差分运算,超过一定阈值即为缺陷所在位置的列坐标(3)计算缺陷区域并显示 使用第一篇构造的 ...

  6. 简单BP网络识别数码表字符

    01数码识别 这学期的人工神经网络课程已经进行完了第三章内容,关于经典网络重要的BP(误差反向传播网络)是所有学习人工神经网络最先接触到的一个实用网络.它的原理相对比较简单,在很多平台中都非常容易实现 ...

  7. 通过FFT来计算螺旋线的匝数

    手边有两个螺旋线,它们是射频天线.下面使用图像处理的方法来获得它们对应的匝数. ▲ 两款天线对比 01基本算法原理 具体处理步骤: 1. 截取螺旋线的图片: 截取螺旋线的图频并旋转的水平方向. ▲ 截 ...

  8. 三维数组怎么排列_【连载5.3】三维测量算法GPU实现

    5 第五章 三维测量算法实时化研究 5.3三维测量算法GPU实现 本研究尝试使用CPU+GPU异构并行计算方法实现基于运动补偿的高速视觉三维测量算法,实现原理框图如图5.3所示.由基于GPU的CUDA ...

  9. 机器人视觉测量与控制

    机器人视觉的基本概念 1.摄像机标定(Camera Calibration):对摄像机的内部参数.外部参数进行求取的过程. 2.视觉系统标定(Vision System Calibration):对摄 ...

  10. 缺陷检测相关论文阅读总结(记录自己读过的论文主要内容/Ideas)

    缺陷检测相关论文阅读总结(记录自己读过的论文主要内容) Attention!!! 点击论文题目即可访问原文or下载原文PDF文件: 每篇文章的内容包含:内容总结.文章Ideas: 更多关于缺陷检测以及 ...

最新文章

  1. Android架构篇-3 网络接口封装
  2. 事件相机特征跟踪-EKLT方法
  3. Redis实现消息队列
  4. HDU1081:To The Max(最大子矩阵,线性DP)
  5. mysql事务概念_MySQL事务的概念
  6. jggrid应用于asp.net
  7. boost::gil模块沿 x 轴计算梯度的方法的示例
  8. 回归素材(part6)--机器学习系统设计
  9. 华为手机云闪付付款码如何截图_云闪付乘车码,它带着优惠又来了
  10. 再议指针和引用的一些事情吧
  11. twisted系列教程十七–用inlineCallbacks来管理callbacks
  12. docker 2376端口 CA 认证,并不能阻止服务器成为肉鸡
  13. SAP License:成本不是靠算出来的
  14. Apollo灰度发布
  15. 【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)
  16. How To Fix: SCP And SSH Login Prompt Is Very Sl...
  17. 8.3实例程序:平面阴影
  18. 后续:为LAMP添加XCache加速
  19. 产品经理日常工作之PRD文档
  20. AI健身,是消费者的伪命题还是资本的好生意?

热门文章

  1. 读书 | 少有人走的路心智成熟的旅程读后感
  2. javascript nonono
  3. 面试官最容易提出的20个问题
  4. python白平衡-树莓派摄像头Camera的使用
  5. 用模拟退火算法估价heston期权定价模型的五个参数
  6. 当代最值得收藏的画家作品_当代最具潜力和收藏价值的十大画家
  7. React中获取地址栏传参
  8. 雅虎市值_也许不算雅虎! 刚出来
  9. 李商隐和杜牧并称“小李杜”,他俩到底谁的成就高?
  10. 2021-02-23 根据RNA-seq测序数据判断文库类型和链特异性