Basler A2A2448-75ucBAS endüstriyel kamerası için geliştirilmiş profesyonel C# konfigürasyon arayüzü. Exposure, Gain, Trigger ve diğer kamera parametrelerinin yönetimini kolaylaştırır.
- Özellikler
- Gereksinimler
- Kurulum
- Kullanım
- Proje Yapısı
- API Referansı
- Troubleshooting
- Katkıda Bulunma
- Lisans
- 🔗 Otomatik Kamera Keşfi - USB 3.0 üzerinden Basler kameralarını otomatik bulma
- 📱 Gerçek Zamanlı Görüntü Alma - Tek kare veya sürekli görüntü alma
- 🖼️ Canlı Önizleme - Anlık görüntü önizlemesi ve kaydetme
- ⚡ Thread-Safe İşlemler - UI thread'i bloklamadan güvenli kamera işlemleri
- 🔧 Esnek Konfigürasyon - Tüm kamera parametrelerinin kolay yönetimi
- Basler Pylon SDK entegrasyonu
- USB 3.0 yüksek hızlı veri transferi
- CMOS sensör desteği (2448 x 2048, 75 fps)
- Multi-threading mimarisi
- XML konfigürasyon dosyası desteği
- Exposure Time (Pozlama süresi)
- Gain (Kazanç ayarı)
- White Balance (Beyaz dengesi)
- Frame Rate (FPS kontrolü)
- Trigger Mode (Software/Hardware tetikleme)
- Pixel Format seçimleri
- ROI (Region of Interest) ayarları
- Gamma, Brightness, Contrast kontrolleri
- Basler A2A2448-75ucBAS kamera cihazı
- USB 3.0 portu (yüksek hızlı veri transferi için)
- Windows 10/11 (64-bit önerilen)
- Minimum 4GB RAM
- 1GB boş disk alanı
- .NET Framework 4.8 veya üzeri
- Visual Studio 2019/2022 (geliştirme için)
- Basler Pylon SDK (projede dahil)
git clone https://github.com/alknbugra/BaslerCamera.git
cd BaslerCamera# Visual Studio ile
start BaslerCameraConfiguration/BaslerCameraConfiguration.sln
# Veya dotnet CLI ile
dotnet restore BaslerCameraConfiguration/BaslerCameraConfiguration.slnProje klasöründe dll/ dizininde gerekli Basler SDK dosyaları bulunmaktadır:
Basler.Pylon.dll
# Visual Studio'dan F5 ile
# Veya build edip exe'yi çalıştırın- Basler A2A2448-75ucBAS kameranı USB 3.0 kablosu ile bilgisayara bağlayın
- Uygulamayı başlatın - kamera otomatik olarak keşfedilecektir
- Parametreleri ayarlayın - Exposure, Gain, Frame Rate vb.
- Görüntü alın - Tek kare veya sürekli modda
- 📷 Kamera Bağlantı Paneli - Kamera durumu ve bağlantı kontrolü
- ⚙️ Parametre Ayarları - Tüm kamera parametrelerinin yönetimi
- 🖼️ Görüntü Önizleme - Canlı görüntü görüntüleme
- 💾 Kaydetme Seçenekleri - Görüntü ve ayar kaydetme
- Basler A2A2448-75ucBAS (Ana desteklenen model)
- Diğer Basler USB 3.0 kameraları (Pylon SDK uyumlu)
BaslerCamera/
├── 📁 BaslerCameraConfiguration/ # Ana proje klasörü
│ ├── 📁 BaslerCameraConfiguration/ # Kaynak kodlar
│ │ ├── 📁 Classes/ # İş mantığı sınıfları
│ │ │ ├── 📄 BaslerCommunication.cs # Kamera iletişim sınıfı
│ │ │ ├── 📄 SettingCameraFunc.cs # Kamera ayar fonksiyonları
│ │ │ └── 📄 DeviceCameraSettingDTO.cs # Veri transfer nesneleri
│ │ ├── 📁 dll/ # Basler SDK dosyaları
│ │ ├── 📁 Properties/ # Proje özellikleri
│ │ ├── 📄 DeviceCameraSettings.cs # Ana form sınıfı
│ │ ├── 📄 Program.cs # Uygulama giriş noktası
│ │ └── 📄 *.csproj # Proje dosyası
│ └── 📄 BaslerCameraConfiguration.sln # Solution dosyası
├── 📁 images/ # Ekran görüntüleri
├── 📁 .github/workflows/ # GitHub Actions
├── 📄 README.md # Bu dosya
├── 📄 LICENSE # MIT lisansı
└── 📄 .gitignore # Git ignore kuralları
public partial class DeviceCameraSettings : Form
{
private SettingCameraFunc ayarClass; // Kamera ayar fonksiyonları
private BaslerCommunication baslerComm; // Basler iletişim nesnesi
}public class BaslerCommunication
{
public Camera Camera { get; set; } // Basler kamera nesnesi
public bool IsConnected { get; set; } // Bağlantı durumu
public void Connect() // Kamera bağlantısı
public void Disconnect() // Kamera bağlantısını kes
public Image CaptureImage() // Görüntü yakalama
}public class SettingCameraFunc
{
public string ModelName() // Kamera model adı
public List<string> PixelFormatList() // Desteklenen pixel formatları
public void SetExposureTime(double value) // Pozlama süresi ayarla
public void SetGain(double value) // Kazanç ayarla
public void SetFrameRate(double value) // FPS ayarla
}// Kamera bağlantısı
private void ConnectCamera()
// Görüntü yakalama
private void CaptureImage()
// Parametre ayarlama
private void SetCameraParameters()
// Ayar kaydetme
private void SaveSettings()Çözüm:
- USB 3.0 kablosunun doğru bağlandığından emin olun
- Kameranın güç aldığından kontrol edin
- Basler Pylon SDK'nın yüklü olduğunu kontrol edin
- Farklı bir USB portu deneyin
- Kamera sürücülerinin güncel olduğunu kontrol edin
Çözüm:
dll/klasöründekiBasler.Pylon.dlldosyasının mevcut olduğunu kontrol edin- .NET Framework 4.8'in yüklü olduğunu kontrol edin
- Visual C++ Redistributable'ı yükleyin
- Basler Pylon Runtime'ı yükleyin
Çözüm:
- Kamera parametrelerini kontrol edin (Exposure, Gain)
- USB 3.0 portu kullandığınızdan emin olun
- Kamera bağlantısını yeniden başlatın
- Frame Rate ayarlarını kontrol edin
Çözüm:
- Proje ayarlarında Platform Target'ı "Any CPU" olarak ayarlayın
- Basler.Pylon.dll dosyasının doğru mimaride olduğunu kontrol edin
- 64-bit sistemde çalıştırıyorsanız x64 DLL kullanın
// Console.WriteLine çıktılarını görmek için
// Visual Studio Output penceresini açın
// Veya Debug modunda çalıştırınBu projeye katkıda bulunmak için:
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/AmazingFeature) - Commit edin (
git commit -m 'Add some AmazingFeature') - Push edin (
git push origin feature/AmazingFeature) - Pull Request oluşturun
- C# Coding Standards kullanın
- XML Documentation ekleyin
- Unit Test yazın (mümkünse)
- README güncelleyin
- Basler Pylon SDK dokümantasyonunu takip edin
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Buğra Alkın - @alknbugra
- 🔗 GitHub: @alknbugra
- 📧 Email: alknbugra@gmail.com
- Basler AG - Pylon SDK için
- Microsoft - .NET Framework için
- Açık kaynak topluluğu - İlham ve destek için
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!