c++ - 原始图像和调整后图像之间的关系 (C++/OpenCV)

标签 c++ opencv image-resizing

我在某些(已知)点上有一个大(大约 4000x3000)图像,我必须通过单击它们来执行一些操作。

所以,这就是问题所在:为了可视化它,我必须调整它的大小(使其变小),但是我无法将我单击的已调整大小的图像的坐标与“原始”图像,我必须对其进行修改! (显然,它不必非常精确!我可以接受误差,比方说 10 像素。但我得到了数百像素的误差......!)

我该如何解决?

我在 C++ 中使用 OpenCV,我现在使用的命令是我发现的 resize() here fx=fy=0.25。

显然,将所有内容乘以(或除以...)4 效果不佳...为什么?

(或者更准确地说:它只在一个轴上工作。

预先感谢您的帮助!

最佳答案

解决此类问题的通常方法是在某个小窗口的某个地方输出以实际比例和用户显示的图像,当需要在这个小窗口内进行精确定位时。同时在缩放图像中显示光标的粗略位置。鼠标在大图像的坐标中移动,然后计算小窗口在哪里(鼠标位置周围的小方 block ),将其剪切并显示在某处,然后缩放坐标并显示光标它评估的位置。使用这种方法,您将获得每像素精度。

关于c++ - 原始图像和调整后图像之间的关系 (C++/OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465050/

相关文章:

c++ - OpenCV 2.3 C++ 基础图像处理

javascript - 在移动设备上使用 javascript 检测屏幕密度?

magento - 使用soap api 访问magento 中的图像。无法访问缩略图。需要调整图像大小

c++ - 引用未初始化的内存而不访问它是否合法?

c++ - 给定一个 DDS 主题名称,是否可以在运行时确定主题类型信息?

python - 使用直方图的图像python opencv中的颜色百分比

c++ - 在 visual studio 2008 中打开 AVI 视频

php - 在 PHP 中调整图像大小

c++ - 程序状态和调试器不一致

c++ - C++中的VLA,具有std = c++ 11扩展