自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 High-Throughput Algae Cell Detection

About DatasetMicroalgae, as an important natural resource, find widespread applications in various fields such as marine environments, biomedical research, clean energy, and food engineering. Monitoring the abundance and species composition of microalgae

2023-12-31 14:38:56 912 1

原创 函数最优解优化问题

【代码】函数最优解优化问题。

2023-12-26 15:02:55 383

原创 pytorch中常见的合并和分割

【代码】pytorch中常见的合并和分割。

2023-12-22 10:55:04 424

原创 pytorch中常见的维度操作

2、squeeze;unsqueeze:压缩维度和增加维度(相对于维度为1的数据)3、transpose;permute:维度顺顺序变换(转置)Flatten:维度合并和分解。repeat:维度扩展。

2023-12-21 15:03:39 723

原创 pytorch梯度更新方法

深度学习的核心是梯度下降算法,即:y = wx + b▽w。

2023-12-20 15:41:52 690

原创 深度学习模型架构-基础版-cpu

【代码】深度学习模型架构-基础版-cpu。

2023-12-20 15:31:20 360

原创 基于YOLOv5的姿态估计

训练时发现,改模型会迅速收敛,但是最高达到89.6左右。后面将详细研究相关代码和论文算法。

2023-12-20 15:08:40 1002

原创 butterfly蝴蝶分类

由于植物分类所使用的数据集存在一定问题,修改起来比较麻烦,本次采用kaggle的ButterflyMothsImageClassification数据集,对100这种蝴蝶进行分类。

2023-12-18 11:18:43 1296

原创 植物分类-PlantsClassification

在训练前,必须检查数据集。

2023-12-17 22:45:50 802

原创 通过YOLOV5进行猫狗检测

一、标签二、测试验证catanddog三、分析。

2023-12-13 23:30:36 524

原创 检测西红柿成熟度

新鲜西红柿和烂西红柿。

2023-12-13 15:35:03 337

原创 基于YOLOv5的口罩检测

一、训练二、标签三、标签值和预测值四、实验。

2023-12-12 23:04:36 355

原创 基于YOLOV5的46类飞机检测

通过YOLO进行46类飞机检测。

2023-12-12 21:23:39 382

原创 马路标识实例分割

一、使用yoloV5对马路标识进行实例分割训练。

2023-12-10 00:46:32 350

原创 吸烟检测-yolov5

一、训练结果二、检测结果三、实际应用smoke2。

2023-12-09 10:13:40 348

原创 纸箱表面缺陷检测

一、检测表面缺陷二、测试。

2023-12-08 22:38:43 399 2

原创 香烟缺陷检测

一、使用YOLOv5检测香烟表面缺陷,检测结果。

2023-12-07 09:55:55 342

原创 YOLOV5做 - 手检测

通过YOLOV5检测人手的位置,map@0.5=0.91。

2023-12-05 10:33:08 323

原创 PCB板缺陷检测

6类PCB板缺陷检测map@0.5=0.97。PCB板6类缺陷检测。

2023-12-03 23:18:39 385

原创 深度学习-检测

无人机检测:一、训练过程二、视频测试。

2023-12-03 11:34:29 329

原创 one-hot编码

【代码】one-hot编码。

2023-05-08 14:49:08 66

原创 pytorch训练模型

【代码】pytorch训练模型。

2023-04-23 19:23:46 71

原创 欧拉角移动ABB机器人

ABB机器人欧拉角控制

2022-08-22 14:47:37 992

原创 PCL点云配置教程

配置文件

2022-06-28 10:07:26 348

原创 4-OCR识别(喷码)

dev_update_off ()dev_close_window ()read_image (Pm, 'D:/桌面/pm.jpeg')dev_display (Pm)rgb1_to_gray (Pm, GrayImage)get_image_size (GrayImage, Width, Height)dev_open_window_fit_image (GrayImage, 0, 0, -1, -1, WindowHandle)dev_display (GrayImage)gen_rec

2022-05-30 15:14:06 320

原创 3-车牌识别

