Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2023, 22:29   #1
J1npx
Новичок
Джуниор
 
Регистрация: 24.05.2023
Сообщений: 3
По умолчанию Помогите решить проблему с post запросом

Суть в том, что бы создать лок сервер и через него обрабатывать изображения любого формата, а на выходе получать это изображение в формате webp. Пока не настроил сервер, все работало. Настроил сервер, сервер работает отлично, в логах ошибок нет. Но запрос на отправку изображения вообще не находит отклика. Не понимаю в чем проблема уже часа 2

Код:

Код:
from flask import Flask, request, jsonify, Response
from werkzeug.utils import secure_filename
import cv2
import numpy as np
import os
import tempfile

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads'

# Загрузка каскада Хаара для обнаружения номеров машин
car_cascade = cv2.CascadeClassifier('haarcascade_russian_plate_number.xml')

@app.route('/process_image', methods=['POST'])
def process_image():
    # Получение изображения из POST-запроса
    file = request.files['image']
    img = cv2.imdecode(np.fromstring(file.read(), np.uint8), cv2.IMREAD_COLOR)

    # Преобразование изображения в оттенки серого
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    # Обнаружение номеров машин на изображении
    cars = car_cascade.detectMultiScale(gray, 1.1, 4)

    # Замена номеров машин на логотип
    for (x, y, w, h) in cars:
        # Загрузка логотипа и изменение его размера
        logo = cv2.imread('logo.png')
        logo = cv2.resize(logo, (w, h))
        img[y:y+h, x:x+w] = logo

    # Сохранение результата в формате webp
    _, buffer = cv2.imencode('.webp', img, [cv2.IMWRITE_WEBP_QUALITY, 50])
    result = buffer.tobytes()

    # Отправка обработанного изображения обратно в ответе
    return Response(result, mimetype='image/jpeg')

@app.route('/')
def index():
    return 'Готовая картинка!'

if __name__ == '__main__':
    app.run(debug=True, port=5000)
Запрос:

Код:
import requests

# Открытие файла изображения
with open('image.jpg', 'rb') as f:
    # Отправка POST-запроса на обработку изображения
    response = requests.post('http://localhost:5000/process_image', files={'image': f})

    # Сохранение обработанного изображения
    with open('result.webp', 'wb') as result_file:
        result_file.write(response.content)
J1npx вне форума Ответить с цитированием
Старый 24.05.2023, 22:59   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,351
По умолчанию

Запустил ваши скрипты на Питоне 3.6.2 - всё отработало (рядом со скриптами положил haarcascade_russian_plate_number.xm l и случайные картинки image.jpg, logo.png).
Цитата:
127.0.0.1 - - [24/May/2023 22:55:12] "POST /process_image HTTP/1.1" 200 -
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 25.05.2023, 14:00   #3
J1npx
Новичок
Джуниор
 
Регистрация: 24.05.2023
Сообщений: 3
По умолчанию Post запрос

У вас в папке появляется новая обработанное изображение? Я попробовал переустановить Python на вашу версию и все равно ничего не работает Как вы запускали этот запрос? У меня пишет это и все: C:\Users\User\pythonProject1\Script s\python.exe C:\Users\User\PycharmProjects\pytho nProject1\main.py
* Serving Flask app 'main' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 867-178-802
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Последний раз редактировалось J1npx; 25.05.2023 в 14:03.
J1npx вне форума Ответить с цитированием
Старый 25.05.2023, 14:12   #4
J1npx
Новичок
Джуниор
 
Регистрация: 24.05.2023
Сообщений: 3
По умолчанию

А все, спасnбо, разобрался
J1npx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему vendorprod Помощь студентам 1 23.05.2023 21:15
Помогите с Post запросом Neznayka2016 Работа с сетью в Delphi 7 20.03.2016 13:41
помогите с POST запросом oteccc Работа с сетью в Delphi 1 29.02.2016 07:48
Помогите решить проблему? Serik410 JavaScript, Ajax 4 19.12.2013 18:29
ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ !!!!!!!!!!!! ЛиЛу Помощь студентам 5 29.12.2008 15:36