Problem
Bir fotoğraftaki renkleri bir arayüzde kullanmak istediğinizde, seçtiğiniz tonların HEX kodlarına ihtiyacınız oluyor. Bu uygulama fotoğrafı alıp seçilen sayıda renkten oluşan bir palete dönüştürüyor. Üç kişilik ekipte görüntü işleme, kullanıcı hesapları ve palet arşivini aynı Django uygulamasında birleştirdik.
Kapakta, projede kayıtlı bir kıyı fotoğrafını ve ondan elde edilen beş HEX rengini birlikte görebilirsiniz. Bu görsel, kayıtlı sonucu göstermek için hazırlanmış bir karşılaştırma; uygulama ekranı değil.
Görüntü işleme pipeline’ı
JPEG/PNG dosyası doğrulandıktan sonra görüntü 200×200 boyutuna indiriliyor. Gaussian blur uygulanıp OpenCV ile BGR’den LAB renk uzayına dönüştürülüyor. Piksel değerleri K-Means ile kümeleniyor; merkezler RGB’ye çevrilerek palet ve HEX kodları oluşturuluyor.
Kullanıcı renk sayısını ve blur kernel değerini seçebiliyor. K-Means için random_state=42, n_init=10 ve max_iter=1000 kullanılıyor. Resize, kümelemenin maliyetini sınırlandırıyor; küçük ayrıntıların ve seyrek renklerin kaybolması ise bu tercihin bir sonucu.
Web ve veri modeli
Django’nun kullanıcı sistemi ve template yapısı ile yükleme, sonuç, palet geçmişi ve profil ekranları geliştirildi. Palet düzenleme/silme sorguları kullanıcıya göre filtreleniyor.
ImageUpload ve ColorPalette, ortak zaman alanlarını taşıyan abstract BaseModel’den türetiliyor. Kullanıcı ve görsel ilişkileri ForeignKey ile kuruluyor. Görüntü işleme adımları küçük fonksiyonlara ayrılarak algoritma, yardımcı fonksiyon ve view testlerinde kullanılıyor.
Ölçümler ve karşılaşılan sorunlar

Kayıtlı 11 performans ölçümünde toplam süre 0,174–0,702 saniye, ortalama yaklaşık 0,411 saniye. Bunlar projenin eski deney çıktıları; farklı donanım ve görseller için hız garantisi değil.
İlk üretim ve palet düzenleme farklı ön işleme yolları kullanıyor. Ara görüntülerde sabit dosya adları da eşzamanlı isteklerde çakışabilir. Pipeline’ın tek bir servis fonksiyonuna alınması, kullanıcıya özel çıktı yolları ve daha tutarlı görsel depolama sonraki geliştirme adımları.
Sonuç
Görsel yükleme, algoritma çalıştırma, renk kodlarını gösterme ve kullanıcıya özel palet yönetimi aynı uygulamada birleştirildi. Proje, klasik görüntü işlemenin full-stack bir web ürününe entegrasyonunu gösteriyor.
