*老生常谈
read_image (Image, a)
rgb1_to_gray (Image, GrayImage)
dev_display (GrayImage)
* 首先要把它转化为灰度图,在机器视觉中,大部分的图像处理算子都是建立在灰度图上的,所以gray(灰度图)是标志性存在的*转化为灰度图后,就要进入正式的图像处理了,先来一波阈值分割auto_threshold (GrayImage, Regions, 24.4)
*auto_threshold 算子是基于直方图的自动阈值分割方法,第三个参数的作用是一个平滑算子,在这次的使用中,效果不是很好,分析原因主要是对比不够强烈,算子使用前后没有明显区分
threshold (GrayImage, Region, 170, 255)
*threshold 是手动设置阈值的算子,在halcon中查看阈值可以在鼠标移至照片上,按下Ctrl键,便会实时显示当前灰度值
*binary_threshold (GrayImage, Region, 'smooth_histo', 'light', UsedThreshold)
*binary_threshold 在这里的使用中,遥控器左下角有些许噪声会干扰
*阈值分割后,常见的做法就是连通区域
connection (Region, ConnectedRegions)
*然后在这里,明显的可以通过面积特征来筛选就可以
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 1.22555e+06)
dev_clear_window ()
dev_display (SelectedRegions)*在select_shape_std 算子中,面积大小可以通过halcon的"打开特征检测"菜单来查看*提取之后填充
fill_up (SelectedRegions, RegionFillUp)
*截取带有字符的区域,如果上边不填充,这里直接截取区域的话,会漏掉字符部分
reduce_domain (GrayImage, RegionFillUp, ImageReduced)
*区域截取之后,再通过阈值分割来找到字符
fast_threshold (ImageReduced, Region1, 0, 100, 20)
*先把字符区域放平整,分割出去','
orientation_region (Region1, Phi)
*转换成正常角度,把逗号分割出去
area_center (Region1, Area, Row, Column)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, -0.5*3.14, HomMat2D)
affine_trans_region (Region1, RegionAffineTrans, HomMat2D, 'nearest_neighbor')*去除','区域,在这里考虑使用面积筛选
*腐蚀-膨胀-连通处理*筛选
closing_circle (RegionAffineTrans, RegionClosing, 3.5)
dilation_rectangle1 (RegionClosing, RegionDilation, 1, 11)
connection (RegionDilation, ConnectedRegions1)
******这里的两个筛选还是有区别的,注意区分
select_shape_std (ConnectedRegions1, SelectedRegions1, 'max_area', 150)
select_shape (ConnectedRegions1, SelectedRegions2, 'area', 'and', 150, 99999)
****把未去除逗号区域旋转
affine_trans_region (Region1, RegionAffineTrans1, HomMat2D, 'nearest_neighbor')
*求交集
intersection (SelectedRegions2, RegionAffineTrans1, RegionIntersection)sort_region (RegionIntersection, SortedRegions, 'first_point', 'true', 'row')
*有字符连接在一起的情况,要分割开来
*首先寻找特征,根据面积呢,是不合适了,在这里,我们选择通过矩形边长来吧select_shape (SortedRegions, SelectedRegions3, 'rect2_len1', 'and', 30, 99999)
*膨胀
closing_circle (SelectedRegions3, RegionClosing1, 0.5)
dilation_rectangle1 (RegionClosing1, RegionDilation1, 1, 11)
connection (RegionDilation1, ConnectedRegions2)*单个字符分割后,再求交集
intersection (ConnectedRegions2, SelectedRegions3, RegionIntersection1)*得到一个空区域
gen_empty_obj (EmptyObject)
concat_obj (EmptyObject, RegionIntersection1, EmptyObject)difference (RegionIntersection, RegionIntersection1, RegionDifference)concat_obj (RegionDifference, EmptyObject, ObjectsConcat)count_obj (ObjectsConcat, Number)a:=[]
l1:=[]
l2:=[]
for i := 1 to Number by 1select_obj (ObjectsConcat, ObjectSelected, i)area_center (ObjectSelected, Area1, Row1, Column1)a:=[a,Area1,'\t']smallest_rectangle2 (ObjectSelected, Row2, Column2, Phi1, Length1, Length2)l1:=[l1,Length1,'\t']l2:=[l2,Length2,'\t']
endfor*新建txt
open_file ('0711.txt', 'output', FileHandle)fwrite_string (FileHandle, a)
fnew_line (FileHandle)fwrite_string (FileHandle, l1)
fnew_line (FileHandle)fwrite_string (FileHandle, l2)
fnew_line (FileHandle)

#s/

