• 10-05-2023, 17:11:18
    #1
    Merhaba, C# ile bir uygulama geliştiriyorum IP cameradan görüntü alıyor ve Image de frame olarak gösteriyorum aşağıda ki gibi bir görsel geliyor ve bu görüntüyü nasıl normal görüntüye çevirebilirim bilgisi olan arkadaşlar yardımcı olabilirler mi?
    Ve birde resmi nasıl daire olucak şekilde croplaya bilirim siyah bölümler olmamamsı için

    kodum:

    private void videoCaptureDeviceNewFrame(object sender, NewFrameEventArgs eventArgs)
    {
        try
        {
            Image img = (Bitmap)eventArgs.Frame.Clone();
    
            MemoryStream ms = new MemoryStream();
    ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
    EncoderParameters encoderParams = new EncoderParameters(1);
    encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
    img.Save(ms, jpgEncoder, encoderParams);
    
    ms.Seek(0, SeekOrigin.Begin);
    BitmapImage bi = new BitmapImage();
    bi.BeginInit();
    bi.StreamSource = ms;
    bi.CacheOption = BitmapCacheOption.OnLoad;
    bi.EndInit();
    
    bi.Freeze();
    Dispatcher.BeginInvoke(new ThreadStart(delegate { captureImage.Source = bi; }));
    
    }
    catch (Exception error)
    {
    Console.WriteLine("ERROR " + error.ToString());
    }
            }


  • 14-07-2023, 12:37:52
    #2
    private void videoCaptureDeviceNewFrame(object sender, NewFrameEventArgs eventArgs) { try { using (Bitmap img = (Bitmap)eventArgs.Frame.Clone()) { using (MemoryStream ms = new MemoryStream()) { img.Save(ms, ImageFormat.Jpeg); ms.Seek(0, SeekOrigin.Begin); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.CacheOption = BitmapCacheOption.OnLoad; bi.StreamSource = ms; bi.EndInit(); bi.Freeze(); Dispatcher.BeginInvoke(new Action(() => captureImage.Source = bi)); } } } catch (Exception error) { Console.WriteLine("ERROR: " + error.ToString()); } }