AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Entegrasyonlar › INT-KAMERA

KAMERA

INTEGRATIONERPGOLD_COREACTIVEHIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Kaynak: KB-docs integrations/INT-KAMERA-yuz-tanima.md (tam kod taraması). KB-v1'de karşılığı yoktu (AUDIT §2.4).

INT-KAMERA — Web Kamerası ile Fotoğraf (AForge) ve Yüz Tanıma (Luxand FaceSDK)

Gerçeklik türü: AS-IMPLEMENTED (kod). Depo kökü: /home/claude/erppro/ERPPRO. Gizlilik: FaceRecognition.vb:25 içindeki FaceSDK lisans anahtarı kopyalanmamıştır.

1. Amaç

  1. Fotoğraf çekme: model/pırlanta/model kartı/personel kayıtlarına web kamerasından JPG kaydetmek (AiWebCam).
  2. Yüz tanıma: kameradaki yüzü Luxand FaceSDK izleyicisi ile tanıyıp, öğretilmiş kimlik (TC No) ile Cari.Hesaplar'da hesabı bulup Cari Hesap kartını açmak (FrmFaceRecognition).
  3. AiCam (avicap32 tabanlı eski önizleme sınıfı) — kodda kullanılmıyor.

2. Protokol / taşıma

  • AForge.Video.DirectShow (ERPPRO.vbproj:119-127): FilterInfoCollection(VideoInputDevice)VideoCaptureDevice.NewFrameBitmap; timer ile PicCapture güncellenir; kaydetme Utils.ResizeImage(640x480).Save(<ImageFolder>\<Klasör>\<Ad>.Jpg). VERIFIED ERPPRO/Form/Genel/AiWebCam.vb:25-55.
  • Luxand FaceSDK.NET (ERPPRO.vbproj:262, x64): FSDK.ActivateLibrary(<anahtar>), FSDKCam.OpenVideoCamera(ilk kamera), FSDK.CreateTracker/FeedFrame/GetTrackerFacePosition/GetAllNames/SetName/LockID, izleyici belleği tracker1.dat dosyasında (SaveTrackerMemoryToFile). VERIFIED ERPPRO/Class/Module/FaceRecognition.vb:6, 22-58, 83-126, 143.
  • avicap32 (AiCam.vb:35-43, capCreateCaptureWindowA) — eski VFW; çağıran yok (VERIFIED grep).
  • DB: yüz şablonu DB'ye yazma kodu yorum satırında (FaceRecognition.vb:173-191, Sistem.Tracker tablosu); yalnız yerel dosya.

3. Giriş noktası sınıf ve metotlar

  • ERPPRO/Form/Genel/AiWebCam.vb: New(FileName, ParentFolder) :11-16; FileName = Program.UserSettings.ImageFolder & ParentFolder & FileName & ".Jpg" :19-23; Start :25-30 (cihaz Index, F4 ile değiştirilir :64-66); Save :42-55 (F2/Enter); Esc kapatır.
  • Çağıranlar: FrmModelEkle.vb:254, FrmPirlantaEkle.vb:371, FrmModelKartıEkle.vb:138, FrmPersonelEkle.vb:286 (F3), DataListGrid.vb:151 (F3 → Picture.GetImage).
  • ERPPRO/Class/Module/FaceRecognition.vb: Init(PictureEdit) :22-49 (lisans → "Please run the License Key Wizard…", kamera yok → "Please attach a camera"); DoWork :50- (döngü: kare al, yüz say, isim varsa FaceDetected(Identity); fareyle tıklanan yüzde psRememberInputBox("Your Identity")SetName); Close :169.
  • ERPPRO/Controls/FaceRecognition/FrmFaceRecognition.vb: Load → Init :19-21; FaceDetected → Showperson :22-25, 30-48: CheckButton1 işaretliyse Select Id From Cari.Hesaplar Where TcNo='<isim>' And IsDeleted='False'FrmCariHesapEkle (RecordId) açılır.
  • Açılış: FrmMainForm.vb:415-418 (menü FACERECOGNITION, TopMost), FrmPersonelEkle.vb:292-295 (BtnTarama).

4. Kullandığı tablolar / ayarlar

Nesne Kullanım Kanıt
Sistem.Clients.ImageFolder Fotoğraf kök klasörü (paylaşım yolu) AiWebCam.vb:21; FrmUserSettings.vb:43, 93
Cari.Hesaplar.TcNo Yüz kimliği → hesap eşlemesi FrmFaceRecognition.vb:32
tracker1.dat (çalışma klasörü) Öğrenilmiş yüz şablonları FaceRecognition.vb:6, 53, 143
Sistem.Tracker Yorumda, kullanılmıyor FaceRecognition.vb:174, 182

5. Hangi ekrandan tetiklenir

  • Model / Pırlanta / Model Kartı / Personel ekle ekranlarında Kamera düğmesi veya F3; veri listelerinde F3.
  • Ana menü Yüz Tanıma (FACERECOGNITION) ve Personel kartı Tarama düğmesi.

6. Hata / başarısızlık davranışı

  • Kamera yoksa AiWebCam.Start Cihazlar(Index) dizin hatası → yakalanmamış istisna (:26-27 Try/Catch yok). VERIFIED
  • FaceSDK lisansı geçersiz → mesaj, Init False; form açık kalır (görüntü yok).
  • DoWork döngüsü istisnaları yutar (:134-135); Application.DoEvents ile UI thread'i meşgul eder.
  • Showperson: TcNo eşleşmezse sessiz (Id = 0 → Exit Sub). VERIFIED
  • Yüz kimliği InputBox ile serbest metin girilir; TC No formatı doğrulanmaz.

7. Riskler

  • Üçüncü parti lisans anahtarı kaynak kodda sabit (VERIFIED, değer kopyalanmadı).
  • Biyometrik veri (tracker1.dat) yerel, şifresiz, yedeklenmiyor; KVKK/özel nitelikli veri açısından değerlendirilmeli. INFERRED
  • FaceSDK.NET yalnız AMD64 (ERPPRO.vbproj:262) — x86 derlemede çalışmaz. VERIFIED
  • CheckForIllegalCrossThreadCalls = False (FrmFaceRecognition.vb:3) — thread güvenliği devre dışı. VERIFIED
  • Cari.Hesaplar sorgusu tanınan isimle string birleştirme (FrmFaceRecognition.vb:32) → serbest metin kimlik ile SQL enjeksiyonu mümkün. VERIFIED

8. Kanıt listesi

  • ERPPRO/Form/Genel/AiWebCam.vb:1-68; ERPPRO/Class/Module/AiCam.vb:1-60; ERPPRO/Class/Module/FaceRecognition.vb:1-192
  • ERPPRO/Controls/FaceRecognition/FrmFaceRecognition.vb:1-66
  • ERPPRO/Form/Genel/FrmMainForm.vb:415-418; ERPPRO/Form/Tanımlamalar/Personel/FrmPersonelEkle.vb:285-295; ERPPRO/Form/Tanımlamalar/Stok/FrmModelEkle.vb:254; FrmPirlantaEkle.vb:371; ERPPRO/Form/Siparis/FrmModelKartıEkle.vb:138; ERPPRO/Controls/Grid/DataListGrid.vb:146-157
  • ERPPRO/ERPPRO.vbproj:119-127, 262; ERPPRO/Form/Settings/FrmUserSettings.vb:43, 93
  • Not: kb_src/notes/integrations.json içinde kayıt yok (yeni bulgu).

9. UNKNOWN

  • Sahada yüz tanımanın gerçekten kullanılıp kullanılmadığı.
  • ImageFolder paylaşımının yetkilendirmesi.