@c6m2
问题已解决。
删除了传感器设置
#sensor.set_contrast(-3)
#sensor.set_brightness(3)
#sensor.set_saturation(-3)
图像正常了。
@c6m2
问题已解决。
删除了传感器设置
#sensor.set_contrast(-3)
#sensor.set_brightness(3)
#sensor.set_saturation(-3)
图像正常了。
@c6m2 传感器用的是OpenMV Cam M7,所以选择了较大分辨率的sensor.VGA 改成sensor.QVGA也有和上面一样的问题。
请问大佬 @kidswong999 为什么无线图传得到的图像看着像做了二值化一样,和正常有线状态下采集的图像差别这么大。
通过sensor.set_contrast(1) sensor.set_brightness(1)调整过对比度和亮度后也没有明显变化。
烦劳大佬帮忙看看问题在哪。
有线状态下采集的图像:
![0_1625207303350_001.bmp](正在上传 100%)
无线图传得到的图像(灰度图):
![0_1625207430497_003.bmp](正在上传 100%)
无线图传得到的图像(彩色图):
![0_1625207504708_002.bmp](正在上传 100%)
使用的程序:
import sensor, image, time, network, usocket, sys
SSID ='nbqxats' # Network SSID
KEY ='1234567890' # Network key (must be 10 chars)
HOST = '' # 使用第一个可用接口
PORT = 8080 # 任意非特权端口
# 重置传感器
sensor.reset()
# 设置传感器设置
sensor.set_contrast(1)
sensor.set_brightness(1)
sensor.set_saturation(1)
sensor.set_gainceiling(16)
sensor.set_framesize(sensor.VGA)
sensor.set_pixformat(sensor.GRAYSCALE) ### GRAYSCALE RGB565
# 在 AP 模式下初始化 wlan 模块。
wlan = network.WINC(mode=network.WINC.MODE_AP)
wlan.start_ap(SSID, key=KEY, security=wlan.WEP, channel=2)
# 您可以阻止等待客户端连接
#print(wlan.wait_for_sta(10000))
def start_streaming(s):
print ('Waiting for connections..')
client, addr = s.accept()
# 将客户端套接字超时设置为 2 秒
client.settimeout(2.0)
print ('Connected to ' + addr[0] + ':' + str(addr[1]))
# 客户端读取请求
data = client.recv(1024)
# 应该在这里解析客户端请求
# 发送多部分标头
client.send("HTTP/1.1 200 OK\r\n" \
"Server: OpenMV\r\n" \
"Content-Type: multipart/x-mixed-replace;boundary=openmv\r\n" \
"Cache-Control: no-cache\r\n" \
"Pragma: no-cache\r\n\r\n")
# 每秒帧数时钟
clock = time.clock()
# 开始流式传输图像
# NOTE: 禁用 IDE 预览以提高流式传输 FPS。
while (True):
clock.tick() # 跟踪快照()之间经过的毫秒数。
frame = sensor.snapshot()
cframe = frame.compressed(quality=35)
header = "\r\n--openmv\r\n" \
"Content-Type: image/jpeg\r\n"\
"Content-Length:"+str(cframe.size())+"\r\n\r\n"
client.send(header)
client.send(cframe)
print(clock.fps())
while (True):
# 创建服务器套接字
s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
try:
# 绑定和监听
s.bind([HOST, PORT])
s.listen(5)
# 设置服务器套接字超时
# 注意:由于 WINC FW 错误,如果客户端断开连接,必须关闭并重新打开服务器套接字。 在此处使用超时关闭并重新创建套接字。
s.settimeout(3)
start_streaming(s)
except OSError as e:
s.close()
print("socket error: ", e)
#sys.print_exception(e)
请问大佬@kidswong999
文档中看到帧尺寸最大只能设置为VGA: 640x480,想咨询一下如果使用ov5040模组,怎么设置才能使输出图像的分辨率最大化。
无线图传中可以达到最大分辨率吗?(不使用LCD屏显示)
参数:
framesize: 帧大小
sensor.QQQQVGA: 40x30
sensor.QQQVGA: 80x60
sensor.QQVGA: 160x120
sensor.QVGA: 320x240
sensor.VGA: 640x480
@kidswong999 而且,我昨天用的时候还是正常的,今天突然就报这个问题了。
现在每次浏览器获取的时候会报下面的问题,请大佬指点。
Waiting for connections..
Connected to 192.168.1.100:50901
23.8095
socket error: -6
在测试无线图传例子mjpeg_streamer_ap.py时,可以检测到wifi也可以连接上,但一直报错socket error: -13,浏览器端访问http://192.168.1.1:8080也无法获取视频流。
IDE输出:
Running in Access Point mode...
AP mode started. You can connect to OPENMV_AP.
Waiting for connections..
socket error: -13
Waiting for connections..
socket error: -13
Waiting for connections..
socket error: -13
Waiting for connections..
socket error: -13
Waiting for connections..