灰度重心法提取光条纹中心

2023-11-01

灰度重心法提取激光光条纹中心其实是将光条纹截面的灰度值分布中的质心记作为光条纹的中心。
在一列线激光中先利用极值法求取光强最大的一点gmax,然后确定一个阀值K=gmax-g(g取10-20),在阈值两边判断大于K的元素,求出其重心位置作为光条纹的中心。
这里写图片描述
在线激光条纹的灰度分布图中,假设所有大于阈值K的点的像素坐标为Ui(i=0,1,2…)其相应的灰度值则为gi(i=0,1,2…),则光心的位置为:
这里写图片描述
由灰度重心法来求取线激光光条纹的中心,每一列线激光条纹的阈值都是不同的,即使线激光灰度分布不均匀或者发生了改变,也不会对线激光光条纹中心位置的确定带来很大的误差,提高了重心提取的精度。
下面附上Python代码:

import cv2
import numpy as np
#图像预处理
img = cv2.imread("D:\opencv_camera\digits\shiyan2\\20.jpg")
print(img.shape)
img=img[100:400,450:1000]
cv2.imshow('img',img)
cv2.waitKey(0)
emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret1,th1 = cv2.threshold(emptyImage3,100,255,cv2.THRESH_BINARY)
cv2.imshow('img',th1)
cv2.waitKey(0)
#灰度重心法提取光条纹公式函数
def Cvpointgray(img):
    x=[]
    for i in range(img.shape[1]):
        x0=0;y0=0
        for j in range(1,img.shape[0]):
            x0=x0+img[j,i]
            y0=y0+img[j,i]*j
        y=y0/x0
        y=round(y)
        x.append(y)
    return x
print(len(Cvpointgray(th1)))
print(Cvpointgray(th1))
print(sum(Cvpointgray(th1))/550)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

