Opencv
find12
这个作者很懒,什么都没留下…
展开
-
opencv像素整体取反
cv::Mat pimg;pimg = ~pimg;转载 2020-06-23 11:34:17 · 346 阅读 · 0 评论 -
opencv改变imshow窗口大小,窗口位置的方法
原文链接cv2.namedWindow("enhanced",0);cv2.resizeWindow("enhanced", 640, 480);cv2.imshow("enhanced",lines)cv2.waitKey(0)创建窗口时候改变下参数就可以鼠标随意拖动窗口改变大小啦cv::namedWindow("camera", CV_WINDOW_NORMAL);//CV_WINDOW_NORMAL就是0cv::imshow("camera", frame);cv2.n.转载 2020-06-02 16:19:02 · 6567 阅读 · 0 评论 -
opencv打开摄像头并添加时间水印
#include<opencv2/opencv.hpp>#include<iostream>#include <time.h>#include <time.h>using namespace std;using namespace cv;void drawText(Mat & image, char* time);int main(int argc,char **argv){ VideoCapture capture(0.原创 2020-06-01 14:44:37 · 825 阅读 · 0 评论 -
struct tm,time,localtime,mktime,ctime,gmtime,difftime,asctime,strftime
1. struct tmint tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int tm_year;int tm_wday;int tm_yday;int tm_isdst;转载 2020-06-01 11:41:53 · 224 阅读 · 0 评论 -
opencv打开摄像头并在图像中显示hello opencv
#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"#include "opencv2/videoio.hpp"#include <iostream>using namespace cv;using namespace std;void drawText(Mat & image);int main(){ cout << ".原创 2020-05-31 16:31:20 · 325 阅读 · 0 评论 -
OpenCV实践之路——画出时钟并动态同步系统时间
原文链接过程大致分为两步:第一步,画出时钟;第二步,同步系统时间。其中第一步是跟opencv相关,第二步不太了解,不作过多记录。一个简单的时钟就是线段和圆的组合。包括最外围的圆,60根刻度线(其中12根整点刻度线)和时针分针秒针三根长的线段。画圆最简单:创建一个长宽相等的图片,以图片中心为中心,以一半的图片长宽为半径画圆即可。画线段就相对麻烦许多,因为一共要画60+12+3=75根线段。opencv的画线函数line()需要知道线段的起始点,而我们需要画的75根直线的起始点各不相同,我.转载 2020-05-31 16:27:42 · 262 阅读 · 0 评论 -
Ubuntu16.04下OpenCV调用笔记本摄像头
1,新建一个test.cpp文件,插入下列代码,保存#include<opencv2/opencv.hpp>#include<iostream> using namespace std;using namespace cv; int main(int argc,char **argv){ VideoCapture capture(0); namedWindow("myCamera",CV_WINDOW_AUTOSIZE); while(tr转载 2020-05-31 11:42:45 · 729 阅读 · 0 评论 -
OpenCV waitKey,等待按下确定按键然后退出
while(char(waitKey(1))!='q'){}原创 2020-04-07 15:51:31 · 4183 阅读 · 0 评论 -
OpenCV三通道图转换一通道
cvtColor(src,dst,CV_BGR2GRAY); //例如8位彩色图像转成灰度图像原创 2020-04-07 15:01:30 · 4356 阅读 · 0 评论 -
ROS使用OpenCV读取图像并发布图像消息在rviz中显示
思路:(1)使用opencv读取本地图像(2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示1.使用opencv读取本地图像并发布图像消息(1)利用catkin新建一个工程叫rosopencv,并进行初始化 mkdir -p rosopencv/src cd rosopencv/src catkin_create_pkg...转载 2020-03-08 18:10:15 · 2672 阅读 · 1 评论 -
编译时手动链接opencv库
g++ *.cpp *.h -o change `pkg-config opencv --cflags --libs`原创 2019-12-27 14:52:05 · 811 阅读 · 0 评论 -
morphologyEx(形态学操作
概念利用morphologyEx这个函数可以方便的对图像进行一系列的膨胀腐蚀组合。函数讲解●函数原型void morphologyEx( InputArray src, OutputArray dst, int op, InputArray kernel, ...转载 2019-12-26 21:32:30 · 3917 阅读 · 0 评论 -
ROS:OpenCV读取摄像头并发布话题
ROS:OpenCV读取本地照片发布到rviz中ROS读取摄像头视频数据发布到rviz中#include <ros/ros.h>#include <image_transport/image_transport.h>#include <opencv2/highgui/highgui.hpp>#include <cv_bridge/cv_b...原创 2019-12-16 22:35:54 · 1791 阅读 · 0 评论 -
OpenCV 将单通道的Mat对象转换为三通道的Mat
原文链接在项目中遇到一个问题,调用别人编好的库需要传入三通道的彩色图像。但是我的图像经过处理后已经是二值化的图像了,所以得想想办法了。分析:三通道的彩色图像就是R,G,B三个通道,那么将我的单通道黑白图复制三份merge一下,不就是一张三通道图像了嘛,只不过有颜色只有黑白,实验了一下果然可以用了。废话不多说,上代码:/*****************************...转载 2019-12-17 22:54:52 · 1933 阅读 · 0 评论 -
opencv获取图像的宽度、高度、通道数
一、C++宽度:img.rows高度:img.cols通道数(depth):img.channels()注意:channels是函数,别忘了后面的括号二、Python用shape()属性shape[0]是宽度shape[1]是高度shape[2]是通道数(深度)直接看图...转载 2019-12-17 22:43:56 · 5086 阅读 · 2 评论 -
MATLAB中的坐标系与opencv中的坐标系
MATLAB中的坐标系matlab 图像中图像坐标系与plot、 imrotate坐标系的区别图像坐标系是以图像左上角为原点,访问图像像素点img(m,n),如下图所示:plot的坐标系,以图像左上角为原点,在图像中划线时,plot(x,y),如下图所示:参考链接opencv中的坐标系最近,被opencv中图像的坐标系折磨得日渐消瘦。cols == wi...转载 2019-11-23 17:58:33 · 1062 阅读 · 0 评论 -
Opencv7:Mat与unsigned char[ ]类型的相互转换
Opencv7:Mat与unsigned char[ ]类型的相互转换(1)前言:参考其他博客编写的利用积分图优化的均值滤波函数中,输入参数和输出参数均为unsigned char *类型,无法直接传入Mat类型参数,因此需要进行Mat与unsigned char[ ]类型的相互转换。(2)Mat转化为unsigned char[ ]类型: //【1】原图像格式转换[mat转un...转载 2019-11-20 11:32:36 · 2205 阅读 · 0 评论 -
openCv:IplImage的变量imageData解释
前言阅读老旧的opencv的代码,发现了这一句话:IplImage *img = w->img;cout<< ((uchar(*))(img->imageData + (img->widthStep)[100]))[5] <<endl;百度imageData,发现只是很模糊的描述“imageData指向存储图像数据的一块数据区”、“排列的...转载 2019-11-19 18:59:01 · 366 阅读 · 0 评论 -
OpenCv中的行、列
转载 2019-11-19 15:51:46 · 248 阅读 · 0 评论 -
基于深度摄像头的障碍物检测(realsense+opencv)
原文链接前几天老大给了个任务,让我帮slam组写一个基于深度摄像头的障碍物检测,捣鼓了两天弄出来了,效果还不错,就在这里记一下了。代码的核心思路是首先通过二值化,将一米之外的安全距离置零不考虑,然后通过开运算去除掉一些噪点(这个后来发现不一定有必要),在求出所有障碍物的凸包,这个时候要计算面积,当面积小于一定的阈值的时候不予考虑,最终输出障碍物的凸包坐标。//find_obstacle...转载 2019-05-11 10:31:14 · 11665 阅读 · 21 评论 -
二维数组赋值给opencv mat 并打印 mat
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>using namespace std;using namespace cv;void InitMat(Mat& m,flo...原创 2019-04-26 11:09:29 · 1140 阅读 · 0 评论 -
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor
原文链接OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/imgproc/src/color.cpp, line 3737terminate called after throwing an insta...转载 2019-07-10 01:35:07 · 7376 阅读 · 2 评论 -
在ROS中使用OpenCV进行简单的图像处理---代码实现篇
原文链接再上一篇blog中,笔者总结了ROS系统中使用OpenCV库的进行简单图像处理的原理、系统相关的设置和程序包的下载。在这篇博客中,笔者将从代码层面介绍如何实现在ROS系统中读取图片,并使用OpenCV进行图像处理,在返回结果。实例:从ROS中读取图象,转换后将彩色图象变成灰度图象,并返回灰度图象,转换后在ROS下输出。正文1. 在ROS下创建工作空间工作空间(wor...转载 2019-06-20 18:49:35 · 8290 阅读 · 1 评论 -
opencv 梯度 与 MATLAB 中的梯度函数gradient
原文链接在opencv 中Mat可以进行矩阵运算,Sobel可以求矩阵的梯度,函数接口和参数含义如下:CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth,int dx, int dy, int ksize=3,double scale=1, double delta=0,int borderType=BO...转载 2019-04-26 22:58:38 · 1251 阅读 · 0 评论 -
opencv修改mat中的值
原文链接#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"#include <iostream>using namespace cv;using namespace std;int main(){ Mat mat_src = M...转载 2019-04-26 16:15:43 · 7299 阅读 · 0 评论 -
二维数组赋值给openCV Mat
编译命令 :g++ arry_cv.cpp `pkg-config opencv --cflags --libs`#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>using nam...原创 2019-04-26 13:47:48 · 2095 阅读 · 0 评论 -
opencv mat 类型转换 CV_32FC1--CV_8U
g++ arry_cv.cpp `pkg-config opencv --cflags --libs`原文链接我试图使用imshow功能显示CV_32F类型的图像,但它显示一个WHITE图像。在Documentation中,它给出的浮点图像将映射到0-255并显示,但它只显示一个白色图像。我尝试将其转换为CV_8U使用Mat A=Mat::ones(300,300,CV_3...转载 2019-04-26 13:46:31 · 12660 阅读 · 0 评论 -
opencv 在图中绘图(矩形框,线段,点,圆)
原文鏈接转载 2019-05-08 10:46:24 · 592 阅读 · 0 评论 -
opencv mat格式数据与数组的转化
参考网址 mat→数组OpenCV中Mat与二维数组的相互转换在OpenCV中将Mat(二维)与二维数组相对应,即将Mat中的每个像素值赋给一个二维数组。全部代码如下:#include <iostream>#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hp...转载 2019-03-30 16:55:14 · 21420 阅读 · 0 评论 -
在ROS中使用opencv-灰度处理
原文链接#include<ros/ros.h> //ros标准库头文件#include<iostream> //C++标准输入输出库/* cv_bridge中包含CvBridge库*/#include<cv_bridge/cv_bridge.h>/* ROS图象类型的编码函数*/#include<sensor_msgs/ima...转载 2019-03-10 21:28:37 · 668 阅读 · 0 评论 -
OpenCV获取彩色图像某一通道的最大连通域
原文链接 作者:Augusdi #include <stdio.h>#include <cv.h> #include <highgui.h> #include <cxcore.h> #include <vector> #include <algorithm> #pragma comment(lib, "c...转载 2018-11-08 22:31:57 · 904 阅读 · 0 评论 -
openCV矩阵运算
原文链接参考链接Mat矩阵mul——A.mul(B)Opencv中mul会计算两个Mat矩阵对应位的乘积,所以要求参与运算的矩阵A的行列和B的行列数一致。计算结果是跟A或B行列数一致的一个Mat矩阵。以简单的情况为例,对于2*2大小的Mat矩阵A和B:对A和B执行mul运算:mul说明:1. mul操作不对参与运算的两个矩阵A、B有数据类型上的要求,但要...转载 2019-04-27 16:16:51 · 605 阅读 · 0 评论 -
opencv Mat sqrt运算
#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"//#include <cmath>#include <iostream>using namespace cv;using namespace std;int main(){ ...原创 2019-04-28 11:33:56 · 7654 阅读 · 0 评论 -
使用OpenCV对图像进行缩放
OpenCV:图片缩放和图像金字塔对图像进行缩放的最简单方法当然是调用resize函数啦!resize函数可以将源图像精确地转化为指定尺寸的目标图像。要缩小图像,一般推荐使用CV_INETR_AREA来插值;若要放大图像,推荐使用CV_INTER_LINEAR。现在说说调用方式第一种,规定好你要图片的尺寸,就是你填入你要的图片的长和高。#include<opencv...转载 2019-05-12 13:48:28 · 11401 阅读 · 3 评论 -
C++ vector 实现二维数组,赋值
vector二维数组赋值vector<vector<float> >bk;vector<float> MM; MM.push_back(1); MM.push_back(22); MM.push_back(3); MM.push_back(6); bk.push_back(MM);原文链接(1...原创 2019-05-11 15:19:30 · 53930 阅读 · 5 评论 -
opencv笔记——得到轮廓之后找到凸包convex hull
原文链接当我们得到一张轮廓之后,我们可以对其运用convexHull方法,寻找该轮廓的凸包。一个轮廓可以有无数个包围它的外壳,而其中表面积最小的一个外壳,就是凸包。voidconvexHull(InputArraypoints, OutputArrayhull, boolclockwise=false, boolreturnPoints=true)points是一个c...转载 2019-05-11 13:26:35 · 1913 阅读 · 0 评论 -
用opencv库来检测ros深度图像数据中的障碍
原文链接获得深度图像数据,转成cv::Mat格式cv::Mat depthMat(depthi->getHeight(), depthi->getWidth (), CV_16UC1, depth_map);清除1米外的数据int nr = depthMat.rows; // number of rows int nc = depthMat.cols; // n...转载 2019-05-11 10:49:35 · 956 阅读 · 1 评论 -
opencv – 将Mat对象的类型从CV_32F更改为CV_8U
原文链接我试图使用imshow功能显示CV_32F类型的图像,但它显示一个WHITE图像。在Documentation中,它给出的浮点图像将映射到0-255并显示,但它只显示一个白色图像。我尝试将其转换为CV_8U使用Mat A=Mat::ones(300,300,CV_32FC1)*1000;do some processing – assigning float values t...转载 2019-05-10 20:09:06 · 5796 阅读 · 0 评论 -
opencv Mat CV_32FC1格式数据以灰度图形式显示出来
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h> using namespace std;using namespace cv;//用二维数组初始化opencv Mat void...原创 2019-05-07 11:03:33 · 4794 阅读 · 0 评论 -
OPENCV二值化图像内孔洞填充/小区域去除
转载链接来源:http://lib.csdn.net/article/opencv/28353 原作者:robberjohn 博客已删除了,源码下载链接在 http://download.csdn.net/download/robberjohn/8474913 http://blog.csdn.net/robberjohn/ar...转载 2019-05-01 10:50:48 · 2511 阅读 · 1 评论