![](https://img-blog.csdnimg.cn/20210528133632733.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
OpenCV
文章平均质量分 86
OpenCV
SOC罗三炮
嵌入式软件开发,ARM CPU架构研究,某厂芯片SOC系统验证工程师
展开
-
Qt开源项目:校医院远程诊断系统介绍
本人研一参考技术书籍开发的一款Qt程序,两年前已上传到GitHub,有兴趣的同学可以去看看。可能之前上传的项目不够完整,导致有一些同学没有在自己的环境上跑通,所以今天将整个工程都重新上传一遍,包括使用到的opencv的动态链接库。原创 2023-04-21 23:09:12 · 6567 阅读 · 4 评论 -
Qt中中opencv使用imread()读取图片失败问题及解决办法
目录问题描述:imread()函数不能识别Qt的路径命名规则解决办法一,先将图片文件读取成比特流,再使用opencv中imdecode()函数将比特流解码成Mat图像二,先将图片读取成QImage格式,再将QImage格式转换为Mat格式问题描述:imread()函数不能识别Qt的路径命名规则我的程序中有这样一段代码: QString ctImgPath = "CT.jpg";//图片文件与主函数文件在同一个文件夹 Mat ctImg = imread(ctImg原创 2021-05-12 10:51:14 · 6279 阅读 · 2 评论 -
机器人视觉手眼标定学习笔记
常用术语:位姿:位置与姿态,为了描述空间物体的位置与姿态,我们一般先在物体上设置一个坐标系(位姿)。工具坐标系:我们通常采用设置于机器末端执行器上的工具坐标系(相对于设置于操作臂固定底座的基坐标系)来描述操作臂的位置。TCP:工具中心点,Tool Central Point。操作点。手眼标定的作用将机器人的行为与机器人视觉传感器有机的结合到一起,通过运算使得机器人的手眼成为一个整体,使得机器人的手部可以与眼部获得的外部信息进行智能的动态交互。Eye-to-Hand是指机械臂与摄像原创 2021-02-27 23:46:04 · 2417 阅读 · 1 评论 -
opencv使用findContours寻找物体轮廓
OpenCV中的findContours函数是用来检测物体的轮廓函数原型:CV_EXPORTS_W void findContours( InputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset = Point());/**原创 2020-12-26 19:57:28 · 2030 阅读 · 2 评论 -
opencv从文件中读取图片imread()函数以及Mat对象的复制方法
@briefLoadsanimagefromafile.@anchorimreadThefunctionimreadloadsanimagefromthespecifiedfileandreturnsit.Iftheimagecannotberead(becauseofmissingfile,improperpermissions,unsupportedorinvalidformat),thefunctionreturns...原创 2020-12-26 14:10:57 · 2752 阅读 · 0 评论 -
opencv形态学运算:腐蚀(erode)和膨胀(dilate)
形态学操作就是基于形状的一系列图像处理操作。OpenCV为进行图像的形态学变换提供了快捷、方便的函数。最基本的形态学操作有二种,他们是:膨胀与腐蚀(Dilation与Erosion)。膨胀与腐蚀能实现多种多样的功能,主要如下:消除噪声 分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素。 寻找图像中的明显的极大值区域或极小值区域 求出图像的梯度腐蚀和膨胀是针对白色部分(高亮部分)而言的。膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域; 腐原创 2020-12-25 22:43:11 · 8462 阅读 · 0 评论 -
opencv漫水填充算法floodfill
定义: 漫水填充算法是一种用特定颜色填充连通区域,通过设置像素上下限及连通方式来达到不同的连通效果。漫水填充经常用来标记或分离图像的一部分,以便于对其进行进一步的处理和分析。也可以从输入图像获取掩码区域,掩码会加速处理过程,或只处理掩码指定的像素点,操作的结果总是某个连续的区域。所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色。漫水填充算法是根据像素灰度值之间的差值寻找相同区域实现分割。我们可以将图像的灰度值理解成像素点的高度,这样一张图...原创 2020-12-25 21:34:54 · 1508 阅读 · 2 评论 -
opencv中Canny边缘检测算法
Canny算子canny边缘检测算子是John F.Canny于 1986 年开发出来的一个多级边缘检测算法。更为重要的是 Canny 创立了边缘检测计算理论(Computational theory ofedge detection),解释了这项技术是如何工作的。Canny边缘检测算法以Canny的名字命名,被很多人推崇为当今最优的边缘检测的算法。其中,Canny 的目标是找到一个最优的边缘检测算法,让我们看一下最优边缘检测的三个主要评价标准:好的检测- 算法能够尽可能多地标识出图像中的实际.原创 2020-12-25 19:59:39 · 5710 阅读 · 1 评论 -
opencv阈值操作threshold以及图像二值化
[virtual slot] int QDialog::exec()Shows the dialog as a modal dialog, blocking until the user closes it. The function returns a DialogCode result.If the dialog is application modal, users cannot interact with any other window in the same application u.原创 2020-12-25 16:55:26 · 2709 阅读 · 2 评论 -
opencv使用霍夫圆算法HoughCircles进行圆检测
@brief Finds circles in a grayscale image using the Hough transform.The function finds circles in a grayscale image using a modification of the Hough transform.Example: :@include snippets/imgproc_HoughLinesCircles.cpp@note Usually the function...原创 2020-12-23 22:10:56 · 4710 阅读 · 0 评论 -
opencv模板匹配matchTemplate
模板匹配的原理模板匹配可以说是一种最简单的模式识别方法,它的实现主要是通过模板图像在被匹配图像中的平移,在被匹配图像中逐个区域寻找和模板图像相似的区域,如果存在某区域的相似度大于一定的阈值,则表明该区域和模板图像是相匹配的。但是模板匹配这种方式具有很大的自身局限性:首先它利用一个规定好的模板进行匹配,这就导致了想要匹配出来的结果必须在大小和角度上和模板图像一模一样,一旦原图像中的匹配目标发生旋转或大小变化,就会导致匹配准确率急剧下降。而且模板图像在原图像中进行移动的时候,只能够平行地上、下、左原创 2020-12-22 19:06:22 · 1352 阅读 · 0 评论 -
opencv仿射变换:平移,缩放和旋转
仿射变换原理仿射变换(Affine Transformation或 Affine Map),又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。它保持了二维图形的“平直性”(即:直线经过变换之后依然是直线)和“平行性”(即:二维图形之间的相对位置关系保持不变,平行线依然是平行线,且直线上点的位置顺序不变)。一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式。可以表示为线性变换和平移变换的叠加我们能够用仿射变换来表示原创 2020-12-22 14:52:42 · 3322 阅读 · 0 评论 -
opencv使用addweighted()实现两幅图融合相加
函数原型:CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype = -1);/** @example samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cppCh原创 2020-12-21 20:19:34 · 2048 阅读 · 0 评论 -
opencv中常用的滤波方法:中值滤波、均值滤波、方框滤波、高斯滤波和双边滤波
图像滤波图像的滤波目的有两个:抽出图像的特征作为图像识别的特征模式; (特征提取) 为适应图像处理的要求,消除图像数字化时所混入的噪声; (去噪)图像的平滑处理:平滑滤波是指低频增强的空间滤波技术。主要目的是模糊和消除噪音;常用的5种图像平滑处理操作方法:1)方框滤波——boxFilter函数2)均值滤波——blur函数3)高斯滤波——GaussianBlur函数4)中值滤波——medianBlur函数5)双边滤波——bilateralFilter函数前三种都属于...原创 2020-12-21 17:30:57 · 2356 阅读 · 0 评论 -
使用opencv的cvtColor()函数进行色彩空间转换
opencv 的cvtColor()函数,用于在图像中不同的色彩空间进行转换(Converts an image from one color space to another),色彩模式决定了打印或显示的图片颜色。函数原型:CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );cvtColor()函数用于实现图像的色彩空间转换,一般包括四个参数,cvtColor(sr..原创 2020-12-21 15:24:44 · 4833 阅读 · 0 评论 -
python使用opencv实现移动检测和人脸识别
python使用opencv打开摄像头实现人脸识别和移动检测并将检测到的人脸保存,代码如下:import cv2import time'''import numpy as np''''''===================================================================================='''#人脸识别:def getface(image): # 创建 classifier clf = cv2.原创 2020-10-12 20:39:19 · 1054 阅读 · 0 评论 -
Qt5.13.2中配置opencv4.5.0踩坑记录
目录cmake编译opencv时速度过慢或超时mingw32-make时报错错误一 [modules\core\CMakeFiles\opencv_core.dir\build.make:1494: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1错误二 [modules\core\CMakeFiles\opencv_core.dir\build.make:1708: bin/libopencv_co...原创 2020-12-19 22:46:43 · 7459 阅读 · 2 评论 -
C++opencv改变图片对比度和亮度convertTo()
改变图片的对比度和亮度可直接使用opencv库中的像素转换函数convertTo()。Mat MainWindow::imgProc(Mat myImg,float contrast, int brightness){ Mat imgSrc = myImg; Mat imgDst = Mat::zeros (imgSrc.size(),imgSrc.type ());//生成零像素矩阵 imgSrc.convertTo (imgDst,-1,contrast,bri原创 2020-12-21 11:21:54 · 1417 阅读 · 0 评论