- 博客(61)
- 收藏
- 关注
原创 双边滤波(知识总是学不完的,所以活到老,学到老) 身边的有些人也是的,一个问题总是可以问多遍,当然,这是个人的隐私问题,也是比较烦恼。这些都是废话,下面上菜吧!
这种只关注距离的思想在某些情况下是可行的,例如在平坦的区域,距离越近的区域其像素分布也越相近,自然地,这些点的像素值对滤波中心点的像素值更有参考价值。高斯滤波是最常用的图像去噪方法之一,它能很好地滤除掉图像中随机出现的高斯噪声,但是在之前的博客中提到过,高斯滤波是一种低通滤波,它在滤除图像中噪声信号的同时,也会对图像中的边缘信息进行平滑,表现出来的结果就是图像变得模糊,如下图所示;例如,以 q qq 为中心的窗口中,某一点 p pp 在高斯滤波过程中的权重的计算方法如下式;总结:双边滤波器的作用就是;
2024-07-12 21:43:45 93
原创 队列,顺序队列,循环队列,链式队列
为了解决“假溢出”现象,使得队列的存储空间得到充分利用,一个巧妙的方法就是将顺序队列的数组看成一个头尾相接的循环结构。队列的头尾相接的顺序存储结构称为循环队列。题:当循环对列为空或满时,都是队尾指针等于队头指针,即rear==front。当rear==front时,该是判满还是判空呢?解决方案:方案一:设置一个计数器,开始时计数器设为0,新元素入队时,计数器加1,元素出队,计数器减1。当计数器==MAXSIZE时,队满;计数器==0时,队空。
2024-07-08 16:39:28 745
原创 经典的SIFT算法,有没有哪位大佬真的深入理解了,最近也是准备再把SIFT(Scale Invariant Feature Transform)再看一遍,其实我认为还是直接看原创论文最能体会一些东西。
SIFT算法博大精深,本人目前也只知一二,具体的还需要大家自己去领域,理解。看以后还会不会有什么其它的理解,再分享吧。
2024-07-06 22:27:09 1016
原创 C语言版,链表头插法与尾插法
最近又开始看数据结构与算法,看到这个头插法还真的是头插法,头都搞疼了,略微理解了一些。尾插法还好一些,比较好理解,但是如果深入理解还是可以理解。
2024-07-03 17:21:32 244
原创 spring 爱尔唯思期刊的Latex总是这样的折磨人,警告:Package breakurl Warning: You are using breakurl while processing via
时光飞逝,岁月如梭。首先在模板文件中找到cls文件,打开它找到下面的几行命令。时间总是过的这么的快,你或者您是否也是如此感觉的。将上面的几行命令都注释掉即可。
2024-06-20 21:26:48 247
原创 明天就是端午了,然而我还在做着科研!然而好像有时候也是幸福的,虽然大多数是苦逼的。MATLAB函数中gradient函数的思想是什么?最近在解决一个求解离散曲线曲率的问题!
计算规则: [Fx,Fy]=gradient(F),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后两列之差。同理,可以得到Fy。
2024-06-09 22:43:17 86
原创 如果jupyter notebook不能实现网页自动跳转,参考下面的链接
一招搞定Jupyter-notebook命令行打开之后不能自动跳转浏览器_一招搞定jupter notebook命令行打开之后-CSDN博客
2024-05-27 15:42:48 428
原创 一个多月没有发布过博客了,解决torch安装时TBB不能卸载的情况
使用 pip install --ignore-installed TBB强制更新后,依然报错,显示Found existing installation,使用强制卸载,仍然无济于事。此问题为遗留问题bug,官方无法漂亮地解决,所以我们可以手动删除包:llvmlite。稳妥起见,可以不用删除,在Lib\site-packages中找到之后给他改名。我的是pip install 之后再重新下载,就成功了,下面的步骤并没有进行。版本并且是基于CPU的,由于我的电脑GPU太小。最后再执行删除TBB的命令。
2024-05-22 16:47:55 568
原创 图像矩,理论推导
在论文中,作者从数学角度出发,详细推导出了Hu矩分别在平移,旋转,尺度变换下,保持不变的原因。理论上所有的不变量,都可以由这个系统表示,而Hu矩只是该系统中2阶和3阶的特例。在CSDN和Google上查阅了很多资料,大家都只介绍了Hu矩的计算方法和应用场景( What 和 How ),却没有人说清楚为什么Hu矩能作为平移,选择,尺度变换下均不变的图像特征(Why)。我在b站上专门做了一期视频,按照论文中的思路推出了Hu矩和整个完备系统,感兴趣的可以戳传送门:【数学推导】Hu矩不变量为什么是正交不变量?
2024-04-02 10:04:37 223
原创 C++编写的猜数字游戏,还可以统计你一共猜测了多少次才成功,快来和你的小伙伴一起来玩吧,看你们哪一个在最少的次数之内猜对。
【代码】C++编写的猜数字游戏,还可以统计你一共猜测了多少次才成功,快来和你的小伙伴一起来玩吧,看你们哪一个在最少的次数之内猜对。
2024-03-31 11:41:59 144
原创 C语言的学习到此为止,后面可能会学C++
语言的学习,只学习不联系那确实等于0,这种看似是简单的学习,其实它说白了就是一门技术,而技术就需要多进行练习。总的来说基础的东西学了差不多了,这种东西学了不用也就忘记了。
2024-03-24 14:53:20 92
原创 C语言calloc函数的特点,效率低。但是进行初始化操作
/初始化,效率低,然而malloc函数相反,不初始化,效率高。//} //这段代码的目的在于开辟动态内存并且同时向开辟的动态内存中存放十个整数,接着把它们打印出来。// //dayin错误原因的一个方式。//dayin错误原因的一个方式。
2024-03-14 10:21:58 499
原创 C语言malloc动态内存开辟
由于各种原因,然后一个多星期没有学习过C语言了,然后就也没有进行更新,今天开始继续学习C语言,然后下面是使用malloc开辟动态内存的一个例子:我想大家都应该可以看明白。
2024-03-13 15:59:29 81
原创 C语言中strstr函数的使用!
这里要进行分析,有一个重要的点就是,成勋会返回abc及其后面的字符,如上图所示p2代表abc,而abc在p1中能够找到,所以返回abc和p1中abc后面的所有字符,这是一个需要注意的地方。//判断p2字符串是不是在p1中,如果在就是子字符串,否则不是。if (ret == NULL) //函数返回值是保存在ret这个字符指针变量中的,为空说明不是子字符串。printf("子字符串不在\n");具体直接看下面的这段代码我相信你必明白。
2024-02-25 17:55:49 941
原创 C语言字符串库函数strcat的实现方式练习
while (*dest++ = *src++) //这段代码目的在于将src的内容赋值给dest后面,同时添加。= '\0') //这个循环的目的在于找到目标函数的\0字符串结束标志。char* my_strcat(char* dest, char* src) //函数以及返回类型。//定义一个变量ret用来返回处理之后的结果。//保证用于连接的字符串不为空。//srcat库函数的实现方式,自制代码。int main() //调用。
2024-02-20 14:41:49 142
原创 C语言结构体,结构体指针,学了C语言到底有什么用?
/结构体指针的打印方式,显然第二种更加的好容易理解。void print(struct Stu* ps) //结构体指针。//结构体成员名称,数据类型。} //三种的打印结构都是一样的。
2024-02-16 16:24:00 180
原创 C语言的学习情况,好久没有更新了。
也是好久没有更新了,主要是我弟回来了,再加上春节了,就基本再玩了。然后报名了一个二级C语言,最近也是在学习二级。C语言的学习,基础是大概的学完了,花了一个月几天的时间,是断断续续的学习。
2024-02-12 23:23:32 116
原创 C语言中,为什么二维数组传参时候列不能为空?
二维指针是指向指针的指针,用于表示二维数组。当我们传递一个二维指针作为参数时,实际上是传递了指向二维数组的第一个元素(即第一行)的指针。如果该指针为空,意味着没有实际的数组存在,而在函数中尝试访问这个不存在的数组时,会导致访问非法内存。在C语言中,二维指针传参时,如果传入的二维数组为空(即指针为NULL),会导致访问非法内存地址,从而导致程序崩溃或产生不可预测的结果。为了避免这种情况发生,可以在函数接受二维指针参数之前,先检查指针是否为空。如果为空,可以选择直接返回或执行其他适当的错误处理操作。
2024-02-02 17:29:32 666
原创 C语言链表问题
3. `typedef struct aa` 定义了一个结构体类型 `aa`,其中包含一个整型数据 `data` 和一个指向结构体 `aa` 的指针 `next`。6. `NODE *Creatlink(int n, int m)` 是创建链表的函数,参数 `n` 表示节点数量,参数 `m` 表示节点数据的上限。` 定义了三个指向节点的指针变量,`h` 表示链表的头指针,`p` 和 `s` 用于创建新节点。` 将新节点的 `next` 指针指向 `p` 的下一个节点。
2024-02-02 11:45:21 275
原创 C语言二维数组的使用案列,来自C语言程序设计第五版本
%5d` 是一个格式控制符,用于在输出时指定字段的宽度为5个字符。在这个例子中,`%5d` 用于输出整数,且字段宽度为5个字符。如果整数的位数大于5,则按照实际位数输出,不进行截断。在这个例子中,`%5d` 用于在循环中打印二维数组元素的值,并保持对齐。由于数组中的元素最多为3位数,所以在输出时可以看到每个数值都占据了5个字符的宽度,不足的部分用空格来填充。这个输出结果展示了原始数组 `a` 和转置后的数组 `b` 的元素值。通过使用 `%5d` 格式控制符,使得输出的元素值都按照5个字符的宽度对齐。
2024-01-29 22:34:35 287
原创 C语言2024-1-27练习记录
/然后这个代码还说明了每一个内存空间中只能存放一个字符。//在内存中开辟了一块空间,专门用来存放我们所需要的内容。////} //这个代码会出现错误,调试出错了。//局部变量不初始化,里面默认放了一个随机值。//// //未初始化的指针变量。
2024-01-27 22:37:30 942
原创 C语言中各种类型指针所能访问的字节
同时也可以得出一个结论就是指针变量的类型决定了指针向前应该走多少步,当然也可以通过自己运行上述代码进行查看的操作,以及自己进行相应的练习。1、从前面的两行代码中的最后两个数字我们可以看出差为4,所以得出结论。3、从最后的两行的最后两个数字我们可以看出相差4,所以。2、从中间两行的最后两个数字可以看出,相差1,所以。double*可以访问8个字节。int* 能够访问4个字节。char*可以访问一个字节。
2024-01-26 16:06:04 218
原创 C语言的一个使用二维数组创建对角矩阵的示例,以及打印地址,不懂的可以评论区艾特我
【代码】C语言的一个使用二维数组创建对角矩阵的示例,不懂的可以评论区艾特我。
2024-01-18 23:02:21 372
原创 C语言递归求字符串长度
在这个例子中,`stringLength`函数接受一个指向字符串的指针,然后使用循环来遍历字符串中的每个字符,直到遇到字符串结束符`\0`为止。在每次循环中,计数器`length`会增加,最终返回的`length`值即为字符串的长度。在`main`函数中,我们声明了一个字符串数组`str`并将其作为参数传递给`stringLength`函数来计算字符串的长度,并将结果打印出来。可以使用循环来遍历字符串,直到遇到字符串结束符`\0`为止,计算遍历的次数即为字符串的长度。
2024-01-18 16:20:34 391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人