yusufgundogdu commited on
Commit
a43c959
·
verified ·
1 Parent(s): a131752

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -22
app.py CHANGED
@@ -2,12 +2,17 @@ import os
2
  import sys
3
  import io
4
  import logging
 
5
  from datetime import datetime
6
  from flask import Flask, request, send_file, jsonify
7
  from PIL import Image, ImageDraw
8
  import torch
9
  import torchvision.transforms as transforms
10
  from database import init_db, close_db, get_db_path
 
 
 
 
11
  from demo_generate.halftone_method import apply_halftone
12
 
13
  # Environment setup
@@ -64,26 +69,6 @@ def remove_background(image_data):
64
  input_image = input_image.convert('RGB')
65
  return remove(input_image)
66
 
67
- def apply_halftone(image, dot_size=10):
68
- """Apply halftone effect"""
69
- grayscale = image.convert('L')
70
- width, height = grayscale.size
71
- halftone_img = Image.new('L', (width, height), 255)
72
- draw = ImageDraw.Draw(halftone_img)
73
-
74
- for x in range(0, width, dot_size):
75
- for y in range(0, height, dot_size):
76
- block = grayscale.crop((x, y, x+dot_size, y+dot_size))
77
- avg = sum(block.getdata()) / (dot_size**2)
78
- radius = int((255 - avg) / 255 * (dot_size//2))
79
- draw.ellipse([
80
- x+dot_size//2-radius,
81
- y+dot_size//2-radius,
82
- x+dot_size//2+radius,
83
- y+dot_size//2+radius
84
- ], fill=0)
85
- return halftone_img
86
-
87
  # --- API Routes ---
88
  @app.route('/')
89
  def home():
@@ -118,10 +103,13 @@ def bg_remove():
118
  return jsonify({'error': 'Resim yüklenmedi'}), 400
119
 
120
  file = request.files['image']
121
- if len(file.read()) > 10 * 1024 * 1024:
122
- return jsonify({'error': 'Dosya boyutu 10MB üzerinde'}), 400
123
  file.seek(0)
124
 
 
 
 
125
  output = remove_background(file.read())
126
  img_io = io.BytesIO()
127
  output.save(img_io, 'PNG')
 
2
  import sys
3
  import io
4
  import logging
5
+ from pathlib import Path
6
  from datetime import datetime
7
  from flask import Flask, request, send_file, jsonify
8
  from PIL import Image, ImageDraw
9
  import torch
10
  import torchvision.transforms as transforms
11
  from database import init_db, close_db, get_db_path
12
+
13
+ # Proje kök dizinini Python path'ine ekle
14
+ sys.path.insert(0, str(Path(__file__).parent))
15
+
16
  from demo_generate.halftone_method import apply_halftone
17
 
18
  # Environment setup
 
69
  input_image = input_image.convert('RGB')
70
  return remove(input_image)
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  # --- API Routes ---
73
  @app.route('/')
74
  def home():
 
103
  return jsonify({'error': 'Resim yüklenmedi'}), 400
104
 
105
  file = request.files['image']
106
+ file.seek(0, os.SEEK_END)
107
+ file_size = file.tell()
108
  file.seek(0)
109
 
110
+ if file_size > 10 * 1024 * 1024:
111
+ return jsonify({'error': 'Dosya boyutu 10MB üzerinde'}), 400
112
+
113
  output = remove_background(file.read())
114
  img_io = io.BytesIO()
115
  output.save(img_io, 'PNG')