
opencv
文章平均质量分 79
1037号森林里一段干木头
图像算法民工
展开
-
NV12 、NV21 和 BGR转换
可以看出NV12、NV21和BGR的互转都是OK的。原创 2024-12-19 10:07:45 · 300 阅读 · 0 评论 -
YUV图像格式
YUV是一种颜色编码方式,它将图像信息分为亮度(Y)和色度(U 和 V)两个部分。该格式的优点在于,它将亮度信息与色度信息分开,使得对亮度和色度的处理可以独立进行。YUV的结构适用于视频图像的高效存储和传输,尤其是在视频压缩领域中应用广泛。亮度分量 Y 主要控制图像的亮暗细节,包含了大部分可见的信息。由于人眼对亮度的敏感度较高,在图像处理中保留更多的亮度信息对视觉效果的影响更大。U分量记录图像中蓝色相对于亮度的差异,用来描述蓝色和黄色之间的对比。原创 2024-12-12 18:27:05 · 683 阅读 · 0 评论 -
YUV色彩空间
YUV是一种颜色编码方式,它将图像信息分为**亮度(Y)和色度(U 和 V)**两个部分。该格式的优点在于,它将亮度信息与色度信息分开,使得对亮度和色度的处理可以独立进行。YUV的结构适用于视频图像的高效存储和传输,尤其是在视频压缩领域中应用广泛。亮度分量 Y 主要控制图像的亮暗细节,包含了大部分可见的信息。由于人眼对亮度的敏感度较高,在图像处理中保留更多的亮度信息对视觉效果的影响更大。U分量记录图像中蓝色相对于亮度的差异,用来描述蓝色和黄色之间的对比。原创 2024-10-28 16:33:45 · 1272 阅读 · 0 评论 -
ubuntu opencv 编译contrib库
【代码】ubuntu opencv 编译contrib库。原创 2024-01-19 17:29:14 · 895 阅读 · 0 评论 -
Mingw32编译opencv库
注意:mingw32-make编译的库和MSVC编译的库不兼容,MSVC和mingw-make生成的动态库使用的是不同的ABI(Application Binary Interface),不能混合使用由这两个编译器生成的库。例如,如果你的程序使用了由MSVC编译的库,那么你的程序也必须使用MSVC来编译。另外mingw32-make编译的库的库文件是.a后缀,MSVC编译的库的库文件是.lib。原创 2024-01-11 19:40:46 · 1107 阅读 · 0 评论 -
【NCC】之二:积分图加速均值计算
Summed Area Table是一种数据结构和算法,用于快速有效地生成网格矩形子集中的值总和。在图像处理领域,它也被称为积分图像。原创 2022-12-29 22:46:36 · 1077 阅读 · 0 评论 -
【NCC】之三:FFT(DFT)加速协方差的计算
用FFT加速NCC原创 2023-01-07 15:14:31 · 1615 阅读 · 0 评论 -
【NCC番外篇一】模板图像均值和方差的计算
当要计算整个图像的均值和方差时用直接计算的方式要比积分图快得多!原创 2022-12-31 20:06:22 · 720 阅读 · 0 评论 -
【NCC】之一:从Pearson相关系数到模板匹配的NCC方法
模板匹配就是给定一个目标图和一个搜索图,采用一定的搜索策略去找到一个和目标相近的区域,在刚性模板匹配中,一般都是采用滑窗的方法来搜索,在比较两个图的相似度时有很多种方法,最简单的就是两个图像直接相减,NCC(Normalized Cross Correlation)就是计算两张图的pearson相关性,值越大说明两个图像越相像。在考察单个变量的分布特征时有方差(variance)的概念,方差是一个大于等于0的实数,方差为0表示变量分布完全集中在一个点上,方差越大变量的分布越分散。原创 2022-12-28 22:04:13 · 1275 阅读 · 0 评论 -
opencv kmeans (C++)
opencv(C++)的kmeans原创 2022-02-10 09:49:19 · 6054 阅读 · 2 评论 -
C# 中的Bitmap 和(c++)opencv之间的传递
C# 中的Bitmap 和(c++)opencv之间的传递文章目录C# 中的Bitmap 和(c++)opencv之间的传递1. C#传递bitmap给C++2. PixelFormat和opencv Mat类的对应关系附注1. C#传递bitmap给C++C++:bitmapTest.cpp 文件代码如下,需要编译成动态库bitmapTest.dll给C#调用#include <iostream>#include "opencv.hpp"#define myExport e原创 2021-11-23 09:59:41 · 4948 阅读 · 0 评论 -
C++ opencv曲线拟合
简介:此问题是在做旋转模板匹配的时候,选择最好的匹配结果时产生的。查找资料发现多项式拟合问题可以变成一个超定方程的求解问题,而opencv中本身有一个cv::solve()函数可以求解线性方程组,因此对于大多数用到opencv又要进行曲线拟合的地方都可以参考此处的求解过程来解决。1. 问题:原始数据是一些离散的散点,下图是用matplotlib的plot方法画出来的,我想得到下图中最高处附近的近似的曲线方程,以得到一个最大值和最大值对应的横坐标。从下图看,在最高处附近很像一条抛物线,那就用2次函数去拟合原创 2021-09-23 16:52:43 · 8529 阅读 · 3 评论 -
opencv(C++)四种不同访问方式及速度对比
摘要:比较一下opencv四种不同的访问方式的效率,多次测试的结论就是用指针的方式是最快的,方法2、3、4都是指针的方式,在release模式下,方法2、方法3、方法4很接近,没多少差别,在不同尺度下稍微各有一点点优劣,我个人常用方法3,因为它简洁高效,方法2看起来似乎也不错,方法4需要图像数据是连续的才能用。假设:图像image为3通道8bit的图像,现在要访问它的第row行,第col列的r,g,b值1. 方法一:Mat.at(row,col)//Mat.at<vec>(i,j)方式原创 2021-09-02 18:10:23 · 1021 阅读 · 0 评论 -
opencv C++ 旋转任意角度图片
摘要:opencv里面似乎没有直接的旋转图片的接口,这里实现一个旋转任意角度的方法,在旋转的时候调用opencv里面的仿射变换函数实现。有两种旋转模式:一种按图片中心旋转,尺寸与原图一致;另外一种模式是扩充图片尺寸以包含所有像素点。文章目录1. 示例:2. 原理旋转平移的坐标变换3. 两种方式4. 源码1. 示例:2. 原理旋转平移的坐标变换设有任意一点p,在平面直角坐标中其坐标为(x,y),在平面极坐标系中其坐标为(ρ,θ)p,在平面直角坐标中其坐标为(x,y), 在平面极坐标系中其坐标为(\原创 2021-07-28 18:23:01 · 6629 阅读 · 0 评论 -
opencv(C++)GPU、CPU 模板匹配
摘要:本文主要关注opencv常规版和cuda版的模板匹配算法,网上cuda版的资料不多,这里做个记录,以后用到也好有个参考。文章目录摘要:1. opencv cuda版配置2. 源码3. 结果4.总结原创 2021-07-15 14:09:22 · 6606 阅读 · 0 评论 -
opencv C++常用算子封装
简介:封装一些opencv C++的算子,达到一种开箱即用的效果,在算法预研阶段能快速出结果,可以当做调用示例,也可直接使用避免每次都重复编写。文章目录imageProcess.himageProcess.cppimageProcess.h#pragma once#include "opencv.hpp"namespace cvbag{ bool isImageEmpty(const cv::Mat &image, const std::string functionNam原创 2021-07-13 11:05:12 · 941 阅读 · 0 评论