当前位置: 首页 > wzjs >正文

图片生成链接的网站昆明网站建设教学视频

图片生成链接的网站,昆明网站建设教学视频,高校网络架构,彩妆网站建设策划书首先我们要明白码的识别思路 把窗口全部关闭读取新的图片图像预处理创建条码模型设置模型参数搜索模型获取条码结果显示条码结果 图像预处理和条码增强 对比度太低: scale_image(或使用外部程序scale_image_range),增强图像的对比度图像模糊…

首先我们要明白码的识别思路

  • 把窗口全部关闭
  • 读取新的图片
  • 图像预处理
  • 创建条码模型
  • 设置模型参数
  • 搜索模型
  • 获取条码结果
  • 显示条码结果

图像预处理和条码增强

  1. 对比度太低: scale_image(或使用外部程序scale_image_range),增强图像的对比度
  2. 图像模糊:emphasize锐化图像,使条码看起来清晰
  3. 深背景上读取浅色条码:invert_image 反转图像 

 基本算子:

create_bar_code_model  创建条码模型

create_bar_code_model(GenParamNames,GenParamValues,BarCodeHandle)

  • GenParamNames:参数名
  • GenParamValues:参数值
  • BarCodeHandle:条码句柄

 set_bar_code_param  设置条码参数

set_bar_code_param(BarCodeHandle,GenParamName,GenParamValue)

  • BarCodeHandle:条码句柄
  • GenParamNames:参数名
  • GenParamValue:条码参数
'element_size_min'条码的最小尺寸,指条码宽度和间距,大码应设大一点,减少处理时间
'element_size_max'条码的最大尺寸,不能过小,也不能过大
'check_char'是否验证校验位,'absent'不检查校验和'present'检查校验
'persistence'设置位1,则保留中间结果,评估条码印刷质量时会用到
'num_scanlines'解码时所用扫码线的最大数目,设置为0表示自动确定,一般设置为2~30
'start_stop_tolerance'容许误差值,可设置为'low'或者'high',设置为'high'可能造成误判
'orientation'、'orientation_tol'分别指条码的方向和方向容差,设置准确可大大提高解码效率
'elemnet_height_min'条码的最小高度,默认设置-1白哦是子哦对那个推测条码高度,该参数对速度影响大
'stop_after_result_num'设置要解码的个数,0表示全部找出,设置为2表示找到2个就不找了

 find_bar_code 查找条码

find_bar_code(Image,SymbolRegions,BarCodeHandle,CodeType,DecodedDataStrings)

  • Image:输入图像
  • SymbolRegions:检测到的条形码区域
  • BarCodeHandle:条形码区域
  • CodeType:条形码类型
  • DecodedDataStrings:识别结果

get_bar_code_result  显示条码结果

 get_bar_code_result(BarCodeHandle,CandidateHandle,ResultName,BarCodeResults)

  • BarCodeHandle:条码模型处理(条码句柄)
  • CandidateHandle:候选句柄
  • ResultName:结果名
  • BarCodeResults:条形码的结果

 一维码示例

1.检测单个条形码

dev_close_window ()
dev_update_off ()
dev_set_draw ('margin')
dev_set_line_width (3)
read_image (Image, 'F:/Halcon/‫Image/1一维码barcor/barcode_1.bmp')
* 创建条码模型
create_bar_code_model ([], [], BarCodeHandle)
* 设置条码参数
set_bar_code_param (BarCodeHandle, 'barcode_width_min', 280)
set_bar_code_param (BarCodeHandle, 'barcode_height_min', 80)
* 检测读取一维码
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)
* 获取条码结果
get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)
*显示
dev_get_window (WindowHandle)
msg:=BarCodeResults+'条码编号'+DecodedDataStrings
area_center (SymbolRegions, Area, Row, Column)
dev_display (Image)
dev_display (SymbolRegions)
disp_message (WindowHandle, msg, 'image', Row, Column, 'black', 'true')

 


