Steamed~ 2022-03-29 09:14 采纳率: 42.9%
浏览 66

前端数据返回python后端内存不足

问题遇到的现象和发生背景

需要网页给我返回坐标矩阵数据

问题相关代码,请勿粘贴截图

@app.route('/set_info', methods=['POST'])
def set_info():
global new_origin_info, new_squre_w_h, new_box_h, new_box_w
request_body = json.loads(request.data)
need_change, temp_origin_info, camera_num, ship_h, ship_w, ship_l, waterline, calib_w, calib_h = check_info_need_change(
request_body)
if need_change:
new_origin_info, new_squre_w_h, new_box_h, new_box_w = temp_origin_info, calib_w, ship_l, ship_w # 更新origin
data = get_each_camera_img(new_origin_info)
return json.dumps({"code": 200, "data": data})
else:
print('更新失败')
return json.dumps({"code": 600, "data": []})

@app.route('/set_calib', methods=['POST'])
def flask_calibrate():
time_888 = time.time()
global new_origin_info, new_squre_w_h, new_box_h, new_box_w, kp_method, position_img_dict
request_body = json.loads(request.data)
camera_info = request_body['camera_info']
for info in camera_info:
serial_number, kp_ls = info['serial_number'], info['xy']
temp_position = ''
for position, value in new_origin_info.items():
if value['id'] == serial_number:
temp_position = position
new_origin_info[temp_position]['picture_keypoint'] = np.asarray(json.loads(kp_ls),
dtype=np.int).tolist()

print('初始化开始')
kp_method_new = Keypoint_Change(new_origin_info, board_h_scale, board_w_scale, new_box_h, new_box_w, new_squre_w_h)
kp_method.append(kp_method_new)
kp_method.pop(0)
print('初始化完成')
print('开始计算')
result = kp_method[0].change_img(position_img_dict)
print('计算结束:', time.time() - time_888)
return json.dumps({'code': '200', 'data': {'image': img_2_base64(result)}})
运行结果及报错内容

运行到“初始化开始”后面就报错了,显示cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-95hbg2jt\opencv\modules\core\src\alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 12539160000 bytes in function 'cv::OutOfMemoryError'

我的解答思路和尝试过的方法

1.尝试增加电脑虚拟内存(无果)2.将python(32位)转为64位(无果)

我想要达到的结果
  • 写回答

3条回答 默认 最新

  • zp_diandiandidi 2022-03-29 09:22
    关注

    个人看法,那就先分块保存再磁盘中,然后再分块读取到内存中使用。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月29日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境