这不是被甲方催的没办法了,快死桌子上面了。这样的同步大模组在眼动里面用不了。
文章主要解决双目摄像头的读取问题,代码我忘了加,但是给了关键代码。
要这样设计
俩个摄像头现在用来做
两个摄像头的问题是不好处理图像,如果读取出错就是一个摄像头的图像。
这个摄像头如果使用以前的代码来读取,就可以读到一个摄像头的图像。但是使用Potplayer就可以读到多个。
两个
可以看到是2560x720
可以看到是合理的
640x472,这个分辨率就是一个画面
1280x480
问题在于,两个摄像头其实是共用一个ID的,打开一次设备就行。双目摄像头的总分辨率由两个摄像头组成的。
一般是左上为原点
一个示意图就是这样
写出对图像划分的代码
left_frame = frame[0:480, 0:640]: 这行代码将原始帧(假设分辨率为1280x480)裁剪为左半部分。
这里的裁剪坐标[0:480, 0:640]表示从原始帧中取出前480行和前640列的像素,即左半部分的640x480图像。
right_frame = frame[0:480, 640:1280]: 这行代码将原始帧裁剪为右半部分。
裁剪坐标[0:480, 640:1280]表示取出前480行和第640列到第1280列的像素,即右半部分的640x480图像。
可以写成函数
这样调用
函数的参数再加一个
split_frame函数现在接受一个split_x参数,这个参数决定了帧应该在哪个水平位置被分割。
当你调用split_frame(frame, 640)时,它会在640像素点处将帧分割为左右两部分。
这样的设计让你可以根据需要调整分割位置,使函数更加通用。
成功
这个是对图像进行缩放,这里是往小搞
接着是把两个散的图像拼接在一起
如图所示
对于人眼来说,可能可以在近一些,这里是使用的3.6mm的镜头
这个QtPy不咋会用
写了一个简单的GUI
但是问题是检测到的太多了,这里就是简单的拟合了一下,可以看到实时的检测圆的问题是圆太多了。
这里就写了一个先找到脸再识别眼睛,效果好不少
为了不影响惨淡的阅读量就不放我自己了
这次加装了人脸识别框,来说明我的程序工作正常
别骂了
豁出去了,眼睛直接打开
可以看到在加装圆纸捅好一些
这个是加了一些高斯模糊后的拟合,可以看到效果好不少
昨天找到了这个项目,这个项目合适,马上就使用这个
这个是ESP32-CAM+恒流源,因为要点亮红外灯
一圈灯光,一个摄像头,分辨率很低
完整效果
对称
这个眼动应该是不可以怼着眼睛做的,这个样子不合理
这个是近红外的,这个好啊,这个是双目里面好用的摄像头,买了!
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !