Emgucv不完整图像分割试验(四)——Imagebox控件坐标转图片坐标

本文介绍了在使用EmguCV时,如何将Imagebox控件内的鼠标坐标转换为未缩放图像的真实坐标,尤其是在考虑滑动条和缩放因素的情况下。详细阐述了转换过程,包括滑动条修正、缩放比例计算等关键步骤,并提供了最终实现结果的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书接上文Emgucv不完整图像分割试验(三),将图切割N个小块后如何在Imagebox内选中所需要的小块的问题就浮上来了,

本来是一个很简单的问题,但如果加上滑动条和缩放后,整个事情就变得变态起来了。。。


涉及的数值太多,画了上面个图辅助说明。

A:现在图的尺寸(假定有放大缩小)

B:ImageBox的尺寸(假定随窗口一起变化)

C:鼠标相对ImageBox的坐标(这个也就是我们直接获取的数据,然后用它推导最后的落点)

D\E:水平和垂直滑动条的高度和宽度(这个很变态的,出现的时候,之前的B的数值也会被修改,切切记住)

F\G:水平和垂直滑动条当前的数值

H\I:水平和垂直滑动条的最大值(不是直接取到的那个数值,而是真实滑到最后的值,两者很大可能是不等的)

J:图片的缩放比


目标:将C的坐标换算到真实的(没缩放)的图片的坐标。步骤如下:

1:A-B,获取假如图片拉到底,超出的宽和高(用于后面计算滑动条的步长)

2:判断是否有滑动条,如果有,就修正,分别减去D,E的数值,因为有了滑动条则ImageBox的显示区也就变化了。

3:修正H,I的数值(原先的MAX是Imagebox生成滑动条时自动生成的,但划到底一般不是原先的最大值,2和3两步卡了我整整一天。也是本贴的主要内容)

4:将1的值/3的值,算出一个滑动条数值+1相对移动的距离

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值