灰度重心法提取光条纹中心 的相关文章

  • 保存原始rgb8bit 数据到bmp文件

    就填充方式来说 跟24位位图基本是一样的 不同的是bitcolor 位设置的颜色位数要填充为8 而不是24 百度了很久 目前只能是勉强能保存成图片 能正常打开 但目前还有未能理解的问题 列举如下 如果有知道的朋友 希望能得到您的慷慨解惑 感
  • 深度学习训练之optimizer优化器(BGD、SGD、MBGD、SGDM、NAG、AdaGrad、AdaDelta、Adam)的最全系统详解

    文章目录 1 BGD 批量梯度下降 2 SGD 随机梯度下降 2 1 SGD导致的Zigzag现象 3 MBGD 小批量梯度下降 3 1 BGD SGD MBGD的比较 4 SGDM 5 NAG 6 AdaGrad Adaptive Gra
  • c#图像几何特征匹配

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks using Ope
  • Image Processing图像处理(对比俩张图像的差异并且在图上标注出来)

    图像处理是构建所有计算机视觉的基础 按照我的图像处理指南使用OpenCV库学习计算机视觉的基础知识 SSIM进阶 利用python openCV将图片的差异性画框展示出来 诀窍是学习如何准确地确定在 x y 坐标位置上 图像的差异在哪里 使
  • Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java Tesseract OCR对图像进行字符识别 亲测可行 1 下载tesseract ocr 中文语言包并安装 2 命令行对图片进行识别及效果图 3 Java调用Tesseart OCR 3 1 效果图 3 2 源码
  • MATLAB实现五种边缘检测

    一 原理 常用的边缘检测算法有拉普拉斯边缘检测算法 Robert边缘检测算子 Sobel边缘检测算子 Prewitt边缘检测算子 Canny边缘检测算子 二 代码 filename pathname uigetfile jpg bmp gi
  • 辐射强度、辐亮度、辐照度——一文搞定

    先写定义 上图是从网上看到的并重写的 其中我们最容易混淆的就是辐射强度 辐亮度 辐照度的关系 如果我们没有接触专业领域 那么我们可能接触最多的就是辐射强度 而这种现象是不对的 因为我们一般考虑的均为这光好强呀 照得屋里特别亮 这里的光亮 我
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • 使用python实现简单全连接神经网络

    最近在学习神经网络的相关知识 特在此做一个笔记 python语言的功能很强大 可以使用很少的代码实现很多功能 因此大家如果想研究深度学习的话 一定要懂得python语言 这篇笔记记录我的第一次使用python编写神经网络代码的过程 其中代码
  • 【从小项目学图片处理】#1 答题卡识别

    说明 项目皆参考于网上 代码也有大部分参考原文 仅用于学习和练习图像处理操作 项目原文 Bubble sheet multiple choice scanner and test grader using OMR Python and Op
  • (详细步骤和代码)利用A100 GPU加速Tensorflow

    利用A100 GPU加速Tensorflow NVIDIA A100 基于 NVIDIA Ampere GPU 架构 提供一系列令人兴奋的新功能 第三代张量核心 多实例 GPU MIG 和第三代 NVLink Ampere Tensor C
  • 【Python-利用动态二维码传输文件(二)】实现文件二进制读取、利用base64编码把文件拆分成多张二维码、重组拆分后的文件并验证。

    为了使用二维码传输文件 上一篇文章已经实现了获取信息存入二维码并打印 由于单个二维码存储的信息量是有限的 而且文件一般也比较大 所以必须把文件先进行拆分 拆分后一块一块信息存入多张二维码中 最后通过图像识别 把所有二维码信息准确读取后再重新
  • 图像处理神器 ImageMagick 命令介绍

    安装完 ImageMagick 打开命令行 输入相应命令即可处理图像 所有命令前面都要加 magick 网上的教程都没说 也可能是我自己环境没配置吧 说明 内的命令表示是可选的 内表示是示例或者代号而已 magick convert sou
  • 图像二值化

    文章目录 1 图像二值化 2 图像二值化方法及Python实现 2 1 简单二值法 2 2 平均值法 2 3 双峰法 2 4 OTSU法 3 opencv python中二值化方法的应用 3 1 简单阈值分割 Simple Threshol
  • 图像的FFT变换

    一 实验设备 计算机 matlab软件 二 实验目的 1 理解并掌握图像的FFT变换的原理 2 学习使用matlab对图像进行FFT变换 三 实验原理 图像fft变换可以将图像空间域变为频率域 进而对频率域图像进行操作 这样会使操作变得简单
  • MEF:COA-NET

    COA NET COLLABORATIVE ATTENTION NETWORK FOR DETAIL REFINEMENT MULTI EXPOSURE IMAGE FUSION COA NET 用于细节细化多曝光图像融合的协作关注网络 近
  • 《Pyramid Scene Parsing Network》

    Pytorch代码 1 研究问题 目前基于FCN的语义分割网络缺乏利用不同尺度全局上下文信息的能力 对于复杂图像的语义分割 如ADE20K数据集 存在问题 注 感受野的大小可以粗略表示为使用上下文信息的程度 2 研究方法 提出了金字塔场景理
  • 图像处理——我理解的傅里叶变换

    1 傅里叶变换的理解 傅里叶变换的相关数学公式目前还没有搞懂 先不整那个东西 我们主要是研究傅里叶变换的一些思想和应用 这个思想起源于牛顿研究那个三棱镜 白光透过棱镜之后会被分解为七种颜色的光 这些光叠加又能形成白光 所以说可以把一种事物分
  • ETC纹理压缩

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • Matlab图像处理系列——图像复原之噪声模型仿真

    微信公众号上线 搜索公众号 小灰灰的FPGA 关注可获取相关源码 定期更新有关FPGA的项目以及开源项目源码 包括但不限于各类检测芯片驱动 低速接口驱动 高速接口驱动 数据信号处理 图像处理以及AXI总线等 本节目录 一 图像复原的模型 二

