Halcon不改变目标大小尺寸及坐标,放大图像或区域

如果需要检测一张图像中很细小的物体,计算机可能可以观察到,但人的肉眼很难判别。这时候就需要放大图像中目标所在区域进行观测,放大观察可能会导致图像被放大,目标相对原始图像的坐标大小信息会被改变。如下,分割图中目标所在区域进行放大显示,该操作会改变图像目标的大小尺寸坐标等信息。

cpp 复制代码
dev_close_window ()
dev_update_off ()
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image,Selection)
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_display (Image)

*选择目标区域的矩形区域ROI,鼠标选择
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*获取选择的矩形
gen_rectangle1 (ModelRegion, Row1, Column1, Row2, Column2)

*分割图像
reduce_domain (Image, ModelRegion, ModelRegionImage)
*对分割后的图像放大显示,会影响图像内部信息
crop_domain (ModelRegionImage, ImagePart)
get_image_size (ImagePart, Width, Height)
dev_set_draw('margin')
dev_display(ImagePart)

为了达到只改善观察的放大效果,而不改变目标在 图像中原本的大小和位置信息,可以对分割后的区域使用dev_set_part(), 再去显示原图像, 此时只显示原图像中选择的目标区域,相对大小及位置不变,如下代码所示。

cpp 复制代码
dev_close_window ()
dev_update_off ()
ImagePath='D:/images'
read_image (Imageori, Imagepath)
get_image_size (Imageori, Width, Height)
dev_open_window (0, 0, Width/4, Height/4, 'black', WindowHandle)
dev_display (Imageori)

*选择目标区域的矩形区域ROI,鼠标选择
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*获取选择的矩形
gen_rectangle1 (ModelRegion, Row1, Column1, Row2, Column2)
*分割图像,去除不需要识别的区域,减少噪声
reduce_domain (Imageori, ModelRegion, Image)
*修改显示区域,只放大区域,不放大图像,图像中坐标尺寸信息未改变
dev_set_part (Row1, Column1, Row2, Column2)
dev_display (Image)

可以通过输出检测目标的大小及坐标位置等信息,进行对比验证。

相关推荐
2501_9411119926 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
Espresso Macchiato1 小时前
Leetcode 3748. Count Stable Subarrays
算法·leetcode·职场和发展·leetcode hard·leetcode 3748·leetcode周赛476·区间求和
大袁同学1 小时前
【哈希hash】:程序的“魔法索引”,实现数据瞬移
数据结构·c++·算法·哈希算法·散列表
一水鉴天1 小时前
整体设计 全面梳理复盘 之39 生态工具链 到顶级表征及其完全公理化
大数据·人工智能·算法
Moonbit1 小时前
入围名单公布|2025 MGPIC 决赛即将拉开帷幕!
后端·算法
2501_941112612 小时前
C++与Docker集成开发
开发语言·c++·算法
智者知已应修善业2 小时前
【51单片机:两边向中间流水:即两边先点亮然后熄灭,次边的点亮再熄灭,直到最中间的两个点亮再熄灭,然后重复动作。】2023-3-4
c语言·c++·经验分享·笔记·嵌入式硬件·算法·51单片机
醒过来摸鱼2 小时前
9.11 傅里叶变换家族介绍
线性代数·算法·概率论
是苏浙3 小时前
2025年11月17日力扣刷题小记
算法·刷题