2.检测多个条形码

dev_update_off ()
dev_close_window ()
dev_get_window (WindowHandle)
query_font (WindowHandle, Font)
tuple_find (Font, '楷体', Indices)
if(Indices!=-1)set_display_font (WindowHandle, 16, '楷体', 'true', 'false')
elseset_display_font (WindowHandle, 16, 'mono', 'true', 'false')
endif
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('green')
create_bar_code_model ([], [], BarCodeHandle)
minWidth:=280
minHeight:=60
set_bar_code_param (BarCodeHandle, 'barcode_height_min', minHeight)
set_bar_code_param (BarCodeHandle, 'barcode_width_min', minWidth)
list_files ('F:/Halcon/‫Image/1一维码barcor', 'files', Files)
tuple_regexp_select (Files, '.bmp', Selection)
num:=|Selection|-1
for i:=0 to num by 1read_image (Image,Selection[i])find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)dev_display (Image)dev_display (SymbolRegions)msg:=BarCodeHandle+'\\='+DecodedDataStringsdisp_message (WindowHandle, msg, BarCodeResults, 12, 12, 'black', 'true')stop ()
endfor

 3.检测多个,和检测不到的

dev_update_off ()
dev_close_window ()
dev_get_window (WindowHandle)
query_font (WindowHandle, Font)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
create_bar_code_model ([], [], BarCodeHandle)
gen_empty_obj (EmptyObject)
list_files ('F:/Halcon/‫Image/2一维码', 'files', Files)
tuple_regexp_select (Files, '.bmp', Selection)
num:=|Selection|-1
for i:=0 to num by 1read_image (Image, Selection[i])find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)test_equal_obj (EmptyObject, SymbolRegions, IsEqual)if(IsEqual!=0)disp_message (WindowHandle, '没有识别到一维码', 'image', 12, 12, 'black', 'true')endifget_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)dev_display (Image)dev_display (EmptyObject)mesg:=BarCodeResults+'\\='+DecodedDataStringsdisp_message (WindowHandle, mesg, 'image', 12, 12, 'black', 'true')stop ()
endfor

4. 查询多个不同种类

create_bar_code_model (['stop_after_result_num'], [1], BarCodeHandle)
dev_clear_window ()
dev_update_off ()
dev_get_window (WindowHandle)
query_font (WindowHandle, Font)
set_display_font (WindowHandle, 16, Font[0], 'true', 'false')
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
list_files ('F:/Halcon/‫Image/N维码/Ean13 一维码读取/ean13', 'files', Files)
tuple_regexp_select (Files, '(ean13)[0-9]{1,7}\\.(png)', Selection)
count:=|Selection|-1
for i:=0 to count by 1read_image (Image, Selection[i])find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)dev_display (Image)dev_display (SymbolRegions)msg:=BarCodeResults+'\\'+DecodedDataStringsarea_center (SymbolRegions, Area, Row, Column)disp_message (WindowHandle, msg, 'image', Row, Column, 'black', 'true')if(i<count)disp_continue_message (WindowHandle, 'black', 'true')endifstop ()
endfor
dev_disp_text ('已经是最后一张了', 'window', 'bottom', 'right', 'red', [], [])
clear_bar_code_model (BarCodeHandle)

5.旋转查询

方法1: 

read_image (Image, 'barcode/ean13/ean1305')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)
for i:=0 to 360 by 30* 旋转图像rotate_image (Image, ImageRotate, i, 'constant')dev_display (ImageRotate)get_image_size (ImageRotate, Width, Height)*改变当前激活窗口的大小和位置dev_set_window_extents (0, 0, Width, Height)find_bar_code (ImageRotate, SymbolRegions, BarCodeHandle, 'EAN-13', DecodedDataStrings)get_bar_code_result (BarCodeHandle, 'all', 'orientation', Orientation)area_center (SymbolRegions, Area, Row, Col)* 创建一个十字箭头的轮廓gen_arrow_contour_xld (Arrow, Row + sin(rad(Orientation)) * 70, Col - cos(rad(Orientation)) * 70, Row - sin(rad(Orientation)) * 70, Col + cos(rad(Orientation)) * 70, 25, 25)dev_display (ImageRotate)dev_display (SymbolRegions)dev_set_color ('green')dev_display (Arrow)disp_message (WindowHandle, DecodedDataStrings, 'window', 12, 12, 'black', 'true')stop ()
endfor
clear_bar_code_model (BarCodeHandle)