随机推荐

  • HBase的数据热点和Hbase常见避免热点问题的方法

    只要使用过 听说过HBase的人 我想对HBase的数据热点想必也不会陌生 数据热点是如何出现的 这得从HBase的存储结构说起 对于HBase详细的存储结构可以上网搜一下 这里就不补充了 我们只需要知道 我们的HBase的表会被划分为1个
  • 【模型部署】c++调用tensorRT的模型(engine)

    将分割模型就行腾搜人RT转化后得到engine 该博客主要是针对c 调用tensorRT的模型文件engine 文章目录 1 框架 2 main tensorRT exe 2 1 LoadCathodeHeadEngine 读取模型 2 2
  • odoo报错:AttributeError: ‘_unknown‘ object has no attribute ‘id‘

    在开发中遇到的这个问题 AttributeError unknown object has no attribute id 1 当在一个模块中写了一个many2one字段 例如a fields many2one base repair 基础
  • TTL电平和CMOS电平总结

    转载自 https blog csdn net godloveyuxu article details 72965351 1 TTL电平 输出高电平 gt 2 4V 输出低电平 lt 0 4V 在室温下 一般输出高电平是3 5V 输出低电平
  • R数据科学-第4章使用tibble实现简单数据框

    下面一个部分将介绍数据处理 将数据以合适的形式导入R 从而进行可视化和建模 tibble是一种简单数据框 其更易于在tidyverse中使用 一 使用与创建 1 将数据框转换为tibble gt library tidyverse gt a
  • SpringBoot2.x 集成Activiti6.xs :java.lang.ArrayStoreException: sun.reflect.annotation.***

    今天使用SpringBoot2 x 版本集成Activiti 6 x 启动Application java 程序 提示如下错误信息 org springframework beans factory BeanCreationExceptio
  • css隐藏状态,仅使用CSS淡出后隐藏元素

    CSS page moz animation name fadeIn webkit animation name fadeIn ms animation name fadeIn animation name fadeIn moz anima
  • IDEA-使用插件远程连接Redis(收费与免费插件)

    前言 IDEA连接Redis可视化 可以在IDEA中 删除存储的缓存等操作 使用 1 收费 点击工具栏的File gt Settings gt Plugins 然后进行搜索Redis 我这里下载过了 然后点击Install进行下载 下载好后
  • 《推荐系统实践》第二章 利用用户行为数据

    2 1 用户行为数据简介 在电子商务网站中行为主要包括网页浏览 购买 点击 评分和评论等 用户行为在个性化推荐系统中一般分两种 显性反馈行为 explicit feedback 和隐性反馈行为 implicit feedback 显性反馈行
  • ajax的responseText是什么东西

    你向ajax后台的程序发送xmlhttp请求的时候 后台程序接到请求会进行处理 处理结束后 可以返回一串数据给前台 这个就是responseText 一般在后台程序C 中是Response Write 字符串 php中使用的是echo 就是
  • JVM系列之类加载

    前言 虚拟机把描述类的数据从Class文件加载到内存 并对数据进行校验 转换解析和初始化 最终形成可以被虚拟机直接使用的Java类型 这个过程就称为JVM的类加载机制 今天我们主要从下面两个方面说下类加载 类加载时机和类加载过程 类加载时机
  • 单元测试打桩,通俗易懂解释。

    在软件开发中的单元测试过程中 单元测试打桩通常是一种模拟或替代正在被测试的组件或系统的策略 在单元测试打桩过程中 测试代码使用一个 虚拟 实现来替代掉实际组件或系统的某些部分 从而可以进行封闭式的测试 简单来说 单元测试打桩是一种 模拟卡
  • esp8266&点灯科技&arduino

    ESP8266 点灯科技 arduino esp8266实现温度传感器 利用超声波传感器测距与舵机控制 ESP8266驱动DS18B20 ESP8266与DS18B20的硬件连接 DS18B20引脚排列 3 读取一次DS18B20温度数据
  • 记录-跨域的形成和跨域方法

    1 什么是跨域 根据浏览器的同源策略 凡是发送请求Url的协议 域名 端口三者之间任意一与当前页面地址不同即为跨域 同源策略 同域名 domain或IP 同端口 同协议视为同一个域 一个域内的脚本仅仅具有本域内 的权限 可以理解为本域脚本只
  • 【原创】深度学习第18弹:基于MobileNet的手势识别

    一 链接 原创 深度学习第18弹 基于MobileNet的手势识别 二 效果视频 基于神经网络MobileNet的手势识别 个人网站 https www deepvisionzero com 微信公众号 DeepVisionZero
  • 如何求数组中两个元素的最小距离(两种方法)

    给定一个数组 数组中含有重复的元素 给定两个数字num1 num2 求这两个数字在数组中出现的位置的最小距离 分析 对数组双重遍历 找出最小距离 但是这种方法效率比较低 由于在求距离时只关心num1 num2这两个数 因此只需要对数组进行一
  • 嵌入式开发——常见的存储器分类和特性介绍

    1 存储器的组成 存储器大体上由 存储颗粒 控制电路 组成 存储颗粒负责存储数据 控制电路负责管理存储颗粒和对外交换数据 如果从存储颗粒上进行分类 就是以是否掉电丢失 是否随机寻址 是可读还是可写 是否需要初始化等标准进行分类 如果从控制电
  • 32_STM32内部温度传感器实验

    目录 内部温度传感器简介 STM32ADC对应引脚 内部温度传感器使用注意使用事项 开启内部温度传感器步骤 实验源码 内部温度传感器简介 内部温度传感器框图 从图上可以看出温度传感器可通过TSVREFR控制位连接到ADC的固定通道16 温度
  • hive update和delete报错Attempt to do update or delete using transaction manager

    转载自 levy cui 默认在hive中没有默认开启支持单条插入 update 更新以及删除 delete 操作 需要自己配置 而在默认情况下 当用户如果使用update和delete操作时 会出现如下情况 hive gt update
  • 灰度重心法提取光条纹中心

    灰度重心法提取激光光条纹中心其实是将光条纹截面的灰度值分布中的质心记作为光条纹的中心 在一列线激光中先利用极值法求取光强最大的一点gmax 然后确定一个阀值 gmax g 取10 20 在阈值两边判断大于 的元素 求出其重心位置作为光条纹的