- 博客(1034)
- 资源 (24)
- 收藏
- 关注
原创 OpenCV-python小玩意15 3D视觉初探:深度图与点云以及距离测量
在《OpenCV-python小玩意9 相机标定》中我们知道,相机标定是计算机视觉的基础性工作,其核心意义在于建立二维图像像素与三维物理世界之间的精确数学关系。是的,3D视觉让机器能够感知物体的深度、形状和空间关系,从而像人类一样理解立体世界。可以这样类比一下:2D视觉 ≈ 看一张照片,只能知道物体的长和宽。3D视觉 ≈ 用手触摸一个物体,能感受到它的凹凸、远近和形状。这个例子来自实践,如有问题,我们评论区见。#3D视觉 #深度图 #点云 #计算机视觉 # 距离测量 #像素转毫米。
2025-11-20 10:30:00
1150
原创 OpenCV-python小玩意14 多模板多目标匹配
它是NumPy中一个非常强大的函数,用于基于条件筛选数组元素或返回满足条件的索引。condition: 布尔条件(可以是数组)。x: 当条件为True时返回的值(可选)。y: 当条件为False时返回的值(可选)。如果只传入condition,则返回满足条件的索引(坐标),记住返回的是索引,到时别蒙。(1) 返回满足条件的索引# 输出: (array([3, 4],)返回一个元组(即使是一维数组),其中包含满足arr > 3的元素的索引。多维数组示例。
2025-11-12 10:00:00
955
原创 从小鹏机器人想到的--AI迅猛发展对普通人意味着什么?
在不久的将来,你的一天会是这样的:清晨,智能家居系统根据你的睡眠周期和当日日程,以最合适(我是说不是那么枯燥的铃铃铃)的方式和时间叫醒你;AI能学习你的习惯、预测你的需求,它让生活更便捷,它也更懂你。AI技术的迅猛发展,有些超过我的预料,再过几年,科幻电影中的内容都会成真,而我的心情却变得非常复杂,又对技术进步的开心、憧憬,还有对未来深深的迷茫和恐惧。"或许,我们需要的既非盲目恐惧也非天真乐观,而是清醒认识到:AI将放大人类社会的所有可能性——既有我们的贪婪与不平等,也有我们的创造力与同理心。
2025-11-08 21:45:25
1158
原创 OpenCV-python小玩意13 模板匹配
本文介绍了使用OpenCV模板匹配技术定位图像中红色方块的实现方案。首先详细讲解了cv2.matchTemplate函数的核心参数、六种匹配方法及其特点,以及结果解析函数cv2.minMaxLoc的用法。然后通过基础示例展示了如何从同一张图片中裁剪模板并进行100%匹配定位,包括匹配框绘制、中心点计算和置信度显示等关键步骤。文章还提供了保持宽高比的窗口resize技巧,并简要讨论了模板匹配的两个主要局限性(多尺寸和旋转适配)。最后提出了多模板匹配的扩展方案,通过循环匹配多个模板获取更优结果,代码中实现了置信
2025-11-03 10:00:00
768
原创 OpenCV-python小玩意11 透视变换
本文介绍了计算机视觉中的透视变换技术,这是一种将图像从一个视角投影到另一个视角的基础方法。文章首先解释了透视变换的作用,如将倾斜拍摄的文档"扶正"成正面视图。然后详细说明了OpenCV中两个关键函数:cv2.getPerspectiveTransform用于计算3×3变换矩阵,cv2.warpPerspective用于执行实际变换。通过手动选择角点并计算变换矩阵的示例,展示了如何将倾斜文档转换为正视图。最后指出透视变换在文档、标牌等图像处理中的基础作用,为后续仿射变换等高级处理做准备。
2025-10-29 18:30:00
862
原创 OpenCV-python小玩意12 颜色定位方案
本文介绍了使用OpenCV进行红色方块定位的方法。首先讲解了OpenCV中的颜色系统(BGR/RGB/HSV/HSL等),重点说明了HSV颜色空间在颜色检测中的优势。接着详细介绍了通过掩膜技术提取红色区域的方法,包括cv2.inRange和cv2.bitwise_or函数的使用。然后阐述了形态学操作(开闭运算)在特征提取中的应用,包括结构元素创建和形态学处理函数。最后提及了轮廓处理和中心点计算的方法。全文为AI硬件视觉处理中的颜色定位提供了完整的技术方案。
2025-10-23 16:38:52
987
原创 OpenCV-python小玩意10 畸形矫正
本文介绍了相机畸变校正的实现方法,主要针对桶形畸变导致图像边缘物体像素值失真的问题。首先解释了径向畸变的两种类型(桶形畸变和枕形畸变)及其物理原理,接着详细说明了标定参数的保存方式(NumPy二进制或JSON格式)和加载方法。重点阐述了两种OpenCV矫正方法:使用undistort()函数直接矫正单目图像,以及initUndistortRectifyMap()+remap()组合矫正双目图像的方法流程,包括getOptimalNewCameraMatrix函数计算最优新相机矩阵。最后给出了整合到尺寸测量应
2025-10-10 14:00:00
443
原创 不想花钱?让喵伴使用小智方案
本文介绍了如何通过小智方案免费为喵伴设备烧写固件。首先使用ESP Launchpad快速验证和烧写固件,然后通过WiFi配网将设备连接到网络。接着在小智后台注册账号、添加设备并进行个性化配置。文章还详细说明了如何从GitHub克隆开源代码、配置编译目标、使用menuconfig设置参数,以及完成编译和烧写的过程。最后展示了成功烧录后的效果视频,为开发者提供了完整的操作指南。
2025-09-28 16:47:24
794
原创 为什么说现在是AI对话硬件最好的时代
在沈阳浑南的一个居民楼里,两个工程师正在测试一款即将上市的AI对话玩偶。当玩偶用带着些许调皮的语气回应"你昨天为什么忘记给我充电?"时,在场的人都露出了会心的微笑。这个看似简单的场景,却凝聚了过去五年AI对话硬件领域的所有技术突破。时间回到2023年初,同样的对话需要5秒以上的延迟,机械的电子音让人瞬间出戏,而现在,这一切都发生了质的改变。
2025-09-26 12:30:00
942
原创 OpenCV-python小玩意9 相机标定
本文介绍了相机标定的基本概念和OpenCV实现方法。相机标定的核心目的是获取相机内参(焦距、畸变系数等)和外参(位置、方向),以建立图像像素与3D物理世界的精确数学关系。主要内容包括:1)准备工作,如使用9x6棋盘格采集25张不同角度的图像;2)标定步骤,使用cv2.findChessboardCorners检测角点、cv2.cornerSubPix进行亚像素级优化,最后通过cv2.calibrateCamera计算内参矩阵和畸变系数;3)关键函数详解,包括参数设置和返回值分析。该方法能有效消除镜头畸变,为
2025-09-22 09:04:48
913
原创 创业之前先三思--我的机器视觉创业失败之路
机器视觉创业经验总结 笔者回顾了一年多的机器视觉创业历程,分享了三个失败项目的经验教训。从条形码检测到药瓶瑕疵检测,团队在技术实现和商业落地方面都遇到了严峻挑战。文章揭示了技术创业的残酷现实:优质工具的高成本、成熟市场的价格竞争、技术可行与商业可行的鸿沟。核心启示包括:不能只关注技术、选择赛道比努力更重要、必须建立核心竞争力、深入理解客户真实需求。最终建议创业者保持清醒认识,"如果能打工,还是去打工吧"的结论反映了创业的艰难本质。
2025-09-16 12:33:29
1675
原创 OpenCV-python小玩意8 多个物体同时测量
本文介绍了如何扩展尺寸测量仪功能,实现多物体同时测量。主要解决三个问题:1) 通过设置面积阈值(MIN_AREA=1000,MAX_AREA=500000)过滤无效轮廓;2) 使用sorted()函数按面积降序排序轮廓,并选取前5个最大轮廓;3) 为不同物体分配不同颜色(COLORS数组)。代码实现了轮廓提取、面积过滤、尺寸计算和可视化标注功能,支持实时视频流处理。最终效果显示5个物体分别用不同颜色标记,并标注长宽尺寸。下一步计划探讨相机标定技术。
2025-09-12 13:32:25
542
原创 OpenCV-python小玩意7 轮廓长宽文本显示位置优化
本文介绍了使用OpenCV-python实现优化轮廓长宽文本显示位置的方法。通过计算矩形轮廓长短边的中心点,在边线旁水平显示长宽尺寸文本,并添加白色背景提高可读性。关键实现包括:1) 计算所有边长并识别最长最短边;2) 在边线中点位置绘制带背景的尺寸文本;3) 添加防抖动处理确保数值稳定。最终效果实现了在任意角度矩形框旁清晰显示尺寸信息,为后续多物体测量打下基础。该方案解决了文本定位和可视化问题,实现了直观的尺寸标注功能。
2025-09-05 09:03:38
328
原创 OpenCV-python小玩意6 计算轮廓长宽
本文介绍了使用OpenCV检测矩形目标轮廓并计算其长宽的方法。主要内容包括:1) 通过cv2.contourArea()找到最大轮廓;2) 使用cv2.minAreaRect()获取轮廓的最小外接旋转矩形;3) 从矩形信息中提取宽度和高度;4) 使用cv2.boxPoints()和cv2.drawContours()绘制旋转矩形。该方法适用于任意角度的矩形检测,通过计算矩形尺寸实现目标测量。
2025-08-29 09:00:00
1653
原创 OpenCV-python小玩意5 找轮廓
本文介绍了使用OpenCV检测并绘制图像轮廓的方法。主要内容包括:1)使用cv2.findContours()函数从二值图像中检测轮廓,详细解析了轮廓检索模式(mode)和轮廓近似方法(method)的参数选择;2)通过cv2.drawContours()函数绘制检测到的轮廓,说明了各参数的作用;3)给出了完整的代码示例,演示如何实时检测摄像头画面中的轮廓。文章还指出当前方法会检测所有轮廓,下节将介绍如何筛选特定轮廓(如纸张)并计算其长宽尺寸。该方法适用于目标检测和形状分析等应用场景。
2025-08-22 09:16:52
1116
原创 OpenCV-python小玩意4 预处理
本文介绍了图像预处理中的灰度化和二值化技术。灰度化通过加权平均将彩色图像转换为单通道灰度图,OpenCV中常用cv2.cvtColor()函数实现。二值化分为全局阈值和自适应阈值两种方法:全局阈值使用固定阈值分割图像,适用于对比度明显的场景;自适应阈值则根据局部区域动态计算阈值,能有效处理光照不均问题。文中通过具体代码示例展示了不同阈值化方法的效果对比,并指出中值滤波预处理对去噪的重要性。这些预处理步骤为后续特征提取(如轮廓检测)奠定了基础。
2025-08-15 11:14:16
1101
原创 OpenCV-python小玩意3 直线的像素距离
本文介绍了如何使用OpenCV实现摄像头交互式线段测量功能。通过鼠标点击两点绘制线段,并实时显示其像素距离。主要技术点包括:1) 使用cv2.putText()在图像上显示文本信息;2) 通过欧氏距离公式计算两点间距离;3) 实现预览线功能,在点击第一点后动态显示绿色指引线。代码支持测量多条线段,按'c'清除记录,'q'退出程序。该功能为后续图像测量应用奠定了基础,展示了OpenCV在交互式计算机视觉任务中的实用性。
2025-08-09 08:50:11
739
原创 OpenCV-python小玩意2 摄像头预览时画线以及line的用法
本文介绍了使用Python+OpenCV实现摄像头预览时通过鼠标点击画线的功能。核心方案包括:1)使用cv2.line()方法绘制线段,2)通过setMouseCallback()监听鼠标左键点击事件记录坐标点。实现代码在视频流中实时显示连线效果,并支持快捷键操作(q退出,c清屏)。文章详细讲解了OpenCV的鼠标事件处理机制和画线函数参数,为图像处理基础操作提供了实用示例。该方案适用于原型开发,可扩展为更复杂的交互式图像标注工具。
2025-08-01 18:30:00
1123
原创 OpenCV-python小玩意 摄像头打开及预览
本文介绍了使用OpenCV和Python开发简易网络摄像头测量仪的原型实现。首先讲解了OpenCV中的两个核心方法:VideoCapture类用于视频捕获(支持摄像头、视频文件和网络流),包含设备状态检查、帧捕获、参数设置等功能;waitKey方法用于处理键盘事件和帧刷新。文章提供了完整的示例代码,演示了如何打开USB摄像头、实时预览画面,并实现按ESC退出、按回车保存截图的功能。该原型为后续开发物体尺寸测量功能奠定了基础。
2025-07-25 20:15:06
1307
原创 写给新人的深度学习扫盲贴:TensorFlow与Keras
本文介绍了深度学习框架TensorFlow与Keras的核心概念及安装使用。TensorFlow是Google开源的工业级深度学习引擎,提供灵活性和跨平台支持;Keras则是高级API,以简洁易用著称。二者在TensorFlow 2.0中整合,形成互补关系。文章详细讲解了张量、神经网络层和模型构建等基础概念,并提供了从环境配置到验证安装的完整指南,最后通过MNIST手写数字识别的"Hello World"示例演示了基本工作流程。测试结果显示模型在5轮训练后达到了97.4%的测试准确率。
2025-05-28 19:30:00
1597
原创 RK3588芯片NPU的使用:yolov8-pose例子图片检测在安卓系统部署与源码深度解析(rknn api)
该方法对检测模型的输出进行后处理,包括 检测框解码、置信度过滤、非极大值抑制(NMS)以及关键点坐标映射,最终输出人体检测框和对应的关键点信息,封装在object_detect_result_list中。SDK支持的查询命令很多,具体参考官方文档:04_Rockchip_RKNPU_API_Reference_RKNNRT_V2.3.0_CN.pdf。:用于 RKNN_QUERY_IN_OUT_NUM 命令的返回结果,存储模型的输入/输出张量数量。没什么好说的,输入设置完毕后,执行模型推理。
2025-04-25 21:30:00
2024
3
原创 RK3588芯片NPU的使用:官方rknn_yolov5_android_apk_demo运行与解读
本文将完成两项任务:- 官方的调用摄像头动态目标识别例子运行在rk3588的开发板上。- 解读源码以增加对rknn开发的认识。
2025-04-24 20:00:00
2341
原创 RK3588芯片NPU的使用:Windows11 Docker中编译YOLOv8-Pose C Demo并在开发板运行实践
本文将在RKNN Docker环境中编译YOLOv8-Pose C Demo,并通过adb工具部署到RK3588开发板。
2025-04-23 20:00:00
668
原创 RK3588芯片NPU的使用:PPOCRv4例子在安卓系统部署
将PPOCRv4 C语言例子适配安卓端,提供选择图片后进行OCR识别功能。PPOCRv4 C语言例子请参考之前的博文。
2025-04-21 20:00:00
1701
原创 PP-OCR的安卓端部署
如果直接用官方提供的模型去跑,其实还是挺香的,OCR是飞浆框架下最厉害的库了。安卓部署官方也有demo的(当然是几年前的),PaddleOCR–deploy下去找,我也放到csdn下载了。例子中使用的PP-OCRv2的模型,想想现在都PP-OCRv4了,是不是心中着急?代码结构依然是Java层+Native层。
2025-04-18 20:00:00
2215
7
原创 手把手部署YOLOv5到RK3588安卓端:NPU加速与JNI/C/Kotlin接口开发指南
本次实践成功在RK3588安卓平台上部署了YOLOv5目标检测模型,并充分利用其NPU硬件加速能力,实现了高效的边缘计算推理。通过本Demo,我们完成了从模型转换(PyTorch→RKNN)、JNI接口封装到安卓应用集成的全流程验证,为后续产品级AI应用开发提供了可复用的技术方案。
2025-04-14 03:00:00
1516
原创 基于Termux的Android平台C++控制台程序开发指南
今天我想通过一个例子,让你的C++控制台程序直接可以运行在安卓手机上。这样你写的那些运行在PC上的好玩的C++程序,直接无痛的搞到手机上了,还不需要构建真正的安卓应用,是不是有点意思?学习C++的同学们听到此消息都兴奋的不得了!
2025-04-13 12:00:36
1820
原创 RK3588芯片NPU的使用及编程入门:rknn_model_zoo的yolov5 c++ example源码解析
今天深入分析了rknn_model_zoo中YOLOv5的C++示例代码,包括:- 模型加载与初始化的完整流程(init_yolov5_model)- 图像预处理中的Letterbox实现细节- NPU推理过程的关键API调用(rknn_inputs_set/rknn_run)- 后处理中的置信度过滤与NMS实现
2025-04-11 20:00:00
1863
原创 2025年的Android NDK 快速开发入门
十年前写过一篇介绍NDK开发的文章,今天看来已经发生了很多变化,NDK开发变得更加容易了。下面就写一篇当下NDK开发快速入门。**原生开发套件 (NDK) **是一套工具,使开发者能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库。官方默认使用CMake作为构建工具。
2025-04-11 19:00:00
1333
原创 RK3588芯片NPU的使用:Windows11 Docker中运行PPOCRv4例子
PPOCR-Det核心功能实现**文字区域检测**,基于DB++(Dynamic Binarization++)算法改进,支持多尺度特征融合和自适应阈值预测。
2025-04-10 20:00:00
963
6
原创 写给新人的深度学习扫盲贴:ReLu和梯度
什么是梯度?梯度是多元函数在某一点处变化率最大的方向及其大小,是导数的多维推广。数学定义:对函数fx1x2xnfx1x2...xn∇f∂f∂x1∂f∂x2∂f∂xn∇f∂x1∂f∂x2∂f...∂xn∂f物理意义:梯度指向函数值增长最快的方向,梯度大小表示变化速率。
2025-04-09 20:00:00
1187
1
原创 RK3588芯片NPU的使用:Windows11 Docker中运行MobileNet模型以及部署到开发板进行目标检测
Docker启动后,来到rknn_model_zoo中mobilenet的示例目录│ ├── cpp # Cpp项目例子,部署会用到 │ ├── model # 模型目录 │ │ ├── bell.jpg # 例子中用到的待检测图片 │ │ ├── download_model.sh # 下载模型脚本 │ │ └── synset.txt # ImageNet类别标签文件 │ └── python # Python工具链 | └── mobilenet.py # 核心工具脚本。
2025-04-08 20:00:00
1402
原创 MobileNet简介:一个轻量化的神经网络架构|嵌入式与边缘计算
从V1到V4,MobileNet的演进体现了轻量化模型设计的三大趋势:**自动化架构搜索**、**硬件协同优化**与**通用性提升**。随着MobileNet V4在移动生态中的普及,边缘智能将加速渗透至智能安防、工业检测、远程医疗等领域。
2025-04-07 20:00:00
2534
原创 RKNN-Toolkit2支持的深度学习框架技术浅析:Caffe、TensorFlow、TF Lite、ONNX、DarkNet与PyTorch
RKNN-Toolkit2支持的深度学习框架包括Caffe、TensorFlow、TensorFlow Lite、ONNX、DarkNet和PyTorch。
2025-04-06 09:00:00
1378
原创 RK3588芯片NPU的使用:Windows11使用RKNN Docker运行YOLOv5目标检测模型
瑞芯微的NPU工具集调整后放到新的仓库,名曰,它包括toolkit2和toolkit-lit2,以及rknpu2。下面简单介绍这三个库都是干什么的。
2025-04-05 09:00:00
2091
4
原创 RK3588芯片NPU的使用:Ubuntu 22.04安装RKNN SDK V2.3.0环境运行YOLOv5目标检测模型(万字详述)
本文详细介绍了在 **Ubuntu 22.04** 系统下搭建 **RKNN SDK V2.3.0** 开发环境的完整流程,并实现了在 **RK3588 开发板(Android 系统)** 上通过 **NPU 加速** 运行 **YOLOv5 目标检测模型**(万字详述)。
2025-04-04 03:00:00
1942
原创 写给新人的深度学习扫盲贴:向量与矩阵
张量是更高维度的推广:标量(0阶)、向量(1阶)、矩阵(2阶)、三维张量(3阶)等。例如,RGB图像可表示为三维张量(高度×宽度×通道数)。:矩阵用于表示线性变换、数据集(如图像像素矩阵)或多变量关系。例如,在Python中,矩阵以二维数组表示(如。:向量常用于描述空间中的点、力、速度等具有方向性的量。在计算机中,向量通常以一维数组存储(如NumPy中的。矩阵是二维数组,由行(row)和列(column)构成,可视为2阶张量。的一维数组,可视为1阶张量。向量是线性代数中的基本对象,定义为具有。
2025-04-03 20:00:00
1490
原创 边缘检测技术现状初探2:多尺度与形态学方法
实际应用中常使用离散近似核(如9×9核,σ=1.4)提取高频信息,实现多分辨率边缘检测。模拟小波多尺度分解,通过。多尺度边缘检测通过在。
2025-04-02 20:00:00
820
原创 边缘检测技术现状初探1
边缘检测是计算机视觉与图像处理领域的基石技术,其**核心目标**是通过识别图像中亮度、色彩或纹理的突变区域,提取物体轮廓与结构信息。随着工业自动化、自动驾驶、医学影像分析等领域的快速发展,边缘检测技术经历了从传统算子到深度学习模型的演进,并在实际应用中不断崭露头角。
2025-04-01 20:00:00
963
基于Modbus TCP协议的PLC上位机程序源码(C#实现,含详细注释)
2025-10-09
瑞芯微RKNN安卓NPU部署实战:PPOCRv4 OCR推理Demo
2025-04-21
基于RK3588边缘计算的安卓端NPU加速YOLOv5推理实践:入门Demo实现
2025-04-13
AI easyOCR的中文、英文和检测模型
2025-03-29
Android 相机开发入门指南:CameraX 与 Camera2 的终极对比与实践源码
2025-03-13
VC++玩转炫酷悬浮窗2---不规则窗体的实现源码
2014-08-22
WM StopWatch 源码
2011-10-09
Activity传递类对象源码
2011-12-17
VC++ CALLBACK
2014-06-07
Android Read Excel sourcecode
2013-11-27
VC++玩转炫酷悬浮窗3源码
2014-09-05
VC++玩转炫酷悬浮窗1---悬浮窗的实现
2014-08-21
script.module.keyboard.chinese-2.0.0
2014-12-24
开机自启动VC实现
2014-05-21
系统托盘demo(VC)
2014-05-14
HowToPreferenceActivity
2014-03-06
StopWatch源码
2011-10-09
GDI+不规则窗口
2014-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