opencv
文章平均质量分 93
图波列夫
这个作者很懒,什么都没留下…
展开
-
OpenCV 中的 remap 函数
上一篇文章中提到 warpAffine 会分块处理,将坐标映射和插值系数分别存储下来,然后借助 remap 来实现最终的映射。而 remap 会根据映射关系取源像素并加权计算出目的像素值。其最核心的计算为 RemapVec_8u。cv::remap#mermaid-svg-lLtejyb6R6MyZRLO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;c原创 2021-04-18 11:43:59 · 7342 阅读 · 6 评论 -
OpenCV 中的 warpAffine
warpAffine 是图像处理中比较常见的一种变换,可以将图像校正或对齐。对于线性插值方式,OpenCV 首先将坐标映射保存成两张图,然后调用 remap 函数。第二步是比较耗时的部分,并且 warpPerspective 亦采用此处理。remap 通过构建查找表来存储系数乘积,这样减少了乘法运算次数。由于篇幅过长,将文章分成 warpAffine 和 remap 两部分。原创 2021-04-18 11:12:02 · 5634 阅读 · 0 评论 -
OpenCV cvtColor BGR2YUV420
OpenCV 中的 cvtColor 将图像从一种颜色空间转换为另一种颜色空间。虽然 OpenCV 可以支持从各种 YUV 格式转换到 BGR,但反向到 YUV420 却仅能输出 I420。尽管内部有 cvtBGRtoTwoPlaneYUV 函数,但是对外没有提供。Carotene 库并无该功能,所以 cvtColorBGR2ThreePlaneYUV 使用统一向量指令(universal intrinsics)来加速,维护成本低效率同样不高。在图像大于320x240时可能会启用线程。YCbCr 色彩空原创 2021-02-13 16:35:49 · 6648 阅读 · 1 评论 -
OpenCV copyMakeBorder
copyMakeBorder 将源图像复制到目标图像的中间并在图像周围形成边框。当src已经在dst中间时,该函数不会复制src本身,而只是构造边框。在执行时函数会尝试使用 ROI 之外的像素来形成边界。若要禁用此功能并始终执行外推,就像src不是 ROI 一样,需要设置borderType | BORDER_ISOLATED。copyMakeBorder 是 OpenCV 中较为简单的一个函数,然而由于其浅拷贝和 ROI 机制的存在,实现也并不简单。原创 2020-11-29 16:10:43 · 7968 阅读 · 0 评论 -
Hi3516编译 OpenCV
为Hi35xx处理器编译 OpenCV 时会遇到 NEON 无法启用的问题,报错信息如下:CMake Error at cmake/OpenCVCompilerOptimizations.cmake:535 (message): Required baseline optimization is not supported: NEON (CPU_BASELINE_REQUIRE=;VFP...原创 2020-03-22 22:36:52 · 5428 阅读 · 5 评论 -
Visual Studio 2015编译安装OpenCV 3.0和opencv_contrib
Visual Studio 2015编译安装OpenCV 3.0和opencv_contrib原创 2015-09-08 19:22:28 · 1574 阅读 · 0 评论 -
OpenCV 中的 HOGDescriptor
HOG 特征是深度学习兴起之前非常重要的一种特征。在早期,OpenCV 中的跟踪算法并不支持 HOG 特征,而检测模块中 HOGDescriptor 是一维的。后来,TrackerCSRT 的加入带来了 HOG 特征。然而,Object Detection 和 Deformable Part-based Models 共存令人十分困惑。二者的区别是什么?两个模块均包含 HOG 特征且 Tracke...原创 2019-05-27 10:06:13 · 2319 阅读 · 0 评论