如何矫正

如图,右边的图片最终矫正到左边这样,但是还有很大的缺陷,就是上方矫正不强


探索以下参数的含义,实际上从图片我们可以看出,我们要裁剪掉右边一部分,右边一部分明显下陷,需要往上提,这样图片就会切除右边部分,所以下面K3 的参数是右边比左边小,7.0697810243404e+002,这个数比8.6846697810243404e+002 要小一些,下面往上提,这样下面可以拉直,可以上面就直不了了。
int main()
{const cv::Mat K3 = (cv::Mat_<double>(3, 3) << 7.0697810243404e+002, 0.0, 3.9050000000000000e+002, 0.0, 8.6846697810243404e+002, 1.1050000000000000e+002, 0.0, 0.0, 1.0);const cv::Mat D0 = (cv::Mat_<double>(5, 1) << -3.6802327018241026e-001, 3.515243805833121e-001, 0.0, 0.0,-5.7843596847939704e-001);cv::Mat K = K3;cv::Mat D = D0;const int ImgWidth = 800;const int ImgHeight = 450;cv::Mat map1, map2;cv::Size imageSize(ImgWidth, ImgHeight);const double alpha = 0;cv::Mat NewCameraMatrix = getOptimalNewCameraMatrix(K, D,imageSize, alpha, imageSize, 0);initUndistortRectifyMap(K, D, cv::Mat(), NewCameraMatrix,imageSize, CV_16SC2, map1, map2);cv::Mat frame1 = imread("c.jpg"/*, IMREAD_GRAYSCALE*/);int w = frame1.cols;int h = frame1.rows;cv::Mat UndistortImage1;remap(frame1, UndistortImage1, map1, map2, cv::INTER_LINEAR);//Point2f AffinePoints0[4] = { Point2f(0, 0), Point2f(800,0),//Point2f(0,450), Point2f(800, 450) };//Point2f AffinePoints1[4] = { Point2f(0, 0), Point2f(800,0),// Point2f(-50,500), Point2f(850, 500) };////Mat dst_perspective = PerspectiveTrans(UndistortImage1, AffinePoints0, AffinePoints1);//imshow("test2", dst_perspective);imshow("1", frame1);imshow("2", UndistortImage1);cv::waitKey(0);
}

修正

还有待修正,期待有经验的人员加入一起讨论。

opencv 矫正图片相关推荐

  1. Java基于opencv—矫正图像

    更多的时候,我们得到的图像不可能是正的,多少都会有一定的倾斜,就比如下面的 我们要做的就是把它们变成下面这样的 我们采用的是寻找轮廓的思路,来矫正图片:只要有明显的轮廓都可以采用这种思路 具体思路: ...

  2. python图片旋转脚本_Python+OpenCV 实现图片无损旋转90°且无黑边

    0. 引言 有如上一张图片,在以往的图像旋转处理中,往往得到如图所示的图片. 然而,在进行一些其他图像处理或者图像展示时,黑边带来了一些不便.本文解决图片旋转后出现黑边的问题,实现了图片尺寸不变的旋转 ...

  3. python opencv调节图片亮度与对比度

    python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和 ...

  4. python opencv 得到图片路径image_path的宽wide、高heigh和深度deep

    python opencv 得到图片路径image_path的宽wide.高heigh和深度deep 图片路径是:'1.jpg' 下面是具体代码: import cv2 #得到图片路径image_pa ...

  5. OPENCV打开图片进行边缘检测

    OPENCV打开图片并且进行边缘检测 #ifdef _CH_ #pragma package <opencv> #endif#ifndef _EiC #include "cv.h ...

  6. opencv去除图片的高光

    opencv去除图片的高光 有明显的修补痕迹 https://blog.csdn.net/qq_43555843/article/details/102510425 参考这个: https://blo ...

  7. DALSA线阵CCD相机开发 之 opencv读取图片

    SDK的下载 Sapera_LT_8.31_SDK 百度网盘下载地址:链接:密码:ckm7. SDK的安装 解压运行.exe文件,按照提示确定,下一步即可. 帮助文档和demo 如果要获得完整的帮助文 ...

  8. 2021-01-07 python opencv调节图片亮度与对比度

    python opencv调节图片亮度与对比度 度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和亮 ...

  9. OpenCV显示图片的实例(附完整代码)

    OpenCV显示图片的实例 OpenCV显示图片的实例 OpenCV显示图片的实例 #include <opencv2/core.hpp> #include <opencv2/img ...

最新文章

  1. 便利的开发工具 CppUnit 快速使用指南
  2. 很强的PHP图片处理类
  3. perl中用warn进行调试
  4. 抵御故障引发系统性失控的基本原则:混沌工程
  5. xampp访问php显示空白,运行PHP项目显示空白
  6. netty源码分析之一:server的启动
  7. ROS最正确的限速--------小包优先+带宽均分+简单队列限制上传速度
  8. c语言程序设计考试改革,C语言程序设计课程考试改革实施方案.pdf
  9. oracle介质恢复的内部过程--推断与参考
  10. LINUX的简单命令
  11. String StringBuilder StringBuffer
  12. 活动目录回收站之终极应用---Windows2008 R2 新功能系列之十一
  13. 12. JavaScript Number 对象
  14. UVa 10499 - The Land of Justice
  15. java服务器必读_Java服务器端编程安全必读
  16. java8新特性和汪文君Google Guava项目实战视频
  17. Vmware安装详细教程
  18. 2022年6月 青少年软件编程(图形化) 等级考试试卷(四级)
  19. tkinter创建嵌套子窗口
  20. Java常用环境配置(Maven、Mybatis、Spring、SpringMvc、Mybatis)

热门文章

  1. 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识
  2. python自动翻译excel某一列_【python excel实例教程】怎样用Python将excel的某一列生成一个列表?...
  3. mediarecorder 录制的文件无法拖动进度条_如何下载网络ts视频文件
  4. python中的命名空间指什么_python中命名空间
  5. 金山办公:2021年净利润10.42亿元,同比增长19%
  6. 苹果13英寸MacBook Pro有望下月更新 搭载M2芯片
  7. 快狗打车通过港交所上市聆讯
  8. 欧拉好猫车主公开信:宣传部对员工学历没有要求么?
  9. 苏宁易购发全员信:双十一销售目标全面完成 力争11月EBITDA转正
  10. 打开非遗文化新呈现方式 三七互娱“非遗广州红”游园会即将开幕