加串口通信扩展板,能进行RS232或RS485通讯吗?
klen 发布的帖子
-
为什么我用的openmv cam工具选项中,配置openmv cam设置文件的选项是灰色的,不可选择的
为什么我用的openmv cam工具选项中,配置openmv cam设置文件的选项是灰色的,不可选择的
我买的型号是OpenMV4 Cam H7 Plus
-
RE: 用多模板进行数字读取问题,要求是读取一组数据,数据长度会变,我现在写了一个支持5个长度的脚本,想知道时间更小的方法
@kidswong999 那有没有办法,可以对这个roi位置进行补正,可以随着产品位置变更进行位置补正
-
RE: 怎样把附件的133456读取出来,我用了多模板来识别,有问题,两个“3'都识别出来了,但是只有一个出现
是的,那有没有一种方法可以快速达到OCR功能的,在每个字符位置建立独立的roi进行for循环搜素吗,那有没有带位置矫正功能的
-
有没有更简化点的方法,读取显示器上的字符,然后保存图片到U盘里
请在import time, sensor, image,pyb from image import SEARCH_EX, SEARCH_DS from pyb import RTC #从imgae模块引入SEARCH_EX和SEARCH_DS。使用from import仅仅引入SEARCH_EX, #SEARCH_DS两个需要的部分,而不把image模块全部引入。 # Reset sensor sensor.reset() # Set sensor settings sensor.set_contrast(3) sensor.set_gainceiling(8) # Max resolution for template matching with SEARCH_EX is QVGA sensor.set_framesize(sensor.QVGA) # You can set windowing to reduce the search image. #sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60)) sensor.set_pixformat(sensor.GRAYSCALE) # Load template. # Template should be a small (eg. 32x32 pixels) grayscale image. templates = ["/0.pgm", "/1.pgm", "/2.pgm", "/3.pgm","/4.pgm", "/5.pgm", "/6.pgm", "/7.pgm","/8.pgm", "/9.pgm"] #保存多个模板 #加载模板图片 clock = time.clock() # Run template matching while (True): clock.tick() #每1s触发一次相机 time.sleep_ms(500) img = sensor.snapshot().lens_corr(strength = 1.8, zoom = 1.0) #img = sensor.snapshot() #相机拍照显示红色 led = pyb.LED(1) #亮灯 led.on() #亮灯3ms time.sleep_ms(3) led.off() result=[] for t1 in templates: template = image.Image(t1) #对每个模板遍历进行模板匹配 r1 = img.find_template(template, 0.65,roi=(57,110,35,50), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r1: img.draw_rectangle(r1) print(t1) #打印模板名字 for t2 in templates: template = image.Image(t2) #对每个模板遍历进行模板匹配 r2 = img.find_template(template, 0.65,roi=(92,110,35,50), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r2: img.draw_rectangle(r2) print(t2) #打印模板名字 for t3 in templates: template = image.Image(t3) #对每个模板遍历进行模板匹配 r3 = img.find_template(template, 0.65,roi=(118,110,35,50), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r3: img.draw_rectangle(r3) #print(t3) #打印模板名字 for t4 in templates: template = image.Image(t4) #对每个模板遍历进行模板匹配 r4 = img.find_template(template, 0.65,roi=(150,110,35,50), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r4: img.draw_rectangle(r4) print(t4) #打印模板名字 for t5 in templates: template = image.Image(t5) #对每个模板遍历进行模板匹配 r5 = img.find_template(template, 0.65,roi=(179,110,35,50), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r5: img.draw_rectangle(r5) print(t5) #打印模板名字 #准备保存以时间命名的图片 rtc = pyb.RTC() dateTime = rtc.datetime() year = str(dateTime[0]) month = '%02d' % dateTime[1] day = '%02d' % dateTime[2] hour = '%02d' % dateTime[4] minute = '%02d' % dateTime[5] second = '%02d' % dateTime[6] subSecond = str(dateTime[7]) sensor.snapshot().save(year+month+hour+minute+second+".jpg") #保存照片显示绿色 # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4. led1 = pyb.LED(2) #亮灯 led1.on() #亮灯3ms time.sleep_ms(3) led1.off() print(year+month+hour+minute+second) # print(clock.fps()) ![0_1646900317503_01421.bmp](正在上传 93%) 这里粘贴代码
-
怎样把附件的133456读取出来,我用了多模板来识别,有问题,两个“3'都识别出来了,但是只有一个出现
import time, sensor, image,pyb from image import SEARCH_EX, SEARCH_DS from pyb import RTC #从imgae模块引入SEARCH_EX和SEARCH_DS。使用from import仅仅引入SEARCH_EX, #SEARCH_DS两个需要的部分,而不把image模块全部引入。 # Reset sensor sensor.reset() # Set sensor settings sensor.set_contrast(3) sensor.set_gainceiling(8) # Max resolution for template matching with SEARCH_EX is QVGA sensor.set_framesize(sensor.QVGA) # You can set windowing to reduce the search image. #sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60)) sensor.set_pixformat(sensor.GRAYSCALE) # Load template. # Template should be a small (eg. 32x32 pixels) grayscale image. templates = ["/0.pgm", "/1.pgm", "/2.pgm", "/3.pgm","/4.pgm", "/5.pgm", "/6.pgm", "/7.pgm","/8.pgm", "/9.pgm"] #保存多个模板 #加载模板图片 clock = time.clock() # Run template matching while (True): clock.tick() #每1s触发一次相机 time.sleep_ms(1000) img = sensor.snapshot() #相机拍照显示红色 led = pyb.LED(1) #亮灯 led.on() #亮灯3ms time.sleep_ms(3) led.off() for t in templates: template = image.Image(t) #对每个模板遍历进行模板匹配 r = img.find_template(template, 0.60,roi=(110,90,160,100), step=4, search=SEARCH_EX) #, roi1=(10, 0, 60, 60)) if r: img.draw_rectangle(r) print(t) #打印模板名字 #准备保存以时间命名的图片 rtc = pyb.RTC() dateTime = rtc.datetime() year = str(dateTime[0]) month = '%02d' % dateTime[1] day = '%02d' % dateTime[2] hour = '%02d' % dateTime[4] minute = '%02d' % dateTime[5] second = '%02d' % dateTime[6] subSecond = str(dateTime[7]) sensor.snapshot().save(year+month+hour+minute+second+".jpg") #保存照片显示绿色 # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4. led1 = pyb.LED(2) #亮灯 led1.on() #亮灯3ms time.sleep_ms(3) led1.off() #print(year+month+hour+minute+second) # print(clock.fps())![0_1646893725838_133456.bmp](正在上传 100%)
-
RE: 用多模板进行数字读取问题,要求是读取一组数据,数据长度会变,我现在写了一个支持5个长度的脚本,想知道时间更小的方法
@kidswong999 我这边担心输出的模板号不是按我数据数据排列的方式输出,所以我在每一个数字字符位置定义了一个roi(上面程序定义了5个位置的roi),然后在在这个roi位置搜素出对应位置的匹配结果
-
RE: 用多模板进行数字读取问题,要求是读取一组数据,数据长度会变,我现在写了一个支持5个长度的脚本,想知道时间更小的方法
@kidswong999 我的目的是想识别一组数据,比如“12345”但是这组数据的长度是不固定的,如果我用多模板来做,那这个搜素出来的模板,排序是怎么排的,是以模板号索引高低来排的吗
-
运行的时候会出现could not find the file,帮我看下下面格式是否有问题
sensor.set_gainceiling(16)
sensor.set_framesize(sensor.QQVGA)
sensor.set_pixformat(sensor.GRAYSCALE)
templates = ["/0.pgm", "/1.pgm", "/2.pgm","/3.pgm","/4.pgm","/5.pgm","/6.pgm", "/7.pgm","/8.pgm","/9.pgm"]
roi1=(80,38,10,12)
roi2=(90,38,10,12)
roi2=(98,38,10,12)
roi2=(106,38,10,12)
roi2=(111,38,10,12)
clock = time.clock()
while (True):
clock.tick()
img = sensor.snapshot()
for t in templates:
template = image.Image(t)
r = img.find_template(template, 0.70,roi1=(80,38,10,12), step=4, search=SEARCH_EX)
if r:
img.draw_rectangle(r)
print(t)image.find_template() #print(clock.fps())
-
用多模板进行数字读取问题,要求是读取一组数据,数据长度会变,我现在写了一个支持5个长度的脚本,想知道时间更小的方法
templates=["/0.pgm","/1.pgm","/2.pgm","/3.pgm","/4.pgm","/5.pgm","/6.pgm","/7.pgm","/8.pgm","/9.pgm"] roi1=(0,10,30,40) roi2=(30,10,30,40) roi3=(60,10,30,40) roi4=(90,10,30,40) roi5=(120,10,30,40) #加载模板图片 clock=time.clock() #Run template matching while(True): clock.tick() img=sensor.snapshot() for t1 in templates: template=image.Image(t1) #对每个模板遍历进行模板匹配 r1=img.find_template(template,0.7,[roi1,step=4,search=SEARCH_EX]) if r1: img.draw_rectangle(r1) print(t1) for t2 in templates: template=image.Image(t2) #对每个模板遍历进行模板匹配 r2=img.find_template(template,0.7,[roi2,step=4,search=SEARCH_EX]) if r2: img.draw_rectangle(r2) print(t2) for t3 in templates: template=image.Image(t3) #对每个模板遍历进行模板匹配 r3=img.find_template(template,0.7,[roi3,step=4,search=SEARCH_EX]) if r3: img.draw_rectangle(r3) print(t3) for t4 in templates: template=image.Image(t4) #对每个模板遍历进行模板匹配 r4=img.find_template(template,0.7,[roi4,step=4,search=SEARCH_EX]) if r4: img.draw_rectangle(r4) print(t4) for t5 in templates: template=image.Image(t5) #对每个模板遍历进行模板匹配 r5=img.find_template(template,0.7,[roi3,step=4,search=SEARCH_EX]) if r4: img.draw_rectangle(r5) print(t5)
-
在用模板匹配的时候,怎样使找到的模板按X升序排列,然后通过wifi传输出去
for t in templates: template = image.Image(t) #对每个模板遍历进行模板匹配 r = img.find_template(template, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0, 60, 60)) #find_template(template, threshold, [roi, step, search]),threshold中 #的0.7是相似度阈值,roi是进行匹配的区域(左上顶点为(10,0),长80宽60的矩形), #注意roi的大小要比模板图片大,比frambuffer小。 #把匹配到的图像标记出来 if r: img.draw_rectangle(r) print(t) #打印模板名字
多模板匹配后,怎样按X坐标的升序输出??