使用Matlab, Arduino和webcam进行颜色检测和分离
你好,
欢迎来到我的Fileexchange项目。如果你按照步骤去做,这很容易。它很长,但值得一读。我将向您解释项目代码和要遵循的步骤。我在youtube上有一个视频,清楚地解释了代码。你也可以看。
警告:以下信息是我根据个人利益选择的。那些数据肯定会帮助你完成这个项目
让我们开始吧。
步骤1:您需要的组件很少。
1) Matlab
2)网络摄像头(这两个东西对于颜色检测来说已经足够了)
但是对于分离,您将需要以下内容。
3) Arduino
4)伺服电机
5)带式输送机机构(你自己的)
6)适当的照明。
以上组件用于制作完整的项目.......YouTube视频链接如下
第二步:理解代码……和它一起工作是非常重要的。
打开Matlab并运行color_detection_basics。M文件来理解代码。读了
绿色的评论。
我有一段视频,逐行清晰地解释了这个程序。
代码工作:(https://www.youtube.com/watch?v=o84z4ZfK-SA&feature=youtu.be)
代码解释:(https://youtu.be/RrX-RyPieT8)
这个基本代码将让您了解如何从图像中检测RGB颜色。
一旦完成,然后运行color_detection_using_webcam。m文件来检测RGB颜色
来自直播视频
下面的链接教授如何在matlab中为直播视频连接网络摄像头
https://www.youtube.com/watch?v=Ekl21W7by_k&list=PLEo-jHOqGNyUWoCSD3l3V-FjX9PnHvx5n&index=28&t=0s
代码工作:(https://www.youtube.com/watch?v=o84z4ZfK-SA&feature=youtu.be)
代码解释:(https://youtu.be/RrX-RyPieT8)
步骤3:如果你是成功的上述步骤,那么它变得容易....
从MATLAB的附加组件中安装Ardu万博1manbetxino硬件的MATLAB支持包
软件
使用下面的链接学习Matlab和arduino之间的接口和控制
伺服。
//www.tianjin-qmedu.com/help/万博1manbetxsupportpkg/arduinoio/examples.html
现在打开color_detection_and_separation。M文件并运行.........如果成功了
hurrayyyy……
如果不行也不用担心,我花了几周时间才完成。
注意:1)确保对检测物体有足够的照明。
2)只能检测红、绿、蓝三色物体。
3)如果你的对象没有检测到使用我的代码…您需要更改以下内容,直到
检测到……
bw_r = imbinarize (diff_r, 0.2);//对于红色,我使用0.2作为阈值。可以是
0到1之间的任意值。
bw_g = imbinarize (diff_g, 0.071);//0.071为绿色的阈值
bw_b = imbinarize (diff_b, 0.2);//这些是我的对象的测试值。它可能或
可能对你不起作用。所以,如果需要的话,就改变吧。
4)将相机精确放置在物体上方,以避免背景噪音。主要使用a
浅色背景(白色)
5)确保arduino是否连接到正确的COMPORT和伺服到
右数字引脚(在我们的例子中是D3)
引用作为
法尔汉·艾哈迈德(2022)。使用Matlab, Arduino和webcam进行颜色检测和分离(//www.tianjin-qmedu.com/matlabcentral/fileexchange/75024-color-detection-and-separation-using-matlab-arduino-webcam), MATLAB中央文件交换。检索。