《K230 从熟悉到...》边缘检测

embedded/2025/3/29 8:06:34/

K230 从熟悉到...》边缘检测

    • Candy
    • 简单的阈值高通滤波算法
    • 拉普拉斯核

庐山派 K230 从熟悉到...》边缘检测


Canny和阈值高通滤波用的同一个API,只在参数中做区别。

Candy

img.find_edges(image.EDGE_CANNY, threshold=(50, 80))

简单的阈值高通滤波算法

在这里插入图片描述

img.find_edges(image.EDGE_SIMPLE, threshold=(50, 80))

拉普拉斯核

在这里插入图片描述

src_img.laplacian(2,mul=0.2)  # 拉普拉斯边缘检测
操作函数适用格式参数说明
Canny边缘检测算法image.find_edges(image.EDGE_CANNY, threshold)仅支持灰度图像threshold:包含低阈值和高阈值的二元元组
简单的阈值高通滤波算法image.find_edges(image.EDGE_SIMPLE, threshold)仅支持灰度图像threshold:包含低阈值和高阈值的二元元组
拉普拉斯核image.laplacian不支持压缩图像和 Bayer 图像size:内核大小;sharpen:是否锐化;mul:卷积结果相乘数字;add:相加数值等
python">import time, os, sysfrom media.sensor import *
from media.display import *
from media.media import *sensor = None
fps = time.clock()
try:sensor = Sensor()sensor.reset()sensor.set_framesize(width = 800, height = 480)sensor.set_pixformat(Sensor.YUV420SP)bind_info = sensor.bind_info()Display.bind_layer(**bind_info, layer = Display.LAYER_VIDEO1)# 通道2  320*240sensor.set_framesize(Sensor.QVGA, chn = CAM_CHN_ID_2)sensor.set_pixformat(Sensor.GRAYSCALE, chn = CAM_CHN_ID_2)Display.init(Display.ST7701)MediaManager.init()sensor.run()fps = time.clock()# 注意他们2个显示都不在一个层上面!!!while True:fps.tick()os.exitpoint()img = sensor.snapshot(chn = CAM_CHN_ID_2)#img.find_edges(image.EDGE_CANNY, threshold=(50, 80)) # canny#img.find_edges(image.EDGE_SIMPLE, threshold=(50, 80)) #阈值高通滤波算法img.laplacian(2,mul=0.2)  # 拉普拉斯边缘检测Display.show_image(img, x = 800-320, layer = Display.LAYER_OSD1)print(fps.fps())except KeyboardInterrupt as e:print("user stop: ", e)
except BaseException as e:print(f"Exception {e}")
finally:# sensor stop runif isinstance(sensor, Sensor):sensor.stop()# deinit displayDisplay.deinit()os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)time.sleep_ms(100)# release media bufferMediaManager.deinit()

http://www.ppmy.cn/embedded/176704.html

相关文章

VC++重绘CheckBox,方便直接可以用

记得关注! #include "stdafx.h" #include "CCheckSK.h" CCheckSK::CCheckSK() { m_bCheck = FALSE; m_bMouseOver = FALSE; m_nLedSize = 15; // set default color to green on ON and dark-green on OFF //m_colLedOn = RGB(0, 255, 0)…

运用scipy库进行线性拟合

一、概述 此代码运用 Python 的numpy、matplotlib和scipy库,完成对带噪声线性数据的线性模型拟合与可视化。具体步骤为定义线性模型函数,生成带有噪声的线性数据,利用curve_fit函数进行数据拟合,最后借助matplotlib库将原始数据与…

Qt 隐式共享

隐性共享 Qt 中的许多 C 类都使用隐式数据共享,以最大限度地提高资源利用率并减少复制。隐式共享类在作为参数传递时既安全又高效,因为只传递指向数据的指针,只有在函数写入数据时才复制数据,即写时复制。 概述 共享类由指向共…

java+selenium(资源全备,打开已使用浏览器信息,保留用户信息)

javaselenium(资源全备,打开已使用浏览器信息,保留用户信息) 一、介绍 我的代码可以实现以下效果: 保留用户信息,好处:可以在登录好一个账号后还保留原来的token验证信息 使用javaselenium实现爬取vue元素内容&…

接口自动化框架篇:自定义异常日志封装!

在接口自动化测试中,异常日志是非常重要的一部分。通过记录和封装异常日志,我们可以更好地定位和解决接口问题,提高测试效率和可维护性。本文将介绍如何从零开始,详细规范地编写自定义异常日志封装的接口自动化框架。 1. 确定异常…

流影---开源网络流量分析平台(一)(小白超详细)

目录 流影介绍 一、技术架构与核心技术 二、核心功能与特性 流影部署 流影介绍 一、技术架构与核心技术 模块化引擎设计 流影采用四层模块化架构:流量探针(数据采集)、网络行为分析引擎(特征提取)、威胁检测引擎&…

mysql传统主从模式下,主从中断接续

现象描述 传统模式的mysql主从。 Slave因为大事务延迟巨大。从库重启前的记录位点在binlog:552,pos:471157766 Relaylog:629,pos:496188584 从库重启后binlog倒退到221 Relaylog反而到了1653 故障判断 …

C++学习之QT中HTTP正则表达式

目录 1.知识点概述 2.BASE64介绍 3.QT中BASE64的使用 4.正则表达式中的位置限定字符 5.修饰数量的特殊字符 6.正则表达式中的字符匹配 7.正则表达式例子 8.正则表达式网址介绍 9.QNETWORKACCESSMANAGER类使用介绍 10.QNETWORKREQUEST类的使用 11.QNETWORKREPLY类的使…