diff --git a/bibrecognition/db.sqlite3 b/bibrecognition/db.sqlite3 index 748ac26..a7f9f97 100644 Binary files a/bibrecognition/db.sqlite3 and b/bibrecognition/db.sqlite3 differ diff --git a/bibrecognition/images/bib_01_i38EFwg.jpg b/bibrecognition/images/bib_01_i38EFwg.jpg new file mode 100644 index 0000000..4600e07 Binary files /dev/null and b/bibrecognition/images/bib_01_i38EFwg.jpg differ diff --git a/bibrecognition/images/bib_02.jpg b/bibrecognition/images/bib_02.jpg new file mode 100644 index 0000000..12cb151 Binary files /dev/null and b/bibrecognition/images/bib_02.jpg differ diff --git a/bibrecognition/images/bib_03_G9AxFQY.jpg b/bibrecognition/images/bib_03_G9AxFQY.jpg new file mode 100644 index 0000000..f0ca984 Binary files /dev/null and b/bibrecognition/images/bib_03_G9AxFQY.jpg differ diff --git a/bibrecognition/images/bib_04_mimQ6LJ.jpg b/bibrecognition/images/bib_04_mimQ6LJ.jpg new file mode 100644 index 0000000..c266258 Binary files /dev/null and b/bibrecognition/images/bib_04_mimQ6LJ.jpg differ diff --git a/bibrecognition/images/bib_05.jpg b/bibrecognition/images/bib_05.jpg new file mode 100644 index 0000000..df4cd34 Binary files /dev/null and b/bibrecognition/images/bib_05.jpg differ diff --git a/bibrecognition/images/bib_05_kQ2mqaw.jpg b/bibrecognition/images/bib_05_kQ2mqaw.jpg new file mode 100644 index 0000000..df4cd34 Binary files /dev/null and b/bibrecognition/images/bib_05_kQ2mqaw.jpg differ diff --git a/bibrecognition/images/bib_05_roPy7Ha.jpg b/bibrecognition/images/bib_05_roPy7Ha.jpg new file mode 100644 index 0000000..df4cd34 Binary files /dev/null and b/bibrecognition/images/bib_05_roPy7Ha.jpg differ diff --git a/bibrecognition/imguploader/__pycache__/forms.cpython-38.pyc b/bibrecognition/imguploader/__pycache__/forms.cpython-38.pyc index 3137f72..38b3af6 100644 Binary files a/bibrecognition/imguploader/__pycache__/forms.cpython-38.pyc and b/bibrecognition/imguploader/__pycache__/forms.cpython-38.pyc differ diff --git a/bibrecognition/imguploader/__pycache__/functions.cpython-38.pyc b/bibrecognition/imguploader/__pycache__/functions.cpython-38.pyc index 49ddef4..3374974 100644 Binary files a/bibrecognition/imguploader/__pycache__/functions.cpython-38.pyc and b/bibrecognition/imguploader/__pycache__/functions.cpython-38.pyc differ diff --git a/bibrecognition/imguploader/__pycache__/models.cpython-38.pyc b/bibrecognition/imguploader/__pycache__/models.cpython-38.pyc index 2d71fee..97d846e 100644 Binary files a/bibrecognition/imguploader/__pycache__/models.cpython-38.pyc and b/bibrecognition/imguploader/__pycache__/models.cpython-38.pyc differ diff --git a/bibrecognition/imguploader/__pycache__/urls.cpython-38.pyc b/bibrecognition/imguploader/__pycache__/urls.cpython-38.pyc index db3c30d..c51b4be 100644 Binary files a/bibrecognition/imguploader/__pycache__/urls.cpython-38.pyc and b/bibrecognition/imguploader/__pycache__/urls.cpython-38.pyc differ diff --git a/bibrecognition/imguploader/__pycache__/views.cpython-38.pyc b/bibrecognition/imguploader/__pycache__/views.cpython-38.pyc index cbf86ea..04e9881 100644 Binary files a/bibrecognition/imguploader/__pycache__/views.cpython-38.pyc and b/bibrecognition/imguploader/__pycache__/views.cpython-38.pyc differ diff --git a/bibrecognition/imguploader/forms.py b/bibrecognition/imguploader/forms.py index 9adf0d9..e7e9bf1 100644 --- a/bibrecognition/imguploader/forms.py +++ b/bibrecognition/imguploader/forms.py @@ -11,5 +11,14 @@ class PhotoForm(forms.Form): class SearchForm(forms.Form): zawody = forms.ModelChoiceField( - queryset=Competitions.objects.all(), to_field_name="comp_slug") + queryset=Competitions.objects.filter(status="published"), to_field_name="comp_slug") numer = forms.DecimalField(decimal_places=0) + + +class ChangeForm(forms.Form): + zawody = forms.ModelChoiceField( + queryset=Competitions.objects.all(), to_field_name="comp_slug") + + +class ChangeIDForm(forms.Form): + numerki = forms.CharField() diff --git a/bibrecognition/imguploader/functions.py b/bibrecognition/imguploader/functions.py index 231572b..e36ac04 100644 --- a/bibrecognition/imguploader/functions.py +++ b/bibrecognition/imguploader/functions.py @@ -72,7 +72,7 @@ def decode_predictions(scores, geometry): def findNumber(url): - image = cv2.imread(url) + image = cv2.imread("./"+url) orig = image.copy() (origH, origW) = image.shape[:2] (newW, newH) = (320,320) diff --git a/bibrecognition/imguploader/models.py b/bibrecognition/imguploader/models.py index c3a7462..e5cacda 100644 --- a/bibrecognition/imguploader/models.py +++ b/bibrecognition/imguploader/models.py @@ -17,7 +17,7 @@ class Competitions(models.Model): class Photo(models.Model): comp_id = models.ForeignKey(Competitions, on_delete=models.CASCADE) name = models.CharField(max_length=100, default='Zdjecie') - image = models.ImageField(upload_to='images/', default='placeholder.jpg') + image = models.ImageField(upload_to='./', default='placeholder.jpg') # url = models.CharField(max_length=50) objects = PhotoManager() diff --git a/bibrecognition/imguploader/templates/change.html b/bibrecognition/imguploader/templates/change.html new file mode 100644 index 0000000..1cc9000 --- /dev/null +++ b/bibrecognition/imguploader/templates/change.html @@ -0,0 +1,33 @@ + + + + + + + Search Photos + + + + {% if form %} +
+ {% csrf_token %} + {{ form }} + +
+ {% endif %} + {% if meta %} + + {% endif %} + + + \ No newline at end of file diff --git a/bibrecognition/imguploader/templates/changeid.html b/bibrecognition/imguploader/templates/changeid.html new file mode 100644 index 0000000..7456b8a --- /dev/null +++ b/bibrecognition/imguploader/templates/changeid.html @@ -0,0 +1,30 @@ + + + + + + + Search Photos + + + + + {% if foto %} + +

