opencv 矫正图片
如何矫正
如图,右边的图片最终矫正到左边这样,但是还有很大的缺陷,就是上方矫正不强
探索以下参数的含义,实际上从图片我们可以看出,我们要裁剪掉右边一部分,右边一部分明显下陷,需要往上提,这样图片就会切除右边部分,所以下面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 矫正图片相关推荐
- Java基于opencv—矫正图像
更多的时候,我们得到的图像不可能是正的,多少都会有一定的倾斜,就比如下面的 我们要做的就是把它们变成下面这样的 我们采用的是寻找轮廓的思路,来矫正图片:只要有明显的轮廓都可以采用这种思路 具体思路: ...
- python图片旋转脚本_Python+OpenCV 实现图片无损旋转90°且无黑边
0. 引言 有如上一张图片,在以往的图像旋转处理中,往往得到如图所示的图片. 然而,在进行一些其他图像处理或者图像展示时,黑边带来了一些不便.本文解决图片旋转后出现黑边的问题,实现了图片尺寸不变的旋转 ...
- python opencv调节图片亮度与对比度
python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和 ...
- python opencv 得到图片路径image_path的宽wide、高heigh和深度deep
python opencv 得到图片路径image_path的宽wide.高heigh和深度deep 图片路径是:'1.jpg' 下面是具体代码: import cv2 #得到图片路径image_pa ...
- OPENCV打开图片进行边缘检测
OPENCV打开图片并且进行边缘检测 #ifdef _CH_ #pragma package <opencv> #endif#ifndef _EiC #include "cv.h ...
- opencv去除图片的高光
opencv去除图片的高光 有明显的修补痕迹 https://blog.csdn.net/qq_43555843/article/details/102510425 参考这个: https://blo ...
- DALSA线阵CCD相机开发 之 opencv读取图片
SDK的下载 Sapera_LT_8.31_SDK 百度网盘下载地址:链接:密码:ckm7. SDK的安装 解压运行.exe文件,按照提示确定,下一步即可. 帮助文档和demo 如果要获得完整的帮助文 ...
- 2021-01-07 python opencv调节图片亮度与对比度
python opencv调节图片亮度与对比度 度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和亮 ...
- OpenCV显示图片的实例(附完整代码)
OpenCV显示图片的实例 OpenCV显示图片的实例 OpenCV显示图片的实例 #include <opencv2/core.hpp> #include <opencv2/img ...
最新文章
- 便利的开发工具 CppUnit 快速使用指南
- 很强的PHP图片处理类
- perl中用warn进行调试
- 抵御故障引发系统性失控的基本原则:混沌工程
- xampp访问php显示空白,运行PHP项目显示空白
- netty源码分析之一:server的启动
- ROS最正确的限速--------小包优先+带宽均分+简单队列限制上传速度
- c语言程序设计考试改革,C语言程序设计课程考试改革实施方案.pdf
- oracle介质恢复的内部过程--推断与参考
- LINUX的简单命令
- String StringBuilder StringBuffer
- 活动目录回收站之终极应用---Windows2008 R2 新功能系列之十一
- 12. JavaScript Number 对象
- UVa 10499 - The Land of Justice
- java服务器必读_Java服务器端编程安全必读
- java8新特性和汪文君Google Guava项目实战视频
- Vmware安装详细教程
- 2022年6月 青少年软件编程(图形化) 等级考试试卷(四级)
- tkinter创建嵌套子窗口
- Java常用环境配置(Maven、Mybatis、Spring、SpringMvc、Mybatis)
热门文章
- 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识
- python自动翻译excel某一列_【python excel实例教程】怎样用Python将excel的某一列生成一个列表?...
- mediarecorder 录制的文件无法拖动进度条_如何下载网络ts视频文件
- python中的命名空间指什么_python中命名空间
- 金山办公:2021年净利润10.42亿元,同比增长19%
- 苹果13英寸MacBook Pro有望下月更新 搭载M2芯片
- 快狗打车通过港交所上市聆讯
- 欧拉好猫车主公开信:宣传部对员工学历没有要求么?
- 苏宁易购发全员信:双十一销售目标全面完成 力争11月EBITDA转正
- 打开非遗文化新呈现方式 三七互娱“非遗广州红”游园会即将开幕