方法2:

 

**** 主要内容:如何获取图像与平行线的夹角
**** 基于夹角 生成带有方向的箭头
dev_update_off ()
read_image (Image, 'barcode/ean13/ean1305')
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)create_bar_code_model (['element_size_min'], [1.5], BarCodeHandle)
for rot :=0 to 360 by 30find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)get_bar_code_result (BarCodeHandle, 'all', 'orientation', angle)area_center (SymbolRegions, Area, cehnterRow, centerCol)gen_arrow_contour_xld (Arrow1, cehnterRow, centerCol, cehnterRow, centerCol, 10, 1)* 难题:怎么基于 区域的中线点,与 图像与水平面的弧度,求xld的起点和终点* 以区域中心坐标为基准点,该点是,箭头上的点* 以为该点位置,将箭头分为2个部分:假设第一部分,长度为100 第二部长度为80* 已:匹配模板与水平面的夹角  rad(angle)* 求:起点 行列坐标 与 终点行列坐标 、 下面就是计算公式。startRow:= cehnterRow +sin(rad(angle)) * 100 startCol := centerCol - cos(rad(angle)) * 100 endRow := cehnterRow - sin(rad(angle)) * 80endCol := centerCol + cos(rad(angle)) * 80gen_arrow_contour_xld (Arrow, startRow, startCol, endRow, endCol, 20, 20)* 显示结果dev_display (Image)dev_display (SymbolRegions)dev_display (Arrow)rotate_image (Image, Image, rot, 'constant')stop()endfor

http://www.dtcms.com/wzjs/829667.html

相关文章:

  • 怎么做健康咨询网站WORDPREss浏览量插件美化版
  • 大庆百度公司网站建设灰色关键词排名收录
  • 广东南电建设集团网站在线设计师平台
  • 永久网站域名注册ppt模板下载免费版软件
  • 网站以个人名义备案分类信息网站系统cms
  • 网站后台logo网站后台
  • 学做衣服的网站有哪些h5 网站开发
  • 云存储能用来做网站吗手机软件是怎么做出来的
  • 网站建设程序编制虚拟网站仿制教程
  • 网站改版升级方案如何让WordPress快起来
  • 盘龙网站建设公司小说网站开发的目的
  • 网站优化要做哪些南通网站优化找哪家
  • 二手房网站建设及推广方案成都有实力的网站建设
  • 上海网站建设招标大连专业网页设计
  • 南宁有多少家网站建设推广的公司wordpress在手机登录
  • 静态网站规范做美工需要知道的设计网站
  • 运城网站制作国内优秀企业网站欣赏
  • 怎么让别人找你做网站琼海网站建设公司
  • 创建网站基本流程电商系统的服务商
  • 网站建设费用明细报价北京注册公司政策
  • 门户网站官网有哪些做网站的资源有哪些
  • 12306网站开发时间秦皇岛网站团队
  • 怎么把网站做二维码长沙商城小程序开发
  • 企业品牌网站建设定制开发电子政务网站设计
  • 建设专业网站哪家更专业软件网站开发合同
  • 网站后台是做什么的零基础网站建设教程
  • 网站开发的初始密码电商网站建站报价
  • 郑州互助盘网站开发网站注册登录
  • 郑州高端网站定制建设2019做网站的出路
  • 专做废旧电子电路板配件回收的网站做企业云网站的企业