计算机视觉第一次大作业

信息挖掘

找到个将canny性能优化的示例代码,好像是用到多线程[1][2]
Hough就没那么容易了,虽然知道大概原理但不知道代码怎么实现,真是很悲哀啊
还要通过比较两个图片里最大圆所处的坐标计算变换矩阵,hough做不出来没拿到坐标

过程

先用提供的脚本编译了两个程序,跑了下发现可以用,直接将输入的pgm图片的路径改为bmp图像不行,使用在线转换工具转换后利用原始参数跑了一遍,效果不错。
参数都是什么作用原文档没有直接写,通读一遍代码发现有这种描述

1
2
3
4
5
6
7
float sigma,              /* Standard deviation of the gaussian kernel. */
tlow, /* Fraction of the high threshold in hysteresis. */
thigh; /* High hysteresis threshold control. The actual
threshold is the (100 * thigh) percentage point
in the histogram of the magnitude of the
gradient image that passes non-maximal
suppression. */

翻译一下:sigma:高斯核的标准偏差;tlow:迟滞的高阈值分数(?_?这个不知道是什么);thigh:高滞后阈值控制。实际阈值是通过非极大值抑制(non-maximal suppression)的梯度图像(gradient image)的幅值直方图(histogram of the magnitude)中的(100 * thigh)个百分点。当参数调节为10.0;0.85、0.95时出现了较好的结果,噪声的边缘相比参考点的边缘小了很多。

现在尝试Hough圆检测,有大量的博客只简单介绍一下原理之后就调库,更让人鄙视的是一个原理抄的哪里都一样,有本事抄代码好好讲讲啊。后来找到一个练习者的博客里移植了更底层的代码[3],但由于使用了C++的类和CImg.h头文件,迁移可能需要更多时间深入学习。

题外话

我在主力机上安装了eclipse以期代替vs——我想尝试用开源或开放的方案处理各种计算机上的工作,因为拼多多微信学习通等国产软件各都有过:利用0day漏洞提权、扫描用户浏览记录、泄漏平台所有用户帐密的窒息操作。虽然我手机上照用不误,但电脑上有选择我便采用如下方案:Blender、LibreCAD、Libreoffice、eclipse、GIMP,涵盖了剪视频、建模、画图纸等等操作,传文件用localsend传到手机再用微信反之亦然,能用邮箱用邮箱。然后一开始查找范例用的是这个n3350的电脑,不想复制太多数据,就挑战用这个破ubuntu电脑整全流程。

参考


计算机视觉第一次大作业
https://zhaosn.github.io/2023/cannyOnN3350/
作者
Zhao SN
发布于
2023年5月3日
更新于
2023年5月3日
许可协议