halcon截取图片并保存为图片

这篇具有很好参考价值的文章主要介绍了halcon截取图片并保存为图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

halcon截取图片并保存为图片,代码如下:

**********************批量图片截取***************
InputTuple := ['True','2','6','2','1676.714,1319.375','90','2','2149.448,1323.449','90','2','1682.962,4337.366','90','2','2133.115,4334.441','90','2','1281.720,4557.761','270','2','1750.190,4557.761','270','','','','','','','5','1849.229,1280.023','90','5','2306.869,1287.910','90','5','1816.291,4346.614','90','5','2287.365,4349.672','90','5','1412.514,4582.036','270','5','1877.470,4575.921','270','','','','','','','300','200']
*遍历文件夹
list_files ('E:/测试图片/焊点/2D/OriginNG', 'files', Files)
Images1:=[]
Images2:=[]
tuple_number (InputTuple, InputTuple)  
TabCount := InputTuple[2]
TabWidth := InputTuple[51]
TabHeight := InputTuple[52]  
for j := 0 to |Files|-1 by 1  
    tuple_strchr (Files[j], '-', Position)
    tuple_substr (Files[j], Position+1, Position+2, Substring)
    tuple_number (Substring, Number)
    tuple_int (Number, Int)
    if(Int==2)
        Images1:=Files[j]
        read_image (InputImage1,Images1)
        for i := 0 to TabCount-1 by 1       
        lib_convert_point (Cross, InputTuple[3*i+4], TabCenter)
        crop_rectangle1 (InputImage1, TabImage, TabCenter[0]-(TabWidth+TabHeight)*0.5, TabCenter[1]-(TabWidth+TabHeight)*0.5, TabCenter[0]+(TabWidth+TabHeight)*0.5, TabCenter[1]+(TabWidth+TabHeight)*0.5)
        lib_white_balance (TabImage, TabImage, 80, 80, 80)
        rotate_image (TabImage, TabImage, InputTuple[3*i+5], 'constant')      
        write_image (TabImage, 'bmp', 0, 'E:/Images//1_' + i$'.4d' +j+ '.bmp')   
       endfor
    endif
    if(Int==5)
        Images2:=Files[j]
        read_image (InputImage2,Images2)
        for i := 0 to TabCount-1 by 1
        lib_convert_point (Cross, InputTuple[3*i+28], TabCenter)
        crop_rectangle1 (InputImage2, TabImage, TabCenter[0]-(TabWidth+TabHeight)*0.5, TabCenter[1]-(TabWidth+TabHeight)*0.5, TabCenter[0]+(TabWidth+TabHeight)*0.5, TabCenter[1]+(TabWidth+TabHeight)*0.5)
        lib_white_balance (TabImage, TabImage, 80, 80, 80)
        rotate_image (TabImage, TabImage, InputTuple[3*i+29], 'constant')
        write_image (TabImage, 'bmp', 0, 'E:/Images//2_' + i$'.4d' +j+ '.bmp')       
    endfor
    endif
endfor
stop ()

关键代码,截取图片,并保存到文件夹中,代码如下:

read_image (InputImage1,Images1)
        for i := 0 to TabCount-1 by 1
        lib_convert_point (Cross, InputTuple[3*i+4], TabCenter)
        *切出一个或多个矩形图像区域
        crop_rectangle1 (InputImage1, TabImage, TabCenter[0]-(TabWidth+TabHeight)*0.5, TabCenter[1]-(TabWidth+TabHeight)*0.5, TabCenter[0]+(TabWidth+TabHeight)*0.5, TabCenter[1]+(TabWidth+TabHeight)*0.5)
        lib_white_balance (TabImage, TabImage, 80, 80, 80)
        *图像绕中心旋转(根据需求是否写)
        rotate_image (TabImage, TabImage, InputTuple[3*i+5], 'constant')    
        *将图像数据保存为图像文件  
        write_image (TabImage, 'bmp', 0, 'E:/Images//1_' + i$'.4d' +j+ '.bmp')   

lib_convert_point (Cross, String, Point)函数,通过String获取某个点位置坐标。

String=['1676.714,1319.375']

gen_empty_obj (Cross)
Point := number(split(String,','))

if (|Point| != 2)
    Point := [0,0]
else
    gen_cross_contour_xld (Cross, Point[0], Point[1], 100, 0)
endif

return ()

lib_white_balance (TabImage, TabImage, 80, 80, 80)自定义函数,处理截取的图片。

get_region_points (Image, Rows, Columns)
decompose3 (Image, ImageR, ImageG, ImageB)
get_grayval (ImageR, Rows, Columns, GrayvalR)
get_grayval (ImageG, Rows, Columns, GrayvalG)
get_grayval (ImageB, Rows, Columns, GrayvalB)
ScaleR := TargetR/mean(GrayvalR)
ScaleG := TargetG/mean(GrayvalG)
ScaleB := TargetB/mean(GrayvalB)
scale_image (ImageR, ImageScaledR, ScaleR, 0)
scale_image (ImageG, ImageScaledG, ScaleG, 0)
scale_image (ImageB, ImageScaledB, ScaleB, 0)
compose3 (ImageScaledR, ImageScaledG, ImageScaledB, ImageBalance)
return ()

