因为我的openmv不是plus的,所以无法训练模型
V
vtp2
@vtp2
0
声望
10
楼层
948
资料浏览
0
粉丝
0
关注
vtp2 发布的帖子
-
RE: 分辨人脸问题,这是一段例程
就是在执行这一段过程中,最后不是输出一个num,在摄像头识别后,没有人脸(自然环境,墙壁等)或者有人脸(但是跟存着的人脸数据不匹配)。但是他们最后输出的差异度pmin值数据都差不多,所以num值不好变动,有没有什么办法将有人脸存在和无人脸存在分开呢?
-
RE: 发送字符串问题,请问一下这段代码是OpenMV串口发送字符串的一个方法吗,还有其他的方法发送字符串吗
具体就是串一个数据给STM32,因为num是一个变量,每次运行结果不同,num的值也不同,如果以字节形式bytearray传,在32上没反应,用上面的传就可以,上面的代码是传输字符串吗?是的话,还有其他的传输字符串的代码吗?
-
发送字符串问题,请问一下这段代码是OpenMV串口发送字符串的一个方法吗,还有其他的方法发送字符串吗
output_str="%.0f" %num uart.write(output_str)
-
RE: 请问这段代码能不能发送数据呢?
这个星瞳科技的扫码例程可以传输数据给32,上面那个分辨人脸的例程传输不了,这是为什么呢,不是只多了一个数据传输吗,32那边程序都没变
-
RE: 请问这段代码能不能发送数据呢?
import sensor, image, time from pyb import UART uart = UART(3, 115200) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) # can be QVGA on M7... sensor.skip_frames(30) sensor.set_auto_gain(False) # must turn this off to prevent image washout... while(True): img = sensor.snapshot() img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens. for code in img.find_qrcodes(): print(code) FH= bytearray([0xb3,0xb3]) uart.write(FH) uart.write(code.payload()) FH = bytearray([0x0d,0x0a]) uart.write(FH) time.sleep_ms(1000)
-
RE: 请问这段代码能不能发送数据呢?
这段代码基本上是使用的星瞳科技的分辨不同人脸例程,多了一个串口发送数据,然后让STM32接收。
STM32那边同样的程序,用星瞳科技扫码例程能显示,为什么这个显示不了呢,其实也就是发送的数据不一样嘛,这是为什么呢,是32那边的问题,还是OpenMV这边的问题呢 -
请问这段代码能不能发送数据呢?
import sensor, time, image, pyb import ustruct from pyb import Pin from pyb import UART uart = UART(3, 115200) sensor.reset() # Initialize the camera sensor. sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.GRAYSCALE sensor.set_framesize(sensor.B128X128) # or sensor.QQVGA (or others) sensor.set_windowing((92,112)) sensor.skip_frames(10) sensor.skip_frames(time = 5000) #等待5s RED_LED_PIN = 1 p_in1 = Pin('P7', Pin.IN, Pin.PULL_UP) #定义p7,p8,p9三个引脚为输入,加上一个上拉电阻 p_in2 = Pin('P8', Pin.IN, Pin.PULL_UP) a=p_in1.value() #用a,b获取p7,p8两个引脚的值 b=p_in2.value() NUM_SUBJECTS = 6 #图像库中不同人数,一共6人 NUM_SUBJECTS_IMGS = 20 #每人有20张样本图片 while(True): NUM_SUBJECTS = 6 #图像库中不同人数,一共6人 NUM_SUBJECTS_IMGS = 20 #每人有20张样本图片 # 拍摄当前人脸。 img = sensor.snapshot() #img = image.Image("singtown/%s/1.pgm"%(SUB)) d0 = img.find_lbp((0, 0, img.width(), img.height())) #d0为当前人脸的lbp特征 img = None pmin = 999999 num=0 def min(pmin, a, s): global num if a<pmin: pmin=a num=s return pmin for s in range(1, NUM_SUBJECTS+1): dist = 0 for i in range(2, NUM_SUBJECTS_IMGS+1): img = image.Image("singtown/s%d/%d.pgm"%(s, i)) d1 = img.find_lbp((0, 0, img.width(), img.height())) #d1为第s文件夹中的第i张图片的lbp特征 dist += image.match_descriptor(d0, d1)#计算d0 d1即样本图像与被检测人脸的特征差异度。 #print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS)) pmin = min(pmin, dist/NUM_SUBJECTS_IMGS, s)#特征差异度越小,被检测人脸与此样本更相似更匹配。 #print(pmin) if(pmin>8000): num=9 print(num) #num为当前最匹配的人的编号。 data = bytearray([0x0b,0x0b,num,0x0d,0x0a]) uart.write(data)