halcon入门之_提取遥控器字符并且写入txt文本相关推荐

  1. html _ 提取html片段内的纯文本

    var html = "html字符串"; var textstr =html.replace(/<[^>]*>|/g,"");//纯文本 转 ...

  2. python写入文件中文乱码_记一次python写入txt文件正常,但是写入csv文件中文乱码问题...

    今天在将已经爬取完存成txt文件批量导入保存csv格式时,文本中的汉字能够正常正常显示,但是用正常的方法保存到csv中就成了乱码. 最开始的写法:with open(city+'.csv','a+') ...

  3. python 写txt 换行_写入txt文本的内容为什么没换行效果?

    PHP把内容写入文件,并每次自动换行 weixin_4089680029712018-07-20 Java文本追加.换行.输出到TXT u01422837514692015-12-15 Android ...

  4. HEVC里面CU与TU打印到屏幕及提取到txt文本

    测试模型为HM16.5 在解决方案资源管理器里面找到项目TlibEncoder,会看到里面有个源文件TencCU.cpp (1)打印到屏幕 (在TencCU.cpp的xCompressCU函数(237 ...

  5. 如何批量提取 PDF 文档内容,将 PDF 格式文档转为 Txt 文本格式

    概要:PDF 文档常常用来阅读.预览或者存档一些资料,PDF 支持的内容也是比较丰富的.可以支持图片.文本等多种类型的元素.那有时候我们就需要将一些纯文本的 PDF 文档中的文字提取出来,转为一个 T ...

  6. python提取发票信息发票识别_(附完整python源码)基于tensorflow、opencv的入门案例_发票识别二:字符分割...

    (附完整python源码)基于tensorflow.opencv的入门案例_发票识别二:字符分割 发布时间:2018-05-14 20:16, 浏览次数:1201 , 标签: python tenso ...

  7. Halcon入门--提取图片对象个数

    Halcon入门–提取图片对象个数 上图是我从其他博客找到的图片,可作为练习的目标图片 *读取图片 read_image (Image, 'C:/Users/soft/Pictures/2019051 ...

  8. python爬虫数据提取_入门Python爬虫——提取数据篇

    原标题:入门Python爬虫--提取数据篇 作者: 李菲 来源:人工智能学习圈 前言 在提取数据这一环节,爬虫程序会将我们所需要的数据提取出来.在上一篇文章<入门Python爬虫 -- 解析数据 ...

  9. sae mysql 同步本地_MYSQL入门之三_将本地MySQL数据导入SAE数据库_MySQL

    bitsCN.com MYSQL入门之三_将本地MySQL数据导入SAE数据库 1. MySQL字符集 MySQL的默认字符集是latin1,将本地MySQL库导出成sql,再导入到SAE的MySQL ...

  10. ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区...

    原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...

最新文章

  1. LeetCode简单题之Fizz Buzz
  2. ThingJS:部署物联网不用买买买,互联互动是切入点
  3. Prufer序列相关
  4. html-loader无效,html-loader加载失败
  5. CF618F-Double Knapsack【结论】
  6. Linq 中按照多个值进行分组(GroupBy)
  7. C#调用matlab,matlab图形Figure嵌入Winform窗体
  8. Keil5手动添加Device
  9. 利用宝塔面板部署SSM项目
  10. 物理 常见力与牛顿三定律
  11. 运兴ETF期权投教之50ETF期权新手雷区
  12. 舔砖加瓦(java)之java面向对象
  13. 平面解析几何----过抛物线上一点作互相垂直的两条直线交抛物线与点AB,AB恒过定点P的坐标
  14. html模仿微信好友列表,微信的模拟登陆及获取好友列表
  15. 多个电子面单接口平台分析和对接
  16. Mac M1 (Apple Silicon) CH340 驱动
  17. 如何解决问题并给出解决方案
  18. e树企业管理系统 服务器连接,e树企业管理系统erp软件
  19. 实现以form-data参数发送post请求
  20. android viewpager无限轮播

热门文章

  1. 如何快速将多个文件合并为一个文件?
  2. MIC - 最大信息系数
  3. SQL - 数据查询语句之字符串拆分
  4. U盘没有文件但空间被占用解决办法(U盘文件夹隐藏恢复)
  5. python两行代码实现转换视频格式,以flv转换mp4为例
  6. 添加nginx作为系统服务
  7. 剑指 Offer II 009. 乘积小于 K 的子数组
  8. 三菱凌云3故障代码_上海三菱凌云2故障代码
  9. 网络游戏外挂编写基础一
  10. 小米蓝牙广播数据解析(MiBeacon)