- 博客(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
原创 pytorch中常见的维度操作
2、squeeze;unsqueeze:压缩维度和增加维度(相对于维度为1的数据)3、transpose;permute:维度顺顺序变换(转置)Flatten:维度合并和分解。repeat:维度扩展。
2023-12-21 15:03:39
723
原创 butterfly蝴蝶分类
由于植物分类所使用的数据集存在一定问题,修改起来比较麻烦,本次采用kaggle的ButterflyMothsImageClassification数据集,对100这种蝴蝶进行分类。
2023-12-18 11:18:43
1296
原创 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
C++实现ping命令的功能(Windows),使用WinSock2.h借助Windows API实现ping命令已经域名解析功
2022-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人