logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

opencv--findcontour的实际用法

c++opencv对于一张二值化的图片,每个对象的轮廓可能只有父轮廓,也可能有多个子轮廓,希望只获取最外层轮廓和最外层对应的子轮廓,至于内部嵌套的轮廓就不要了这个需求怎么操作呢?

文章图片
#opencv#人工智能#计算机视觉
opencv--把cv::Mat数据转为二进制数据的保存和读取

【代码】opencv--把cv::Mat数据转为二进制数据的保存和读取。

文章图片
#opencv#人工智能#计算机视觉
opencv--3d数据拟合平面并对倾斜平面矫正

从矫正前的数据和矫正后的数据可以发现,平面得到了很好得了很好的矫正。

文章图片
#opencv#3d#平面
opencv--形态学击中击不中

如果上面的话理解起来有些晦涩的话,我个人的理解是:定义一个待匹配的核,其中核内元素值为1,表示该位置需要匹配前景(白色);使用该核对源图像扫描后,若匹配上述规则,在锚点位置记为255(非0),若不匹配,则锚点位置记为0,最后得到的结果就是输出图像。总结一下击中和击不中,简单来说这个形态学操作就是选择你想要的形状,例如二值化后有很多的点,如果我只想保留符合要求的形状的二值化,此时该操作很有效,你可以

文章图片
#opencv#人工智能#计算机视觉
opencv--形态学(开运算、闭运算、形态学梯度、顶帽、黑帽)

先腐蚀再膨胀,消除细小点、毛刺、连接点等等情况。

文章图片
#opencv#人工智能#计算机视觉
transformer--使用transformer构建语言模型

以一个符合语言规律的序列为输入,模型将利用序列间关系等特征,输出一个在所有词汇上的概率分布.这样的模型称为语言模型.

文章图片
#transformer#语言模型#深度学习
opencv--使用直方图找谷底进行确定分割阈值

有时这两个峰值会有部分重叠,即左侧峰值的下降部分和右侧峰值的上升部分存在叠加。通常可以把自然界的信号看做高斯信号,即一个峰值对应一个高斯信号,当直方图中的两个高斯信号在某个灰度区域叠加的时候,其叠加区就形成了一个圆滑的谷底,就很难找到一个确切的位置(最优二值化的灰度值)把这两个峰值分开。前景使得某个灰度区间的灰度值的数量急剧增加,就会产生一个峰值,同理背景会使另一个灰度区间的灰度值的数量急剧增加,

文章图片
#opencv#人工智能#计算机视觉
transformer--解码器

解码器的作用:根据编码器的结果以及上一次预测的结果,对下一次可能出现的值进行特征表示。使最后一维的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1。通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用,测试代码放到最后代码。

文章图片
#transformer
linux下c语言版线程池

1. 线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后

#c++
yolov5 解码使用GPU进行加速

YOLOv5原理方面这里不再过多阐述,直接从输出头开始,然后设计如编解码:1.yolov5系列的原始输出是3个head头,上图画的是输入为608*608的分辨率的图,如果输入改为640*640分辨率的图片,那么输出的3个头分别对应三个8、16、32下采样的输出分别为80*80*255、40*40*255、20*20*255,其中对应的数字意义如上图所示。2.那么80*80*255、40*40*25

文章图片
#c++#c语言
    共 153 条
  • 1
  • 2
  • 3
  • 16
  • 请选择