Znalezione wartości:

+ + {% for n in numery %} + {{ n }}, + {% endfor %} +

Nowe wartości (po przecinku):

+
+ {% csrf_token %} + {{ form }} + +
+ +
+ {% endif %} + + + \ No newline at end of file diff --git a/bibrecognition/imguploader/templates/index.html b/bibrecognition/imguploader/templates/index.html index 3a51633..94131d0 100644 --- a/bibrecognition/imguploader/templates/index.html +++ b/bibrecognition/imguploader/templates/index.html @@ -9,7 +9,8 @@ {% if user.is_authenticated %} Zalogowany 😎
Załaduj zdjęcia
- Przeszukaj bazę + Przeszukaj bazę
+ Koryguj {% else %} Gość 🏃‍♀️
Przeszukaj bazę diff --git a/bibrecognition/imguploader/templates/search.html b/bibrecognition/imguploader/templates/search.html index ed76646..f119c11 100644 --- a/bibrecognition/imguploader/templates/search.html +++ b/bibrecognition/imguploader/templates/search.html @@ -18,7 +18,7 @@ {% if foto %} {% endif %} diff --git a/bibrecognition/imguploader/urls.py b/bibrecognition/imguploader/urls.py index e9c24c1..fe7f252 100644 --- a/bibrecognition/imguploader/urls.py +++ b/bibrecognition/imguploader/urls.py @@ -8,6 +8,8 @@ urlpatterns = [ path('', views.index, name="index"), path('upload', views.uploadPhotos, name="upload"), path('search', views.searchPhotos, name="search"), + path('change', views.changePhotos, name="change"), + path('change/', views.changePhotoID, name="changeid"), diff --git a/bibrecognition/imguploader/views.py b/bibrecognition/imguploader/views.py index dea6a57..dd0f308 100644 --- a/bibrecognition/imguploader/views.py +++ b/bibrecognition/imguploader/views.py @@ -2,6 +2,8 @@ from django.shortcuts import render from django.http import HttpResponse from .forms import PhotoForm from .forms import SearchForm +from .forms import ChangeForm +from .forms import ChangeIDForm from django.http import HttpResponseRedirect from .models import PhotoManager @@ -55,7 +57,7 @@ def searchPhotos(request): form = SearchForm(request.POST) comp = request.POST['zawody'] numer = request.POST['numer'] - print(request) + # print(request) if form.is_valid(): allFotos = [] @@ -76,6 +78,7 @@ def searchPhotos(request): return render(request, 'search.html', {'foto': imgUrls}) else: print('no ni ma') + return HttpResponseRedirect('/failed/') return HttpResponseRedirect('/success/') else: @@ -85,3 +88,75 @@ def searchPhotos(request): form = SearchForm() return render(request, 'search.html', {'form': form}) # return HttpResponse("Hello, world. This is imageUploader") + + +def changePhotos(request): + if request.method == 'POST': + form = ChangeForm(request.POST) + comp = request.POST['zawody'] + imgMeta = [] + if form.is_valid(): + zawody = Competitions.objects.get(comp_slug=comp) + try: + zdjecia = Photo.objects.filter( + comp_id=zawody) + except Photo.DoesNotExist: + zdjecia = None + + if( zdjecia ): + for zdjecie in zdjecia: + meta = [] + pm = PhotoMeta.objects.filter(photo_id=zdjecie) + meta.append(zdjecie.image.name) + numery = [] + for numer in pm: + numery.append(numer.meta_value) + meta.append(numery) + imgMeta.append(meta) + + return render(request, 'change.html', {'meta': imgMeta}) + else: + print('no ni ma') + return HttpResponseRedirect('/failed/') + + else: + return HttpResponseRedirect('/failed/') + else: + form = ChangeForm() + + return render(request, 'change.html', {'form': form}) + + +def changePhotoID(request, photo): + if request.method == 'POST': + form = ChangeIDForm(request.POST) + meta = request.POST['numerki'] + numerki = meta.split(',') + zdjecie = Photo.objects.get(pk=photo) + + PhotoMeta.objects.filter(photo_id=zdjecie).delete() + for n in numerki: + n = n.strip() + pm = PhotoMeta(comp_id=zdjecie.comp_id, photo_id=zdjecie, + meta_key="detect_number", meta_value=n) + pm.save(force_insert=True) + + return render(request, 'changeid.html') + else: + form = ChangeIDForm() + try: + zdjecie = Photo.objects.get(pk=photo) + except Photo.DoesNotExist: + zdjecie = None + + if(zdjecie): + pm = PhotoMeta.objects.filter(photo_id=zdjecie) + foto = zdjecie.image.url + numery = [] + for nr in pm: + numery.append(nr.meta_value) + else: + print('no ni ma') + return HttpResponseRedirect('/failed/') + + return render(request, 'changeid.html', {'photoid':photo,'foto': foto, 'numery': numery, 'form': form}) diff --git a/imgs/bib_05.jpg b/imgs/bib_05.jpg new file mode 100644 index 0000000..df4cd34 Binary files /dev/null and b/imgs/bib_05.jpg differ diff --git a/imgs/bib_06.jpg b/imgs/bib_06.jpg new file mode 100644 index 0000000..01923e3 Binary files /dev/null and b/imgs/bib_06.jpg differ diff --git a/imgs/bib_07.jpg b/imgs/bib_07.jpg new file mode 100644 index 0000000..ea5ffe1 Binary files /dev/null and b/imgs/bib_07.jpg differ diff --git a/imgs/bib_08.jpg b/imgs/bib_08.jpg new file mode 100644 index 0000000..967e219 Binary files /dev/null and b/imgs/bib_08.jpg differ diff --git a/imgs/bib_09.jpg b/imgs/bib_09.jpg new file mode 100644 index 0000000..ae15a2f Binary files /dev/null and b/imgs/bib_09.jpg differ