OpenCV
文章平均质量分 59
zhiTjun
这个作者很懒,什么都没留下…
展开
-
二维高斯卷积核的Matlab和OpenCV实现
1、二维高斯函数G(x,y)=12πσ2exp(−x2+y22σ2)G(x,y)=\frac{1}{2\pi {{\sigma }^{2}}}\exp \left( -\frac{{{x}^{2}}+{{y}^{2}}}{2{{\sigma }^{2}}} \right)G(x,y)=2πσ21exp(−2σ2x2+y2)2、坐标(以5×5卷积核为例)3、Matlab实现sigma1=2;k=5; % kernel大小pai=3.1415926;kernel=zeros(k);原创 2021-03-12 20:35:25 · 4418 阅读 · 1 评论 -
SUSAN边缘检测算法,及其Matlab和OpenCV实现
1、SUSAN边缘检测计算步骤(1)在图像上放置一个37个像素的圆形模板,模板在图像上滑动,依次比较模板内各个像素点的灰度与模板核的灰度,判断是否属于USAN区域。判别函数如下:其中,r⃗0{{\vec{r}}_{0}}r0.表示二维图像中核心点的位置,r⃗\vec{r}r表示模板中其他点的位置,I(r⃗0)I({{\vec{r}}_{0}})I(r0)表示图像在r⃗0{{\vec{r}}_{0}}r0处的像素值,I(r⃗)I(\vec{r})I(r)表示图像在r⃗\vec{r}r处的像素值,tt原创 2021-03-10 15:15:28 · 2435 阅读 · 0 评论 -
OpenCV单通道Mat矩阵元素访问方法,及其速度比较
1、OpenCV程序(环境:CPU i5-9500+VS2017+OpenCV4.5.0)方法1:利用“ Mat.at<存储类型>(行,列) ”访问Mat矩阵元素并赋值int main(){ Mat img = Mat::zeros(Size(10000, 10000), CV_64FC1); DWORD startTime = GetTickCount(); for (int i = 0; i < 10000; i++) { for (int j = 0; j <原创 2021-03-10 13:33:37 · 3165 阅读 · 1 评论 -
Harris角点检测,及其Matlab和OpenCV实现
1、Harris角点检测算法实现步骤(1)计算图像I(x,y)I(x,y)I(x,y)在XXX和YYY两个方向的梯度Ix,Iy{{I}_{x}},{{I}_{y}}Ix,Iy;Ix=∂I∂x=I⊗[−101]{{I}_{x}}=\frac{\partial I}{\partial x}=I\otimes \left[ \begin{matrix} -1 & 0 & 1 \\\end{matrix} \right]Ix=∂x∂I=I⊗[−101]Iy=∂I∂y=I⊗[−原创 2021-03-04 15:14:04 · 562 阅读 · 1 评论 -
用豪斯霍尔德(Householder)变换进行矩阵的QR分解,及其Matlab和OpenCV实现
1、豪斯霍尔德变换一般地,对给定的mmm维向量aaa,考虑分块 a=[a1a2]a=\left[ \begin{matrix} {{a}_{1}} \\ {{a}_{2}} \\\end{matrix} \right]a=[a1a2],其中a1{{a}_{1}}a1是(k−1)(k-1)(k−1)维向量,1≤k<m1\le k<m1≤k<m。如果豪斯霍尔德向量为v=[0a2]−αekv=\left[ \begin{matrix} 0 \\ {{a}原创 2021-01-20 21:59:49 · 8093 阅读 · 2 评论 -
用“部分”主元高斯消去法进行LU分解,及其Matlab和OpenCV实现
1、介绍部分选主元中“部分”的意思是我们仅仅在当前列中选择可用的主元。还有一种更完备的选主元方法是所谓的全主元法,它是在未被约化的子矩阵中的所有元素之中选一个最大的,并将它交换到对角元的位置。全主元法虽然在理论上是极为稳定的,但它和部分选主元法比,寻找主元的工作量大大增加,而由于部分选主元法的数值稳定性足以满足实际要求,所以在用高斯消去法求解线性方程组时普遍采用的是部分选主元消去法。2、伪代码%% Matlab 2018b——用部分主元高斯消去法进行LU分解:A=LUA=[1,2,2;4,4,2;原创 2021-01-19 16:40:02 · 2690 阅读 · 0 评论 -
用高斯消去法进行LU分解,及其Matlab和OpenCV实现
用高斯消去法进行LU分解及其Matlab和OpenCV实现伪代码%% Matlab 2018b——矩阵的LU分解:A=LUA=[1,2,2;4,4,2;4,6,4];[m,n]=size(A);M=zeros(m,n);for i=1:(n-1) if A(i,i)==0 break; else for j=(i+1):m M(j,i)=A(j,i)/A(i,i); end end for k=i:n原创 2021-01-19 09:04:55 · 675 阅读 · 0 评论