Fork me on GitHub
摘要: PassThrough filter In this tutorial we will learn how to perform a simple filtering along a specified dimension – that is, cut off values that are eit 阅读全文
posted @ 2021-06-27 15:28 chrislzy 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 简介 加载图像: cv::imread() 创建图像窗口: cv::namedWindow() 显示图像:cv::imshow() 保存图像:cv::imwrite() 测试代码 #include <opencv2/opencv.hpp> //总的头文件 // #include <opencv2/c 阅读全文
posted @ 2021-06-27 11:25 chrislzy 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 公式 $$ g(x) = a*f(x) + b$$ 注:\(f(x)\) 为输入图像, \(g(x)\) 为输出图像。 注:$a$为增益,用于控制图像的对比度; $b$为偏置,用于控制图像的亮度。 代码 for (int y = 0; y < image.rows; ++y) { for (int 阅读全文
posted @ 2021-06-27 11:18 chrislzy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 通道分离 将一个多通道矩阵分离成几个单通道的矩阵. void split(const Mat& src, Mat* mvbegin); void split(InputArray m, OutputArrayOfArrays mv); 注: 输出为std::vector容器 通道合并 将多个单通道矩 阅读全文
posted @ 2021-06-27 11:16 chrislzy 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 前言 改变图像的分辨率, 但是不改变相机的视场角. 相机的内参会产生如何变化? 内参矩阵会成倍变化 畸变系数不发生变化 参考 https://answers.opencv.org/question/118918/does-the-resolution-of-an-image-affect-the-d 阅读全文
posted @ 2021-06-27 11:15 chrislzy 阅读(510) 评论(0) 推荐(0) 编辑
摘要: ROI区域 cv::Mat image_roi = image(cv::Rect(x, y, width, height)); cv::Mat image_roi = image(cv::Range(y, y + height), cv::Range(x, x + width)); 线性混合 voi 阅读全文
posted @ 2021-06-27 11:14 chrislzy 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 前言 图像的畸变矫正需要相机的内参和畸变系数, 在opencv中, 有以下两个函数可以实现: undistort()函数 initUndistortRectifyMap() + remap()函数 函数 undistort void undistort(InputArray src, OutputA 阅读全文
posted @ 2021-06-27 11:13 chrislzy 阅读(1758) 评论(0) 推荐(0) 编辑
摘要: 前言 本文主要讨论在原始图像和压缩图像两种格式 对于本地图片, png格式为压缩图片, jpeg格式为原始图片. 对于ros消息, sensor_msg::CompressedImage为压缩图像, sensor_msg::Image为原始图像. 测试代码 加载本地图片 #include<iostr 阅读全文
posted @ 2021-06-27 11:11 chrislzy 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 直线- cv::line() void cv::line ( InputOutputArray img, Point pt1, Point pt2, const Scalar & color, int thickness = 1, int lineType = LINE_8, int shift = 阅读全文
posted @ 2021-06-27 11:07 chrislzy 阅读(53) 评论(0) 推荐(0) 编辑
摘要: cv::Point类 表示二维点,三维点 cv::Point p(10, 8); // p.x = 10; p.y = 8; // cv::Point == cv::Point2i cv::Point2f p_2f(1.0, 2.0); cv::Point3f p_3f(1.0, 2.0, 3.0) 阅读全文
posted @ 2021-06-27 11:02 chrislzy 阅读(73) 评论(0) 推荐(1) 编辑
摘要: 写入和读取yaml\xml文件的步骤: 创建cv::FileStorage对象,并打开文件。 使用<<写入数据, 或者使用>>读取数据。 使用cv::FileStorage::release()关闭文件。 写入yaml\xml文件实例 #include <opencv2/opencv.hpp> #i 阅读全文
posted @ 2021-06-27 11:01 chrislzy 阅读(2749) 评论(1) 推荐(0) 编辑
摘要: Mat::reshape 该函数只是在逻辑上改变矩阵的行数或者通道数, 没有任何数据的复制和删减, 因此是$O(1)$操作, 要求矩阵是连续的. Mat cv::Mat::reshape (int cn, int rows = 0) const Changes the shape and/or th 阅读全文
posted @ 2021-06-27 11:00 chrislzy 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 参考 https://www.cnblogs.com/yebo92/p/5621583.html 阅读全文
posted @ 2021-06-27 10:55 chrislzy 阅读(56) 评论(0) 推荐(0) 编辑