1-源代码特征提取时范围较小,不能识别所有的车牌,仅仅参考处理流程dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)*1-图像载入read_image (Car2, 'D:/halcon_working/images/car.jpeg')*2-图像分割 decompose3 (Car2, Red, Green, Blue) trans_from_rgb (Red, Green, Blue, Hu

2022-03-18 11:26:31 130

原创 2-仿射变化与几何定位

1-halcon仿射变化主要使用两个函数1、affine_trans_image:图像仿射变化2、affine_trans_region:区域仿射变化2-仿射变换矩阵在halcon中求取仿射变换矩阵的方法包含两种:一、对单位矩阵进行旋转、偏移和缩放hom_mat2d_identity (HomMat2DIdentity) 生成单位矩阵hom_mat2d_rotate (HomMat2DIdentity, -0.3, 256, 256, HomMat2DRotate) 对单位矩阵旋转h

2022-03-17 12:23:40 634

原创 1-第一个halcon程序

1-第一个halcon程序通过相机采集照片,通过灰度变换、二值化和图像选择等函数选择目标图像,最后获取目标图像的面积和像素坐标。open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] FHD Camera', 0, -1, AcqHandle)grab_image_start (AcqHandle, -1)dev_close_window()dev_

2022-03-12 23:12:17 4210

原创 5-QR code识别

