Loren谈MATLAB的艺术

将想法转化为MATLAB

请注意

Loren谈MATLAB的艺术已存档,不会更新。

网络摄像头,平铺布局,人工智能,还有冰箱!?

在大流行之前(实际上是几年前),当我试图找到一种超级简单的方法来展示MATLAB中预先训练的网络的能力时,我在办公室的桌子上做了这个例子。后面有一块“板子”,一半是磁性的,另一半是布覆盖的,所以我可以用图钉在上面挂东西。
这是一张我站在这块黑板前的照片,不知道为什么,我对着电脑屏幕愁眉苦脸。
这是我用的代码。但我现在不在办公室,所以你会看到不同的图片。

首先设置好我的摄像头

我先设置好我的网络摄像头,确保它能正常工作。你可能会惊喜地发现你的网络摄像头可以用于 MATLAB在线
我导入了预训练的网络 alexnet
网络摄像头
w =
具有属性的网络摄像头:名称:“Microsoft®LifeCam Cinema(TM)”有效分辨率:{'640x480' '640x360' '4万博 尤文图斯24x240' '352x288' '320x240' '176x144' '160x120' '1280x720' '960x544' '800x448' '800x600'}分辨率:'640x480'曝光:-6背光补偿:0亮度:133锐度:25对比度:5白平衡:4500倾斜:0饱和度:83聚焦:5曝光:'auto' WhiteBalanceMode: 'auto'变焦:0平移:0聚焦模式:'auto'
我可以试着在旁边预览一下图片,以确保它是ok的。我觉得现在没必要。
Net = alexnet;

下一个测试是快照

接下来我通过拍一张快照来测试相机
I =快照(w);
imshow(我)
到目前为止,一切顺利。

利用预训练的网络对图片内容进行识别

我调整图像的大小,使其符合 alexnet .我可以 作物 调整 它。
[c,r] = size(I, [1,2]);
宽度= 227;
高度= 227;
矩形= (((r-height) / 2),楼((c-width) / 2),宽度,高度1);
I227 = imcrop(I, rect);
[label, values] = category (net, I227);
imshow (I227)
并在标题上贴上识别标签。
imshow (I227)
标题(字符串(标签(1)))

现在让我们收集一些类似的图片

你可能记得有一次你和朋友或家人去某个地方,用其中一个照相亭拍了一组(通常是愚蠢的)照片。这是我如何在MATLAB中使用 tiledlayout
T = tiledlayout(“流”);
t.TileSpacing =“没有”
t.Padding =“没有”
Numpix = 6;
Ipic = 1:numpix
imshow(快照(w),“父”nexttile)
暂停(2)
结束
ylabel (t)“愚蠢的照片”

清理

最后我清理了相机设备,因为我现在已经用完了。这意味着从MATLAB中删除它,然后从我的工作区中清除指向它的变量。
删除(w)
清晰的w

回到最初的画面

当我用办公室里的原始图片做同样的事情时,结果让我大笑。给你。

你有什么经历?

我相信是黑板上的磁铁吸引了网络的注意力来进行预测。你有利用你的网络摄像头在MATLAB中获得乐趣吗?任何意想不到的结果。让我们知道 在这里
版权所有:The MathWorks, Inc.
|