cv
  • 2025-01-06opencv projectPoints函数
    cv::projectPoints是OpenCV中用于将三维点投影到二维图像平面的函数。它通常用于计算在相机坐标系下的三维点在图像坐标系中的位置,考虑了相机的内参和外参。函数原型voidcv::projectPoints(InputArrayobjectPoints,InputArrayrvec,InputArraytvec,In
  • 2025-01-05NODEFAULTLIB:LIBCMTD
    1>正在创建库D:\cv\CC++source\RecorderServer\CTI_HZ\mshzclient\Debug\mshzclient.lib和对象D:\cv\CC++source\RecorderServer\CTI_HZ\mshzclient\Debug\mshzclient.exp1>LINK:warningLNK4098:默认库“LIBCMTD”与其他库的使用冲突;请使用/NODEFAULTLIB:library 
  • 2025-01-03Ubuntu 下编译带有 HighGui 支持的 OpenCV:解决 “The function is not implemented Rebuild the library with Win” 问题
    前言:当我们在Ubuntu系统下使用cv::imshow、cv::namedWindow等函数时,如果编译的OpenCV未启用对应的GUI后端(如GTK、Qt等),就会出现类似“Thefunctionisnotimplemented.RebuildthelibrarywithWindows,GTK+2.xorCocoasupport…”的错误。这里记录一
  • 2025-01-03静态变量:无法解析的外部符号 "public: static class cv::Mat (* utilities::rmap)[2]
    出现“无法解析的外部符号”错误通常是由于链接器找不到某个符号的定义。这种情况一般有几个可能的原因:1.符号未定义您可能在代码中声明了一个静态变量,但没有提供定义。比如,如果您在类中声明了一个静态成员变量,但没有在源文件中定义它,链接器就会报错。示例://utilities.hnam
  • 2025-01-02opencv中标定函数
    calibrateCamera在OpenCV中,calibrateCamera函数用于进行相机标定,估计相机的内参和外参。相机标定的目的是确定相机在三维空间中的位置和方向,以及其光学特性。函数原型doublecv::calibrateCamera(conststd::vector<std::vector<cv::Point3f>>&objectPoints,cons
  • 2025-01-02opencv的亚像素角点检测函数cornerSubPix
    在OpenCV中,cornerSubPix函数用于对角点的亚像素精确化。这个函数可以提高角点检测的精度,通常在角点检测之后使用,如在Harris或Shi-Tomasi角点检测之后。函数原型voidcv::cornerSubPix(InputArrayimage,InputOutputArraycorners,SizewinSize,Size
  • 2025-01-02opencv中findCirclesGrid在标定时使用,blobDetector 参数怎么定义?
    在OpenCV中,findCirclesGrid是一个用于检测图像中的圆形格点(通常用于相机标定或校正的检测目标)的函数。它可以用于查找在特定模式下排列的圆形图案,如棋盘格或圆形网格。该函数是相机标定和立体视觉的重要工具。函数原型boolcv::findCirclesGrid(InputArrayimage,S
  • 2025-01-02opencv Size()默认是多少
    在OpenCV中,Size类用于表示二维尺寸,通常用于图像的宽度和高度。Size的默认构造函数会创建一个大小为(0,0)的对象。默认构造当你使用默认构造函数时,如下所示:cv::SizedefaultSize;在这里,defaultSize的宽度和高度都会被初始化为0。你可以通过以下方式访问它们:std::cou
  • 2025-01-02opencv Mat::eye干嘛的
    在OpenCV中,Mat::eye是一个用于创建单位矩阵(对角线元素为1,其余元素为0)的静态方法。单位矩阵在许多数学和计算机视觉应用中非常重要,特别是在变换和图像处理中。用法Mat::eye的基本语法如下:cv::Matcv::Mat::eye(introws,intcols,inttype);参数rows:矩阵的行数。
  • 2024-12-31利用CUDA编程实现在GPU中对图像的极坐标变换加速
    问题来源:1.需要对输入图像中的一个环形区域,进行极坐标逆变换,将该环形区域转换为一张新的矩形图像2.opencv没有直接对环形区域图像进行变换的函数,需要通过循环遍历的方式,利用polarToCart进行转换3.循环遍历不可避免的带来速度上的问题,尤其是图片较大时解决思路1:使用open
  • 2024-12-31使用libtorch对光度立体算法(photometric stereo)进行加速(C++)
    光度立体法是一种三维重建方法,在一些表面产品的缺陷检测有较多的应用(具有深度的缺陷),但是光度立体法需要对每个像素点都求解一个线性方程组L(n*3)*N(3*1)=I(n*1)(n为光源数),在cpu中计算是非常耗时的。本文借助libtorch,在gpu中通过卷积的方式,实现方程组的求解,耗时大约为cpu
  • 2024-12-31机器学习 实验六
    #导入必要的库fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_validatefromsklearn.naive_bayesimportGaussianNBfromsklearn.metricsimportaccuracy_score,precision_score,recall_score,f1_scoreimportnumpyasnp
  • 2024-12-31机器学习 实验八
    #导入必要的库fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_validatefromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportaccuracy_score,precision_score,recall_score,f1_scoreimportnu
  • 2024-12-31从0开始的opencv之旅(1)cv::Mat的使用
    目录Mat存储方法创建一个指定像素方式的图像。尽管我们完全可以把cv::Mat当作一个黑盒,但是笔者的建议是仍然要深入理解和学习cv::Mat自身的构造逻辑和存储原理,这样在查找问题,或者是遇到一些奇奇怪怪的图像显示问题的时候能够快速的想到问题的跟源。这是笔者打算从这里开
  • 2024-12-31从0开始的Opencv之旅(到尝试构建一个图像编辑器):0,opencv demo
    关于opencv的下载,参考笔者的博客OpenCV4.9.0+扩展+WITH_QT(Qt6)模块编译教程(Windows)_opencv4.9qt-CSDN博客大伙都知道,opencv是一个图像处理的一个重要的库。在OpenCV4中,我们有多个模块。每个模块负责不同的图像处理领域或方法。先不着急仔细一头扎进我们的图像处理里去,
  • 2024-12-27C#调用C++代码,以OpenCV为例
    前言使用C#调用C++代码是一个很常见的需求,因此本文以知名的C++机器视觉库OpenCV为例,说明在C#中如何通过使用P/Invoke(平台调用)来调用C++代码。只是以OpenCV为例,实际上在C#中使用OpenCV可以使用OpenCVSharp这个项目,这是一个很优秀的项目,GitHub地址:https://github.com/shimat/opencv
  • 2024-12-27源码编译基于python3的cv_bridge
    源码位于工作空间visual下的ros_cv_bridgeubuntu20.04原生python版本就是python3,故直接用下列命令编译即可:catkin_make-DPYTHON_EXECUTABLE=$(whichpython)若编译过程中出现boost报错,把CMake文件中的boost改成python3即可find_package(PythonLibs)if(PYTHONLIBS_VERS
  • 2024-12-26【计算机视觉】轮廓检测
    一、轮廓检测在计算机视觉中,轮廓检测是另一个比较重要的任务,不单是用来检测图像或者视频帧中物体的轮廓,而且还有其他操作与轮廓检测相关。以下代码展示了如何使用OpenCV进行图像阈值处理、寻找图像轮廓和绘制轮廓的完整流程:1.1代码实现importcv2ascvimportnu
  • 2024-12-23学习笔记——opencv图像基本运算方法
    #include<opencv2/opencv.hpp>intmain(){//读取图片cv::Matimg=cv::imread("1.bmp");//检查图片是否成功读取if(img.empty()){std::cerr<<"Error:Loadingimage"<<std::endl;return-1;
  • 2024-12-19当前AIGC研究回顾—CV类
    AI技术本质是数据驱动(Data-Driven),模型能有效学习庞大数据,需要与数据规模相匹配的可学习参数规模(也要有对应的算力)因此,技术可分为两条主线:数据数据如果在模型外,主要就是数据集,更多是质量和标注的问题,即预处理数据如果在模型内,则主要操作的是潜空间(LatentSpace),
  • 2024-12-18OpenCV:C++——边框(copyMakeBorder )和轮廓(findContours ,
    一、添加边框1、函数声明        在OpenCV中,可以使用函数copyMakeBorder为图像设置边界。该函数可以为图像定义额外的填充(边框),原始边缘的行或列被复制到额外的边框。该函数声明如下:CV_EXPORTS_WvoidcopyMakeBorder(InputArraysrc,OutputArraydst,
  • 2024-12-16开课啦!DBA的自由职业开课啦
    ##开课啦!DBA的自由职业开课啦1、为什么开这个课目前我没有太多时间来进行一单又一单的客户服务,继6月份接到长期客户之后,就很少接新客户了,时间不足够,收入也能覆盖。最后是收到的私信较多。所以打算把我做自有职业这几年的过程梳理成一个课程留给需要的人。2、课程的内容
  • 2024-12-15YOLOv8目标检测——详细记录使用ONNX Runtime进行推理部署C++/Python实现
    概述在之前博客中有介绍YOLOv8从环境安装到训练的完整过程,本节主要介绍ONNXRuntime的原理以及使用其进行推理加速,使用Python、C++两种编程语言来实现。https://blog.csdn.net/MariLN/article/details/143924548?spm=1001.2014.3001.55011.ONNXRuntimeONNXRuntime是
  • 2024-12-13滑块验证码,滑块和有缺口的背景
    滑块验证码,滑块和有缺口的背景突破滑动验证码有缺口的背景内容importcv2ascvimportnumpyasnpimportosdeffind_p(img):ret,thresh=cv.threshold(img,127,255,0)img=cv.cvtColor(img,cv.COLOR_GRAY2BGR)contours,hierarchy=cv.fin
  • 2024-12-13opencv imshow 大图片显示,拖动显示
    用imshow显示大图片,不能完整显示,不方便。结合网友的代码,修改成现在的代码,可以拖动图片,方便查看完整图片。而且方便调试,只需要用MatShow替换imshow。structMouseParam{intm_WinWidth;//窗口大小intm_WinHeight;cv::Stringm_WinName;//窗口名称cv::Po