随笔分类 -  OpenCV

摘要:在x86_64平台上编译得到两个版本的opencv:x86_64和arm64 方式与此博客一样编译OpenCV——jetson嵌入式平台 - 夕西行 - 博客园,区别只有如下几个地方 1、编译x86_64版本时 最终放到/opt/opencv目录里 2、编译arm64版本时 最终放到/opt/ope 阅读全文
posted @ 2024-12-03 11:35 夕西行 阅读(50) 评论(0) 推荐(0) 编辑
摘要:arm64上编译opencv得到opencv_world.so,放到x86_64平台,用CLion交叉编译arm64的程序时会报一堆的缺少依赖的so文件。 /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin 阅读全文
posted @ 2024-12-03 11:11 夕西行 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1、只有1个版本的OpenCV时,使用自动搜索方式 以项目TestOnnx为例,一般如下即可: find_package(OpenCV REQUIRED) #会自动搜寻OpenCVConfig.cmake文件,一般位于/usr/local/lib/cmake/opencv4 include_dire 阅读全文
posted @ 2024-11-29 13:22 夕西行 阅读(12) 评论(0) 推荐(0) 编辑
摘要:[全局]std::vector存储[局部作用域]的基本数据类型:在push_back的时候,会将局部数据的值拷贝到vector的指定的内存区域,之后局部数据在生命周期结束后释放。【参考】(9条消息) 关于全局std::vector和局部变量存储的总结_局部变量vector_疯花正猫的博客-CSDN博 阅读全文
posted @ 2023-06-02 17:26 夕西行 阅读(207) 评论(0) 推荐(0) 编辑
摘要:类似Halcon的 selectRegion,虽然没有Halcon强大,但有胜于无。下方参数image为二值图(注意目标为白色,黑色为背景) 函数返回区域个数,黑色背景也算一个。 有3个输出参数: labels对应的是每个区域,可以用索引获取区域。 stats包含了每个区域的最小外接矩形和区域面积。 阅读全文
posted @ 2022-10-12 16:40 夕西行 阅读(893) 评论(0) 推荐(0) 编辑
摘要:windows系统 Qt的pro文件: win32:{ Debug:{ #opencv INCLUDEPATH += C:/OpenCV_CUDA/include \ C:/OpenCV_CUDA/include/opencv2 LIBS += -LC:/OpenCV_CUDA/x64/vc16/l 阅读全文
posted @ 2022-06-13 16:42 夕西行 阅读(238) 评论(0) 推荐(0) 编辑
摘要:以此教程为主: OpenCV cuda 版本编译使用 - 哔哩哔哩 (bilibili.com) 勾选与不勾选的全按此博客,其中CUDA_ARCH_BIN 6.0以下版本删除,否则编译过程会提醒旧版本已删除。 以此为辅: CMake编译OpenCV - 夕西行 - 博客园 (cnblogs.com) 阅读全文
posted @ 2022-04-16 18:35 夕西行 阅读(201) 评论(0) 推荐(0) 编辑
摘要:以编译opencv4.5.5为例。 这些文件其实最终会下载到“……\opencv-4.5.5\.cache”里 里边的文件都以(MD5码-原名)方式命名,如下图 带MD5码的全名可以从你指定生成build的目录中CMakeDownloadLog.txt里查看,下载失败的都会以https开头(在里边搜 阅读全文
posted @ 2022-04-16 18:20 夕西行 阅读(221) 评论(0) 推荐(0) 编辑
摘要:官方有两个算子,HoughLines和HoughLinesP HoughLines得到两个变量:θ、ρ 在旋转矫正时,使用的是angle。具体见下图。 θ 弧度制,[0,π)angle 角度制,[-90°,90°),正值则逆时针旋转下图中的angle是负值(需顺时针选择),angle=θ*180/π 阅读全文
posted @ 2022-02-21 11:13 夕西行 阅读(124) 评论(0) 推荐(0) 编辑
摘要:比对了下QZXing库,还是zbar强大点。这两个都可以识别0、90、180、270、360角度的条形码。zbar可以识别多个条形码。而且获取条码类型。 1、下载安装zbar,选择full全部安装。也可以从这里下载。 2、由于官方给的是32位的,继续下载64位的zbar 替换文件: 将ZBarWin 阅读全文
posted @ 2022-01-06 23:01 夕西行 阅读(692) 评论(0) 推荐(0) 编辑
摘要:VS中与OpenCV有关的插件: Image Watch,“视图”——>”其他窗口”——>”Image watch”,需加断点才能看到Mat变量对应的图 参考https://blog.csdn.net/nnnnnnnnnnnny/article/details/52260370 阅读全文
posted @ 2020-06-04 22:29 夕西行 阅读(275) 评论(0) 推荐(0) 编辑
摘要:1、下载安装python,勾选添加到环境,选择自定义安装,选择路径,其他默认。安装完成后,pip也安装完毕(包含在python中)。下图查看版本,有版本号则安装成功 2、更换源,win+R 输入%HOMEPATH%,在此目录下创建 pip 文件夹,其内创建 pip.ini 文件,粘贴如下内容: [g 阅读全文
posted @ 2020-04-22 21:16 夕西行 阅读(1605) 评论(0) 推荐(0) 编辑
摘要:trainAuto()函数中,使用了K折交叉验证来优化参数,会自动寻找最优参数。 两种用法:标黄的等效 virtual bool trainAuto( const Ptr<TrainData>& data, int kFold = 10,ParamGrid Cgrid = getDefaultGri 阅读全文
posted @ 2020-03-06 11:19 夕西行 阅读(1651) 评论(0) 推荐(0) 编辑
摘要:如何使用,请查阅我的另两篇博客——SVM的使用train(),SVM的使用trainAuto(),K折交叉验证优化参数 核(由上到下):线性、多项式、径向基函数、Sigmoid、指数卡方分布、直方图交运算 使用方式:参数范围可以参考上边的链接 //SVM类型及参数 svm->setType(SVM: 阅读全文
posted @ 2020-02-28 14:32 夕西行 阅读(4868) 评论(0) 推荐(0) 编辑
摘要:依据机器学习算法如何学习数据可分为3类: 有监督学习:从有标签的数据学习,得到模型参数,对测试数据正确分类; 无监督学习:没有标签,计算机自己寻找输入数据可能的模型; 强化学习(reinforcement learning):计算机与动态环境交互,学习错误反馈达到更优的目的。 依据机器学习期望结果来 阅读全文
posted @ 2020-02-28 11:24 夕西行 阅读(237) 评论(0) 推荐(0) 编辑
摘要:注意:数据结构的一致性,在高维度数据一般使用rbf核函数,使用网格搜索思想迭代求出gamma和c。 每行为一个样本,数据类型都围绕标黄代码而定义的。 SVM训练如下坐标(左边一列为A类,右边为B类),然后预测给出的坐标属于哪一类。 #include<opencv2\opencv.hpp> #incl 阅读全文
posted @ 2020-02-28 11:15 夕西行 阅读(1604) 评论(0) 推荐(0) 编辑
摘要:Vec是类,OpenCV中的向量模板类,具体有Vec2b,Vec3b,Vec2s,Vec3s等。 以Vec3b、Vec3s为例,其实是给Vec类起了一个别名。 typedef Vec<uchar,3> Vec3b; //Vec3b就是有3个uchar类型元素的向量。 typedef Vec<shor 阅读全文
posted @ 2020-02-27 15:38 夕西行 阅读(1589) 评论(0) 推荐(0) 编辑
摘要:一般使用的灰度图像元素是8位的uchar型(注意不是无符号整型,而是无符号字符型。元素值0~255),自定义Mat矩阵时,推荐使用8位无符号字符型,即CV_8U、CV_8UC3。 再说一遍,条件反射式的记住:一般见到的Mat的元素是8位无符号字符型,不是8位无符号整型。 【元素类型】 CV_8U(即 阅读全文
posted @ 2020-02-27 14:39 夕西行 阅读(6933) 评论(0) 推荐(0) 编辑
摘要:注意: Mat a(行, 列, CV_8U); //CV_8U默认205 Mat a(Size(宽, 高), CV_8U); 创建与已有img等大小的矩阵:将下列代码中的2,2都可以换成img.size(), img单通道对应CV_8U,三通道对应CV_8UC3。一般使用8位就可以。16、32不推荐 阅读全文
posted @ 2020-02-26 17:09 夕西行 阅读(441) 评论(0) 推荐(0) 编辑
摘要:void glob(cv::String pattern, std::vector<cv::String>& result, bool recursive = false); 注意String是cv空间下的,不是std。glob遍历图像名称不是按顺序进行遍历的,1 10 11……19 20 21…… 阅读全文
posted @ 2020-02-25 16:16 夕西行 阅读(1379) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示