1-简介OPENCV中对于QR code的识别有三种方法:1、方法一:使用OPENCV模块中的QRCodeDetector(opencv版本在4以上)2、方法二:使用OPENCV外部contrib中的wechat_qrcode外部模块(OpenCV4.5及以上)3、方法三:根据QR code的编码原理从底层解析QR code2-方法一:QRCodeDetector一、源代码OpenCV在对象检测模块中QRCodeDetector有两个相关API分别实现二维码检测与二维码解析:/** @bri

2022-01-25 11:35:42 4110

原创 4-基于ArUco相机姿态评估

1-简介基于ArUco评估相机姿态,可以使用OPENCV的外部库(opencv_contrib)中的aruco模块,可以参考安装目录(库目录):…\opencv_contrib-4.5.4\modules\aruco\src\使用时需要添加头文件:#include<opencv2/aruco.hpp>using namespace cv::aruco;2-创建Arucovoid createAruco() { Ptr<Dictionary> d = ge

2022-01-24 18:11:15 4603

原创 3-单目相机标定

1-标定源码(Opencv自带)采用OPENCV自带相机相机标定源代码(棋盘法)#include "opencv2/core.hpp"#include <opencv2/core/utility.hpp>#include "opencv2/imgproc.hpp"#include "opencv2/calib3d.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/videoio.hpp"#include "opencv2/

2022-01-24 16:13:31 2373

原创 2-基于单目视觉的目标定位

1-四种坐标系描述一、世界坐标系客观三维世界的绝对坐标系,也称客观世界坐标系,是以目标为原点建立起来的坐标系。二、摄像机坐标系摄像机坐标系是以摄像机的光心作为坐标系的原点,Zc.轴与光轴重合,并垂直于成像平面,且取摄像头的朝向为正方向,Xc轴、Yc轴与图像坐标系的x、y轴平行。三、图像坐标系以电荷耦合元件(CCD图像传感器)获得的图像平面的中心为图像坐标系的坐标原点,图像坐标系的x轴、y轴分别平行于图像平面的两条垂直边。图像坐标系的单位长度为毫米,以(x,y)表示某个像素的位置。四、像素

2022-01-21 17:16:49 4396

原创 1-基于ArUco码的标记与检测

1-简介姿态估计(Pose estimation)在 计算机视觉领域扮演着十分重要的角色: 机器人导航、增强现实以及其它。这一过程的基础是找到现实世界和图像投影之间的对应点。这通常是很困难的一步,因此我们常常用自己制作的或基本的Marker来让这一切变得更容易。最为流行的一个途径是基于二进制平方的标记。这种Marker的主要便利之处在于,一个Marker提供了足够多的对应(四个角)来获取相机的信息(位姿信息)。同样的,内部的二进制编码使得算法非常健壮,允许应用错误检测和校正技术的可能性。aruco模块

2022-01-21 09:47:20 7055 1

原创 5-用任意线性滤波器做卷积

1-简介我们接触到的卷积都是在OPENCV中的API内部实现的。在调用这些函数时,函数会默认选择某一种核,我们做的只是向函数传递一些参数来调用这个核。例如soboel等。理论上我们只要用一个数组表示一个核,然后放进一个函数中,就可以用来做卷积了。例如Mat kern = (Mat_(3,3) << 0, -1 ,0,-1, 5, -1,0, -1, 0);2-用filter2D() 进行卷积对于一幅图像卷积过程中的操作是十分巨大的,至少从第一印象来看操作数大概是图像中的像素数量乘以

2022-01-13 11:39:14 1025

原创 4-阈值化

1-threshold(全局阈值法)全局阈值法对于某些光照不均的图像,这种全局阈值分割的方法会显得苍白无力。对图像中的像素进行阈值处理,进行分割,常用于二值化处理。可以把阈值化操作理解成一个用1X1的核进行卷积(比较),对每一个箱数进行非线性操作:double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)src 原始数组 (单通道 , 8-bit of 32-bit 浮点数).

2022-01-12 14:21:41 769

原创 0-机器视觉硬件选型

1-机器人视觉组成工业相机工业镜头工业光源滤光片通讯卡工业计算机2-工业相机分类注意:在工业应用中,如果要处理的对象与颜色有关,那么需要采用彩色相机;否则最好采用黑白相机,因为在同样分辨率下黑白相机精度高于彩色相机。3-工业相机性能参数1、分辨率相机分辨率是指相机每次采集图像的像素点数,是芯片靶面排列的像元数量总和。需要注意的是平常听到的200万像素、500万像素是相机分辨率标称值,如相机排列2560行、1920列,那么分别率25601920=5915200像素,称500万像素。

2022-01-10 17:53:17 1896

原创 1-CCD相机选型

1-相机分类2-以像素数选择(高像素型或标准型)从“像素分辨率”这一点来添加良否判定的基准,可选择最佳像素数的相机!视觉系统所使用的 CCD 拍摄元件是以格子状排列的较小像素的集合体。在作为标准型经常使用的 31 万像素 CCD 中,存在称为高像素型的 200 至 2100 万像素 CCD。一般从 “视野尺寸” 和 “像素分辨率” 两点来选择相机。“视野尺寸” 在拍摄检测目标物的范围内,可通过要使用的镜头进行变更。此外, “像素分辨率” 是指 “CCD 的 1 像素相当于多少 mm”,并通过以下

2022-01-10 11:55:22 3965

原创 3-漫水填充

1 基本思想漫水填充算法,顾名思义就像洪水漫过一样,把一块连通的区域填满,当然水要能漫过需要满足一定的条件,可以理解为满足条件的地方就是低洼的地方,水才能流过去。在图像处理中就是给定一个种子点作为起始点,向附近相邻的像素点扩散,把颜色相同或者相近的所有点都找出来,并填充上新的颜色,这些点形成一个连通的区域。 漫水填充算法可以用来标记或者分离图像的一部分,可实现类似Windows 画图油漆桶功能,或者PS里面的魔棒选择功能。2 OpenCV 的 floodFill 函数 int floodFill(In

2022-01-04 20:13:21 354

原创 2-opencv增加图片对比度和亮度

g(x) = a* f(x) +b其中,a增加图像对比度,b增加图像亮度#include <iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat src = imread("D:/C++Working/image/1.jpg"); if (src.empty()) { cout << "c

2022-01-04 14:12:58 2866

原创 C++读取文件夹下所有文件

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入// opencv-35.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。//#include

2021-12-31 20:15:43 4501 1

YOLOV7+openVINO+WINDOWS11+C++部署

YOLOV7+openVINO+WINDOWS11+C++部署

2023-05-08

C++实现ping命令的功能(Windows),使用WinSock2.h借助Windows API实现ping命令已经域名解析功

C++实现ping命令的功能(Windows),使用WinSock2.h借助Windows API实现ping命令已经域名解析功

2022-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除