需要处理的图片:

crop_rectangle1,Halcon图像处理基础,halcon

halcon处理后的图片:

crop_rectangle1,Halcon图像处理基础,halcon

 总结:本文是批量截取各个图片,我的代码中是处理的2和5结尾的图片(-2.jpg和-5.jpg),每张原图截取6张图片保存到本地。文章来源地址https://www.toymoban.com/news/detail-539509.html

到了这里,关于halcon截取图片并保存为图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • halcon中将xld轮廓或者region区域绘制在图像上并保存

    首先是小白现在没有找到xld轮廓直接绘制在图像上面的方法 , 对于 xld轮廓通过转化为region区域 , 之后再绘制在图像上 (与直接显示在图像窗口句柄上面的轮廓有一定区别) -补发——————时隔多日找到新的方法利用:dump_window_image可以将亚像素轮廓绘制在图片上面 如

    2023年04月08日
    浏览(42)
  • 机器视觉Halcon-菜单助手读取图片方式及注意点

    【助手】→【打开新的image acquisition 】→【图像助手】→【选择路径】→【代码生成】→【插入代码】 注意:文件与选择路径的区别,以下是生成代码 1.文件-生成代码 输入参数:目录/图片具体夹路径(C:/Users/CP/Desktop/j/1.bmp) 输出参数:图像对象(Image) 2.选择路径(分段说

    2024年02月10日
    浏览(45)
  • Python截取图片区域并保存03

    Python + OpenCV图片基本操作02 目录 系列文章目录 前言 一、获取感兴趣图片坐标 二、剪切图片坐标区域并保存图片 总结 提供一张图片,如何截剪其中的某一部分的区域? 我的思路是分两步: 1. 找到要裁剪区域的坐标 2. 根据图片坐标进行剪切,并保存 1. cv2.COLOR_BGR2GRAY 将BG

    2024年02月08日
    浏览(76)
  • Python相机自动采集图像,然后模板匹配、自动截取保存图片

    通过python调用相机然后间隔一段时间进行拍摄图片,进行识别提取。 提示:以下是本篇文章正文内容,下面案例可供参考 我的电脑没有相机硬件设备,于是我通过手机在局域网的状态下进行图像传输到电脑上,在这里特别推荐软件:DroidCam Client    建议大家按照情况自行安

    2024年02月12日
    浏览(35)
  • springboot(JavaCV )实现视频截取第N帧并保存图片

    springboot(JavaCV )实现视频截取第N帧并保存图片 现在视频网站展示列表都是用img标签展示的,动图用的是gif,但是我们上传视频时并没有视屏封面,就这需要上传到服务器时自动生成封面并保存 本博客使用jar包的方式实现上传视频文件并且截取视频第一帧,保存到阿里云的

    2024年02月12日
    浏览(47)
  • opencv视频截取每一帧并保存为图片python代码CV2实现练习

    当涉及到视频处理时,Python中的OpenCV库提供了强大的功能,可以方便地从视频中截取每一帧并将其保存为图片。这是一个很有趣的练习,可以让你更深入地了解图像处理和多媒体操作。 使用OpenCV库,你可以轻松地读取视频文件,并在循环中逐帧读取视频的每一帧。随后,你可

    2024年02月12日
    浏览(54)
  • Halcon慢慢来(浅学Halcon)

    HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像和图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的M

    2024年02月15日
    浏览(36)
  • 【halcon】halcon字符识别——OCR

    OCR(Optical Character Recongnition)光学字符识别。 halcon 的OCR,提供了几种方式,我们应该如何选择? 自动文本阅读器(find_text) 手动文本阅读器(find_text) 自己分割再识别 只需要指定一段字符的区域,然后指定一些参数,他就能自动识别!非常标准化的流程。

    2024年02月09日
    浏览(46)
  • day1——Halcon和Halcon XL的区别

    2023.02.14 Halcon有两个IDE 故: Halcon :常处理图像大小小于32768 x 32768的时候; Halcon XL :常处理图像大小大于32768 x 32768的时候。 同样的在调用dll时,也对应的有两个不同的函数库。

    2024年02月14日
    浏览(33)
  • Qt + OpenCV + Halcon + QScintilla 实现Halcon的脚本引擎功能 (源码)

    在工业领域中,缺陷检测、目标计数等功能的应用,其过程基本都是见招拆招,没有一个具体的标准,把输入输出接口标准化,过程用脚本引擎代替就可以实现功能的标准模块。 输入输出接口采用Qt + OpenCV来实现,OpenCV需要将采集到的图片转为Halcon的图像接口用于脚本检测,

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包