机器视觉开发专栏
文章平均质量分 84
人工智能与机器视觉不可分割,着手于机器视觉,从这里开始,0基础教学,让您成为机器视觉的领域高精尖人才!
smartvxworks
VxWorks,Linux,QNX,PowerPC,ARM,FPGA,DSP,嵌入式系统架构师,QT UI架构师,项目经理,军工领域耕耘数十载,一起成长,不断进步。
一个优雅的程序员、一个沉稳的架构师。
展开
-
精选课:C++完整的实现双目摄像头图像采集、双目摄像头畸变矫正、前景物体提取、生成视差图、深度图、PCL点云图
C++完整的实现双目摄像头图像采集、双目摄像头畸变矫正、前景物体提取、生成视差图、深度图、PCL点云图原创 2023-09-01 15:45:08 · 1159 阅读 · 1 评论 -
使用Python实现一个完整的声音采样和模拟,使用采样声音播放输入的文字,实现代码进行详细注释,并进行测试
本文将使用Python实现一个基于PCM编码的声音采样和模拟系统,可以将输入的文本转换成PCM声音采样,并用PyAudio库播放出来。使用numpy库生成每个字母对应的PCM采样数据,通过简单的拼接合成整个文本的PCM采样数据。wave:Python自带的音频处理模块,用于wav文件格式的读写。re:Python自带的正则表达式模块,用于过滤文本中的非字母字符。PyAudio:Python的音频处理库,用于播放PCM采样数据。numpy:Python中的数值计算库,用于生成PCM采样数据。原创 2023-09-07 10:59:44 · 1762 阅读 · 0 评论 -
使用C语言和LZ77算法实现图片快速的无损压缩和解压缩
LZ77算法是无损压缩算法,由以色列人Abraham Lempel发表于1977年。LZ77是典型的基于字典的压缩算法,现在很多压缩技术都是基于LZ77。鉴于其在数据压缩领域的地位,本文将结合图片和源码详细介绍其原理。2.原创 2023-09-04 09:33:26 · 1632 阅读 · 0 评论 -
使用C++实现图片的快速的无损压缩和解压缩
与有损压缩不同,无损压缩可以还原原始图像,而不会影响图片的质量。后者则通过去除图像中的一些细节信息来达到压缩的目的,但会对图像质量产生一定程度的影响。有损压缩的原理是通过降低图片的质量,减少图片中的冗余信息来减小文件大小。不同的压缩格式对于不同类型的图片有不同的适用性,因此在选择压缩格式时需要考虑对图片质量和文件大小的要求。实现完整的图片无损压缩和解压缩需要使用一些图像处理库,例如OpenCV,libjpeg,libpng,等等。图片压缩是通过改变图片的编码方式和数据量,减少图片占用空间大小的过程。原创 2023-09-04 09:18:18 · 4171 阅读 · 2 评论 -
第五课:C++实现加密PDF文档解密
打开加密的PDF文件并获取密钥 在C++中,可以使用pdfium库打开加密的PDF文件。解密PDF文档 使用获取的密钥,可以使用pdfium库中的FPDF_SetCipherHandler函数将打开的文件解密。保存解密后的PDF文件 对于解密后的PDF文件,可以使用pdfium库中的FPDF_SaveAsCopy函数将其保存到新的PDF文件中。该函数需要指定要保存的PDF文件的名称,并将已解密的PDF文件作为参数传递。保存成功后,可以使用FPDF_CloseDocument函数关闭解密后的PDF文件。原创 2023-09-01 18:00:37 · 1156 阅读 · 0 评论 -
第四课:C++实现压缩包破解密码
文件头和文件内容的全局方式位标记都相同且都为偶数时,该压缩包为无加密;文件内容的全局方式位标记为奇数时,该压缩包为伪加密;文件头和文件内容的全局方式位标记都相同且都为奇数时,该压缩包为真加密;原创 2023-09-01 17:53:52 · 1627 阅读 · 2 评论 -
第三课:C++实现PDF去水印
水印通常是在PDF文件的每个页面的相同位置上出现的,因此可以从每个页面的相同位置提取图像,通过计算这些图像的相似度来判断是否有水印存在。总的来说,实现PDF去水印是一个比较困难和复杂的任务,需要充分考虑PDF文件的特性和实现方法的可行性,并结合各种图像处理技术和工具库进行实现。PDF去水印是一项非常复杂的任务,需要一定的计算机图形学知识和技术,也需要使用到一些专业的工具库。如果PDF文件包含水印,则需要将水印从每个页面中移除。最后,需要对处理后的PDF文件进行验证,确保没有影响原始文件的结构和内容。原创 2023-09-01 17:49:45 · 1481 阅读 · 2 评论 -
第二课:使用C++实现视频去水印
对视频进行去水印的程序需要使用计算机视觉技术,需要结合图像处理和视频处理两个方面进行实现。以下是简单的步骤:读入视频文件并分离出每一帧图像。对每一帧图像进行水印检测,找出水印所在的区域。针对水印的特定位置,使用图像处理方法进行覆盖或删除。对处理后的每一帧图像进行合并,重新生成视频文件。原创 2023-09-01 17:00:11 · 558 阅读 · 0 评论 -
第一课:使用C++实现图片去水印
实现图片去水印的方法有很多,下面提供一种基于OpenCV库的C++实现方法。主要思路是利用图像中不同水印区域之间的差异,进行区域提取、重构和合成,从而实现去除水印的效果。平时我们在使用一些图片素材时,图片上都会带有各种水印,水印的目的主要是版权保护以及宣传作用等,但是带水印的图片会影响观看体验,所以今天就给大家分享几个利用ps去除水印的方法。5.1.裁剪法裁剪法去水印主要应用的对象是,水印在图片的四周,裁剪处理后不会影响图片整体的效果。步骤如下:1将图片在ps软件打开2。原创 2023-09-01 16:46:59 · 717 阅读 · 0 评论 -
【双目视觉】PCL函数库摘要——点云曲面重建
类MovingLeastSquares实现了基于移动最小二乘算法的点云平滑处理、数据重采样,并且可以计算优化的估计法线,其输入是点云数据,输出为经过用户设定参数对应的处理之后得到的平滑重采样点云。类Poisson是对泊松曲面重建算法的实现,输入是带有法线的点云,输出为重建后的曲面模型数据,泊松曲面重建的实现是基于文献Poisson surface reconstruction。PCL库种surface模块是用来对三维扫描获取的原始。进行曲面重建的,该模块包含实现点云重建的基础算法与数据结构。原创 2023-07-24 09:23:13 · 1447 阅读 · 0 评论 -
linux下通过V4L2驱动USB摄像头
目录文章目录目录 前言 `v4l2`解析 `v4l2`介绍 应用程序通过`V4L2`接口采集视频数据步骤 相关结构体解析 总结 参考链接前言在移植罗技C270摄像头到6818的过程中,内核已经检测到了USB摄像头,但是直接用OpenCV的API(比如CvCapture*cvCaptureFromCAM(int index)接口,无法打开USB摄像头,至少目前我是这么认为的。然后,网上搜索答案说是要使用V4l2进行操作。没有别的办法!只有一边学一边试试看行不行喽!.原创 2020-10-12 11:38:47 · 723 阅读 · 0 评论 -
Linux USB摄像头使用
Linux USB摄像头使用一、使用V4l2工具调试摄像头1.v4l2-ctl 常用操作# 安装V4l2工具包$ sudo apt install v4l-utils# 通过v4l2查看摄像头设备$ sudo v4l2-ctl --list-devicesEP28WD (usb-fe380000.usb-1.3): /dev/video0 /dev/video1 # 查看当前摄像头支持的视频压缩格式$ sudo v4l2-.原创 2020-10-12 11:26:25 · 6738 阅读 · 2 评论 -
Linux、Ubuntu下安装yaml, 关于Import Error: No module named yaml
pip install pyyaml如果不行的话, 就conda install yaml最后>>> import yaml没有报错就成功了原创 2020-09-10 09:50:16 · 2433 阅读 · 0 评论 -
双目测量原理详解
双目测距公式解析看双目测距的时候一个公式就给难住了,网上各种解析很多更是弄得云山雾绕,写下自己的一点理解,自认为非常合理。就是这个公式: 点P在成像平面上的两个点Pl、Pr的坐标分别是所谓视差,就是指左右图像上的相同特征点在x坐标上的差值,即图中的d,再看一张图红色矩形框内的是Pr点在左边成像平面上的相同位置点,则视差d就很明显了,就等于左边绿色线段与黄色线段之和,这段距离长度是Xl-Xr,而两条绿色线段等长(很明显吧,两个成想平...原创 2020-08-28 17:13:30 · 834 阅读 · 0 评论 -
Python pip 安装组件命令 以及下载速度慢的问题
1、下载安装matplotlib 组件环境:win10首先进入cmd的窗口下,先升级下工具,输入命令python -m pip install -U setuptools安装matplotlib组件的方法:如下所示:输入 python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib 注意:-i 后面的网址是清华的端口,如果不输入,会从国外下载,非常慢,几乎下载不下来。也可以使用阿里的端口...原创 2020-09-09 14:44:51 · 718 阅读 · 0 评论 -
深度学习-图像识别
DeepLearning-图像识别目录深度学习-图像识别 一、人脸定位 二、手工提取特征的图像分类 2.1 识图认物 2.2 传统分类系统的特征提取 2.3 计算机眼中的图像 2.4 什么是图像特征? 2.5 卷积运算 2.6 利用卷积提取图像特征 三、基于神经网络的图像分类 3.1 传统图像分类系统和深度神经网络 3.2 深度神经网络的架构 3.3 卷积层 3.4 池化层 3.5 全连接层 3.6 归一化指数层 3.7 非线性激活层.原创 2020-09-14 17:08:04 · 945 阅读 · 0 评论 -
TensorFlow2教程
TensorFlow2教程(目录)第一篇 基本操作#01 Tensor数据类型02 创建Tensor03 Tensor索引和切片04 维度变换05 Broadcasting06 数学运算07 前向传播(张量)- 实战第二篇 高级操作#08 合并与分割09 数据统计10 张量排序11 填充与复制12 张量限幅13 高阶操作第三篇 神经网络与全连接层#14 数据加载15 测试(张量)- 实战16 全连接层17 输出方式18 误差原创 2020-09-14 17:20:55 · 330 阅读 · 0 评论 -
用OpenCV实现目标追踪的八种方法
目标跟踪作为机器学习的一个重要分支,加之其在日常生活、军事行动中的广泛应用,很多国内外学者都对此颇有研究。本文将讨论OpenCV上八种不同的目标追踪算法。虽然我们熟知的的质心追踪器表现得很好,但它需要我们在输入的视频上的每一帧运行一个目标探测器。对大多数环境来说,在每帧上进行检测非常耗费计算力。所以,我们想应用一种一次性的目标检测方法,然后在之后的帧上都能进行目标追踪,使这一任务更加快速、更高效。这里的问题是:OpenCV能帮我们达到这种目标追踪的目的吗?答案是肯定的。OpenCV目标追原创 2020-10-16 14:41:02 · 4907 阅读 · 2 评论 -
opencv video鼠标选中的物体跟踪,算法calcOpticalFlowPyrLK
简介 本篇讲解opencv video鼠标选中的物体跟踪,使用的是opencv提供的calcOpticalFlowPyrLK。calcOpticalFlowPyrLK介绍 void calcOpticalFlowPyrLK(InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArray statu原创 2020-10-16 15:30:46 · 1029 阅读 · 0 评论 -
QT4.3.0+OpenCV5.12.2实现拍照功能+曝光调整+视频灰度处理+视频二值化处理
QT4.3.0+OpenCV5.12.2实现拍照功能+曝光调整+视频灰度处理+视频二值化处理原创 2022-02-19 16:14:34 · 1818 阅读 · 0 评论 -
使用 OpenCV 进行高动态范围(HDR)成像
原文:https://linux.cn/article-9754-1.html在本教程中,我们将学习如何使用由不同曝光设置拍摄的多张图像创建高动态范围High Dynamic Range(HDR)图像。 我们将以 C++ 和 Python 两种形式分享代码。什么是高动态范围成像?大多数数码相机和显示器都是按照 24 位矩阵捕获或者显示彩色图像。 每个颜色通道有 8 位,因此每个通道的像素值在 0-255 范围内。 换句话说,普通的相机或者显示器的动态范围是有限的。但是,我们周围世界动态范..转载 2020-09-21 13:50:00 · 2283 阅读 · 1 评论 -
结构光的概念及其实现三维成像的主要原理
结构光,三维成像,光栅投影技术原创 2022-02-15 13:16:59 · 8952 阅读 · 0 评论 -
多线阵列激光三维扫描系统及多线阵列激光三维扫描方法
多线阵列激光三维扫描系统及多线阵列激光三维扫描方法原创 2022-02-23 10:09:42 · 5388 阅读 · 0 评论 -
OpenCV曝光参数和快门时间的对应关系
曝光设置1.曝光设置2.设置自动曝光为手动曝光3.曝光参数具体对应于曝光时间快门时间ms-1640-2320-3160-480-540-620-710-85-92.5-101.25-110.625-120.3125-130.15625-140.078125说明:x为opencv中设置的曝光值y为快门时间。原创 2020-09-25 11:15:48 · 7420 阅读 · 0 评论 -
关于opencv更改摄像头参数(帧率,分辨率,曝光度……)的几个问题
1,适用于VideoCapture打开的摄像头VideoCapture capture(0); 设置摄像头参数不要随意修改capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度capture.set(CV_CAP_PROP_FPS, 30);//帧率 帧/秒capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度cap..原创 2020-09-21 15:20:22 · 12160 阅读 · 1 评论