image-processing - 如何转换图像?

标签 image-processing opencv transformation emgucv

original image

您可以看到车道是歪斜的。我想让车道垂直。

我用了Photoshop的透视变换功能,得到的结果:

after perspective transformation

虽然现在车道是垂直的,但是远端的车变大了,近端的车变小了。那不是我想要的。

我尝试了 Photoshop 的变形功能。 Photoshop 给了我 8 个控制点,我终于得到了理想的结果。

What I want

这种转变的名称是什么?

如何以编程方式进行转换?我正在使用 C# + EmguCV(OpenCV)

非常感谢。

最佳答案

它叫做 Radial Distortion .它通常由 Browns model 修复. Here是关于如何使用 Photoshop 修复它的教程。

enter image description here

请注意,在您的情况下,您应该首先修复径向畸变,然后才进行投影变换(单应性),因为径向畸变是镜头的属性,而投影变换是您正在查看的世界的属性。

关于image-processing - 如何转换图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12798308/

相关文章:

python - 使用 Python 从 map 图像中提取建筑物边缘

c++ - 将 cv::Mat 转换为 pangolin::Image?

javascript - 使用 JavaScript 使 SVG 转换后的元素适合矩形边界

iphone - 在Xcode中找不到-lstdc++的库

java - XSLT 参数不起作用

clojure - 如何将 map 列表转换为 map 的嵌套 map ?

matlab - 在 MATLAB 中仅将图形内容转换为图像

php - 服务器端将光栅图像转换为矢量图像

ruby-on-rails - 图像方向和使用回形针进行验证?

c++ - 人脸识别的opencv代码在visual c++中预测不正确