opencv
星辰大海在梦中
这个作者很懒,什么都没留下…
展开
-
Window10 下编译Opencv 3.4.1+contrib模块+Cmake+VS2015
1.下载安装opencv3.4.1,下载地址:https://opencv.org/releases/,下载后的文件为opencv-3.4.1-vc14_vc15.exe, 点击此文件运行后,实际为解压成一个文件夹。在系统环境变量Path中,添加解压后的地址,如:E:\opencv\build\x64\vc14\bin 。(不会安装opencv的自行百度)2.cmake下载安装,下载地址:ht...原创 2020-02-25 19:55:16 · 292 阅读 · 0 评论 -
输入为鱼眼相机图片,单应矩阵H的计算
单应H的计算如下:1.先将图片(图片中要有一张棋盘图)畸变矫正,如下:2.再将矫正图中计算角点数量和位置,最终只保存左上,左下,右上,右下四个角点的信息:3.使用这角点信息,使用函数:getPerspectiveTransform()获取H矩阵。具体代码:#include<opencv2/opencv.hpp>using namespace cv;usi...原创 2019-11-10 14:40:00 · 750 阅读 · 0 评论 -
RANSC拟合最优直线,c++实现
直接上代码: // 基于RANSAC算法的直线拟合 // pstData: 指向存储数据的指针 // dataCnt: 数据点个数 // lineParameterK: 直线的斜率 // lineParameterB: 直线的截距 // minCnt: 模型(直线)参数估计所需的数据点的个数 // maxIterCnt: 最大迭代次数...原创 2019-07-17 17:08:32 · 2391 阅读 · 2 评论 -
获得圆形roi掩膜
直接上代码:输入为:原图,想要的得到的圆形roi半径 Mat GetCirclemask(Mat image, int radius){ Mat mask = Mat::zeros(image.size(), CV_8UC1); ////情况3.画圆 Point center; center.x = radius; ...转载 2019-07-17 16:49:48 · 613 阅读 · 0 评论 -
鱼眼相机的标定fisheye_calibrate
直接上代码:https://github.com/LixinLu42/fisheye_calibrate 欢迎骚扰我的github哈~~~使用方法,需要使用鱼眼相机拍摄棋盘格的一组照片,尽量每个角度都要拍,拍个三四十张,保存在本地,使用本程序读取并且标定,会输出一个txt文件,相机畸变参数和内参可以去这里找。//运行环境 VS2012+opencv3.0已测试 VS2015...原创 2019-07-09 11:30:15 · 6347 阅读 · 9 评论 -
uvc鱼眼相机畸变矫正标定、透视图变换为IPM图(鸟瞰图/俯视图)
最近在搞,uvc鱼眼相机畸变矫正标定、透视图变换为IPM图(鸟瞰图/俯视图),可给恶心坏了,先说说两个畸变矫正的函数吧,如下:fisheye::initUndistortRectifyMap(), (注意我用的是鱼眼相机,你的如果是普通uvc相机,就用initUndistortRectifyMap()这个函数,前边没有fisheye::)和 getOptimalNewCameraMatrix()...原创 2019-06-28 17:59:41 · 6024 阅读 · 5 评论 -
opencv使用概率霍夫变换得到直线后,获取该直线上的点信息(位置,数量)
看了几篇博客,用的都是DDA算法,但是结果都不对,因为如果去最大步长的话,那么较小步长就小于1,直接导致加到x,y之后会被自动约掉小数(因为x,y为整数类型),因此对DDA算法做了以下改进。参考文章:https://www.cnblogs.com/fx-blog/p/9055101.html //获取x、y方向的变化最小的方向 int minstep; i...原创 2019-06-07 14:03:40 · 2366 阅读 · 0 评论 -
ROS下订阅摄像头节点图片
使用的是realsense d435,他的图像节点是/camera/color/image_raw.本文主要是写一个节点订阅这个节点代码如下:#include <ros/ros.h>#include <image_transport/image_transport.h>#include <opencv2/highgui/highgui.hpp>...原创 2019-05-28 18:20:26 · 2558 阅读 · 2 评论 -
去均值
去均值 这是最常见的图片数据预处理,简单说来,它做的事情就是,对待训练的每一张图片的特征,都减去全部训练集图片的特征均值,这么做的直观意义就是,我们把输入数据各个维度的数据都中心化到0了。这么做的目的是减小计算量,把数据从原先的标准坐标系下的一个个向量组成的矩阵,变成以这些向量的均值为原点建立的坐标系,使用python的numpy工具包,这一步可以用X -= np.mean(X, ...转载 2018-12-13 21:01:28 · 4456 阅读 · 0 评论 -
opencv cvSetImageROI 基于给定的矩形设置图像的 ROI(感兴趣区域)
1.void cvSetImageROI( IplImage* image, CvRect rect );image 图像. rect ROI 矩形. 函数 cvSetImageROI 基于给定的矩形设置图像的 ROI(感兴趣区域) . 如果ROI是NULL 并且参数RECT的值不等于整个图像, ROI被分配. 不像 COI, 大多数的 OpenCV 函数支持 ROI 并且处理它就像...转载 2018-11-15 18:17:59 · 547 阅读 · 0 评论 -
“+”: 不能添加两个指针 ,且表达式必须具有整数或未区分范围的枚举类型
1、“+”: 不能添加两个指针 。2、且表达式必须具有整数或未区分范围的枚举类型。源码如下:int i=0;sprintf_s(image_name, "%s%d%s", "image", i, ".jpg");cv::imwrite("C:\\Users\\admin\\Desktop\\newimages\\" +image_name, frame);这两个错误,是...原创 2018-09-10 18:16:29 · 28887 阅读 · 2 评论 -
opencv截取视频帧并保存为图片。
#include <stdio.h>#include <string>#include <iostream>#include <io.h>#include <fstream>#include <vector>#include <opencv2/opencv.hpp>using namespace原创 2018-09-10 18:16:07 · 2087 阅读 · 0 评论 -
opencv中的waitKey(0)不起作用的解决方法
opencv341中,调用wawitkey(0),就是不现实。或者一闪而过。 char response; std::cin >> response; //system("pause");以上两种方法都使用了,还是不行。 代码如下:using namespace cv;int main(){ // 读入一张图片 ...原创 2018-09-06 17:24:16 · 3071 阅读 · 2 评论 -
opencv:图像缩放函数resize
其函数原型如下:void cv::resize ( InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, int interpolation = INTER_LINEAR ) 参数解释:. InputArray src: 输入...原创 2018-08-21 16:51:25 · 1691 阅读 · 0 评论