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)

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

相关推荐
FL162386312926 分钟前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#
baizhigangqw1 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶
算法·启发式算法·web app
C雨后彩虹1 小时前
最多等和不相交连续子序列
java·数据结构·算法·华为·面试
cpp_25012 小时前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
Hugh-Yu-1301232 小时前
二元一次方程组求解器c++代码
开发语言·c++·算法
编程大师哥3 小时前
C++类和对象
开发语言·c++·算法
石榴树下的七彩鱼3 小时前
OCR 识别不准确怎么办?模糊 / 倾斜 / 反光图片优化实战(附完整解决方案 + 代码示例)
图像处理·人工智能·后端·ocr·api·文字识别·图片识别
加农炮手Jinx3 小时前
LeetCode 146. LRU Cache 题解
算法·leetcode·力扣
Rabitebla3 小时前
C++ 和 C 语言实现 Stack 对比
c语言·数据结构·c++·算法·排序算法
加农炮手Jinx3 小时前
LeetCode 128. Longest Consecutive Sequence 题解
算法·leetcode·力扣