Cv
  • 2025-01-10python学opencv|读取图像(三十一)缩放图像的三种方法
    【1】引言前序学习进程中,我们至少掌握了两种方法,可以实现对图像实现缩放。第一种方法是调用cv2.resize()函数实现,相关学习链接为:python学opencv|读取图像(三)放大和缩小图像_pythonopencv读取图片缩放-CSDN博客第二种方法是在cv2.getRotationMatrix2D()函数旋转缩放图像时,
  • 2025-01-10python学opencv|读取图像(三十)使用cv2.getAffineTransform()函数倾斜拉伸图像
    【1】引言前序已经学习了如何平移和旋转缩放图像,相关文章链接为:python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像-CSDN博客python学opencv|读取图像(二十八)使用cv2.getRotationMatrix2D()函数旋转缩放图像-CSDN博客在此基础上,我们尝试倾斜拉伸图【2】核心代码
  • 2025-01-10OpenCV版本冲突解决
    前文提示,本文只是记录笔者成功的经历,方便笔者日后自行查看,故相对于其他文章并没有这么全面 推荐查看文章已放在文章末尾,推荐自行查看下载opencv源码https://opencv.org/releases/点进链接选择自己需要的版本即可(笔者使用的是3.4.5)问题描述笔者在编译开源代码时候,由于
  • 2025-01-10OpenCV插值运算---记录贴
    在Qt中结合OpenCV进行线性插值,并将3x3的数据扩展为15x15的图像显示,步骤可以分为以下几步:1.安装OpenCV2.创建3x3数据并进行线性插值我们可以使用OpenCV的cv::resize函数来执行线性插值,并且可以选择将数据从3x3转换为15x15。3.转换为图像并显示使用QI
  • 2025-01-10cv::reprojectImageTo3D 使用
    cv::reprojectImageTo3D是OpenCV中的一个函数,用于将视差图像转换为3D点云。它依赖于相机的内参和视差值来计算每个像素的3D坐标。以下是该函数的基本使用方法。函数原型voidcv::reprojectImageTo3D(constcv::Mat&disparity,cv::Mat&_3dImage,constcv
  • 2025-01-10cv::parallel_for_ 可以与 lambda 函数结合
    cv::parallel_for_是OpenCV中用于并行处理的一个函数,可以有效地利用多核CPU来加速计算。在OpenCV中,cv::parallel_for_可以与lambda函数结合使用,以简化代码并提高可读性。以下是如何将lambda函数与cv::parallel_for_结合的示例。示例:使用Lambda函数假设你想要对
  • 2025-01-08高PF低THD 离线CV控制器CRE6636
    CRE6636是一款具有高功率因数、低THD和高恒压精度的反激式控制器。通过原边即可完成控制的单级输出。CV系统设计方案,不需要二次侧反馈组件和光耦以及TL431,CRE6636在恒定的实时控制方案下即可实现高功率因数。准谐振(QR)模式和频率箝位,提高系统效率。采用先进的启动技术,满
  • 2025-01-07【计算机视觉】特征提取与匹配
    图像特征包含了图像的某种标志性星系,从图像上可以直接观察到角点、边缘、轮廓、纹理、颜色等特征。1.特征提取1.1SIFTSIFT是一种局部图像特征,它对旋转、尺度缩放、亮度变化具有不变形,并且一定程度上对噪声、遮挡等也保持稳定。主要有以下几步:尺度空间的极值点检测定位
  • 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