AI应用分享
AI应用分享写在前面本文件用于23年9月22日和物联网的小伙伴们分享AI的应用,所用代码已开源:
个人博客:www.lizhiyang.xyz
CSDN博客:爱睡觉的咋 https://blog.csdn.net/weixin_63866037?spm=1000.2115.3001.5343
Opencv+PyQT+串口通信:https://pan.baidu.com/s/1Kz7HesfcM-LfQCJdFOeTVA?pwd=k6z7 提取码:k6z7
Yolov5教程:
Yolov5:强大到你难以想象──新冠疫情下的口罩检测:http://t.csdn.cn/Iutzk
一文详解Yolov5——基于Yolov5的火灾检测系统:http://t.csdn.cn/3N2Rx
Yolov5+图像分割+百度AI接口——车牌实时检测识别系统:http://t.csdn.cn/PVoeD
Yolov5移植树莓派实现目标检测:http://t.csdn.cn/rPyZc
Yolov5移植树莓派4B问题总结:http://t.csdn.cn/NfxWF
Opencv教程:https: ...
1.顺序表
概况在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决办法是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为线性表,一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。根据线性表的实际存储方式,分为两种实现模型:
顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
链表,将元素存放在通过连接构造起来的一系列存储块中。
Python里面中的list和tuple两种类型采用了顺序表的实现技术,元组是不可变类型,因此不支持改变其内部状态的任何操作,其他方面元组与列表的性质相似。顺序表的操作
顺序表的操作增加
在尾端加入元素,时间复杂度是O(1)
非保序的加入 ...
25.Scharr算子
cv2.Scharr()
123456789101112131415161718192021222324#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Opencv学习 @File :Scharr算子.py@IDE :PyCharm @Author :咋@Date :2023/1/13 21:41 """import cv2import numpy as npimage = cv2.imread("Handsome.jpg")image = cv2.resize(image,(640,480))# scharr算子# 计算x方向dx = cv2.Scharr(image,-1,1,0)# 计算y方向dy = cv2.Scharr(image,-1,0,1)# 将两个方向加在一起,add方法sobel_img = cv2.add(dx,dy)# 展示图片cv2.imshow("sobel_img", ...
24.sobel算子
边缘是像素值发生跃迁的位置,是图像的显著特征之一,在图像特征提取,对象检测,模式识别等方面都有重要的作用。sobel算子对图像求一阶导数。一阶导数越大,说明像素在该方向的变化越大,边缘信号越强。因为图像的灰度值都是离散的数字, sobel算子采用离散差分算子计算图像像素点亮度值的近似梯度.
soble x轴和y轴要分别计算,计算完用add添加在一起cv2.soble(image,desize,dx,dy)
123456789101112131415161718192021222324#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Opencv学习 @File :sobel算子.py@IDE :PyCharm @Author :咋@Date :2023/1/13 20:54 """import cv2import numpy as npimage = cv2.imread("Handsome.jpg")image = ...
23.双边滤波
双边滤波可以保留边缘,同时可以对边缘内的区域进行平滑处理.cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace[,dst[,boederType]])
123456789101112131415161718#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Opencv学习 @File :双边滤波.py@IDE :PyCharm @Author :咋@Date :2023/1/13 20:36 """import cv2import numpy as npimage = cv2.imread("Handsome.jpg")image = cv2.resize(image,(640,480))# 双边滤波bilateral = cv2.bilateralFilter(image,7,20,50)cv2.imshow("bilateral",np.hstack(( ...
22.中值滤波
中值滤波原理非常简单,,假设有一个数组[1556789],取其中的中间值(即中位数)作为卷积后的结果值即可.中值滤波对胡椒噪音(也叫椒盐噪音)效果明显.cv2.medianBlur(img,ksize)
注意ksize是一个数字
适合均匀的噪声,如椒盐噪声
12345678910111213141516171819#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Opencv学习 @File :中值滤波.py@IDE :PyCharm @Author :咋@Date :2023/1/13 20:33 """import cv2import numpy as npimage = cv2.imread("Handsome.jpg")image = cv2.resize(image,(640,480))# 中值滤波medianBulr = cv2.medianBlur(image,5)cv2.imshow("me ...