Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Mat temp
opencv c++入门(1-30)持续更新
来源bilibiliOpenCV4 C++ 快速入门视频30讲 图像加载与显示 读取图像 imread() 返回一个 **Mat **对象; 展示图像 imshow(); waitKey(int num) ; num = 0 表示等待(阻塞),num > 0 停顿num毫秒; cv::namedWindow("窗口名");: 有其他重载和参数:如下 cv::imread("图片路径",flag);:第二个参数是一个 flag,指定了应该读取图像的方式;( 只支持8位或浮点数类显示,其它类型有点问题 ) 例子如下代码; IMREAD_COLOR:加载彩色图像,任何图像的透明度都会被忽略,它是默认标志 IMREAD_GRAYSCALE:以灰度模式加载图像 IMREAD_UNCHANGED:加载图像,包括 alpha (透明)通道 `` #include <iostream> #include "opencv2/opencv.hpp" int main() { cv::Mat img = cv::imread("cfy.jpg",cv::IMREAD_GRAYSCALE);...
六自由度JAKA机器人基于视觉的多颜色方块抓取(色块颜色识别、坐标提取、旋转角度提取)-CSDN博客
目录 一、任务描述 基于JAKA ZU3机器人平台与固定位置的彩色相机(非垂直),完成不同颜色木块的识别与抓取。编写图像处理算法获取图像中方块的位姿和颜色,并用机器人抓取。 图1:实验主要对象 二、视觉处理方案(重点) 本次实验中,视觉处理主要分为两部分,即图像坐标系同机器人 XY 平面坐标系之间的单应矩阵计算及坐标转换;方块图像采集、处理,最终提取图像中所有方块的属性,包括位置、角度和颜色。 单应性矩阵的计算原理同“文档矫正”类似,但本实验中要注意三维平面的映射关系。如下图2,定义世界坐标系的原点在Jaka机器人底座,经验证,Jaka坐标系与世界坐标系之间无旋转映射,仅有Z坐标中的差距,两坐标系之间的刚体变换关系如下: 图2:平面机器人视觉系统坐标关系...
Opencv快速入门(C++版)_opencv c++入门_非常颜色的博客-CSDN博客
Excerpt Opencv快速入门(C++版)前言1、图像的读取与显示所使用的API接口:代码演示:2、图像色彩空间转换所使用的API接口:代码演示:3、图像对象的创建与赋值所使用的API接口:代码演示:4、像素的读写操作所使用的API接口:代码演示:5、像素的算术操作所使用的API接口:代码演示:6、滚动条调整图像亮度与对比度所使用的API接口:代码演示:7、键盘响应所使用的API接口:代码演示:8、Opencv自带颜色表操作(滤镜)所使用的API接口:代码演示:9、像素逻辑操作所使用的API接口:代码演示:10、通道 前言 1、图像的读取与显示 所使用的API接口: 代码演示: 2、图像色彩空间转换 所使用的API接口: 代码演示: 3、图像对象的创建与赋值 所使用的API接口: 代码演示: 4、像素的读写操作 所使用的API接口: 代码演示: 5、像素的算术操作 所使用的API接口: 代码演示: 6、滚动条调整图像亮度与对比度 所使用的API接口: 代码演示: 7、键盘响应 所使用的API接口: 代码演示: 8、Opencv自带颜色表操作(滤镜) 所使用的API接口:...
【OpenCV】 车辆识别 运动目标检测
目录 步骤一:灰度化处理 //1 灰度处理 目的 RGB三通道转灰度单通道 压缩到原图片三分之一大小 cvtColor(frontFrame,frontGray,CV_RGB2GRAY);//前一帧灰度化处理 cvtColor(afterFrame,afterGray,CV_RGB2GRAY);//后一帧灰度化处理 //imshow("frontGray",frontGray);//测试 //imshow("afterGray",afterGray);//测试 步骤二:帧差处理 //2 帧差处理 目的 找到帧与帧之间的差异(正在运动的物体) Mat diff; Mat frontGray,afterGray; absdiff(frontGray,afterGray,diff);//前后帧对比存于diff中 imshow("diff",diff);//测试 步骤三:二值化处理 //3 二值化处理 目的 将灰度图继续识别转换为黑白分明的图像 threshold(diff,diff,25,255,CV_THRESH_BINARY);...
【OpenCV】车辆识别 C++ OpenCV 原理介绍 + 案例实现
前言 本文主要以车辆识别为目标,利用 C++语言 结合 Qt + OpenCV 进行图像处理相关步骤的讲解 💻二值化处理 二值化:是通过遍历灰度图中点,将图像信息二值化处理,处理过后的图片只有黑白两种色值 💻膨胀、腐蚀 膨胀和腐蚀是针对图片的二值化数据进行操作的主要是针对高亮部分 1️⃣膨胀过程 膨胀是求局部最大值的操作,核B与图形卷积,即计算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素,这样就会使图像中的高亮区域逐渐增长 2️⃣腐蚀过程 腐蚀可以理解为B的中心(锚点)沿着A的内边界走了一圈。腐蚀也是对高亮部分而言,A区域之外的部分 < A的高亮像素,所里里面被外面取代 💻开运算、闭运算 1️⃣开运算:先腐蚀再膨胀,用来消除小物体 2️⃣闭运算: 先膨胀再腐蚀,用于排除小型黑洞 Step1:灰度处理 将传入的两帧先进行处理,先将其转化成RGB类型图片再转化为灰度图 cvtColor(frontFrame,frontGray,CV_BGR2GRAY);//前一帧灰度处理...
Qt+OpenCV联合开发(十九)--鼠标操作与响应_qtopencv 鼠标_ze言的博客-CSDN博客
如果你想要用鼠标在图上做标记等,就要用到创建鼠标回调函数的函数setMouseCallback(),以及鼠标事件回调函数onMouse()。 通过鼠标对图像视窗最常见的操作有: 左键单击按下 左键单击抬起 左键按下拖动 鼠标指针位置移动 1、setMouseCallback()函数 c++原型 void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0); winname 窗口的名字 onMouse 鼠标回调函数(响应函数)。监视到鼠标操作后调用并处理相应动作。 这个函数的原型应该为void on_Mouse(int event, int x, int y, int flags, void* userdata); userdate 传给回调函数的参数(鼠标响应处理函数的ID,识别号) 2、MouseCallback onMouse()函数 c++原型 void on_Mouse(int event,int x,int y,int flags,void...
opencv鼠标事件函数setMouseCallback()详解_chainbees的博客-CSDN博客
opencv鼠标事件函数setMouseCallback()详解 1、鼠标事件函数: (1)鼠标事件函数原型:setMouseCallback(),此函数会在调用之后不断查询回调函数onMouse(),直到窗口销毁 void setMouseCallback( const String& winname, MouseCallback onMouse, void* userdata = 0 ) 参数解释: winname:窗口名称; onMouse:回调函数; userdata:传递给回调函数用户自定义的外部数据,userdata是一个 void 类型的指针; (2)回调函数onMouse(),可随意命名,但是要与 setMouseCallback()函数里的回调函数名称一致 void onMouse( int event, int x, int y, int flags, void *userdata ) 参数解释: event:表示鼠标事件类型的常量( #define CV_EVENT_MOUSEMOVE 0 #define CV_EVENT_LBUTTONDOWN 1...
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Mat
Contact Mat, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack