我在某些(已知)点上有一个大(大约 4000x3000)图像,我必须通过单击它们来执行一些操作。
所以,这就是问题所在:为了可视化它,我必须调整它的大小(使其变小),但是我无法将我单击的已调整大小的图像的坐标与“原始”图像,我必须对其进行修改! (显然,它不必非常精确!我可以接受误差,比方说 10 像素。但我得到了数百像素的误差......!)
我该如何解决?
我在 C++ 中使用 OpenCV,我现在使用的命令是我发现的 resize() here fx=fy=0.25。
显然,将所有内容乘以(或除以...)4 效果不佳...为什么?
(或者更准确地说:它只在一个轴上工作。
预先感谢您的帮助!
最佳答案
解决此类问题的通常方法是在某个小窗口的某个地方输出以实际比例和用户显示的图像,当需要在这个小窗口内进行精确定位时。同时在缩放图像中显示光标的粗略位置。鼠标在大图像的坐标中移动,然后计算小窗口在哪里(鼠标位置周围的小方 block ),将其剪切并显示在某处,然后缩放坐标并显示光标它评估的位置。使用这种方法,您将获得每像素精度。
关于c++ - 原始图像和调整后图像之间的关系 (C++/OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465050/