请问无线图传得到的图像为什么失真这么严重
-
请问大佬 @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)
-
补充图片
有线状态下采集的图像:
无线图传得到的图像(灰度图):
!
无线图传得到的图像(彩色图):
-
@c6m2 传感器用的是OpenMV Cam M7,所以选择了较大分辨率的sensor.VGA 改成sensor.QVGA也有和上面一样的问题。
-
@c6m2
问题已解决。删除了传感器设置
#sensor.set_contrast(-3)
#sensor.set_brightness(3)
#sensor.set_saturation(-3)
图像正常了。