EMGU sadece bu nedenle görüntüyü kaydetme .Net yöntemi kullanmak zorunda Image.Save (dosya adı) sahiptir. Bu kod here'dan türetilmiştir. Kolaylıkla kodunu ayırdım, bu kod bir dosya açar ve kaydetmeye çalışır. Bu, saveJpeg (SaveFile.FileName, img.ToBitmap(), 100) ile ilgilenen işlevdir;. SaveJpeg (string path, Bitmap img, long quality) işlevine bağlı olarak. Bu fonksiyon gelen için
open.Filter = "Image Files (*.tif; *.dcm; *.jpg; *.jpeg; *.bmp)|*.tif; *.dcm; *.jpg; *.jpeg; *.bmp";
if (open.ShowDialog() == DialogResult.OK)
{
Image<Bgr, Byte> img = new Image<Bgr, Byte>(open.FileName);
SaveFileDialog SaveFile = new SaveFileDialog();
if (SaveFile.ShowDialog() == DialogResult.OK)
{
saveJpeg(SaveFile.FileName, img.ToBitmap(), 100);
}
}
Şimdi kodu almak için bunu kopyalayıp kod üstündeki kullanarak ifade unutma projenize yapıştırabilirsiniz aşağıdaki.
using System.Drawing.Imaging;
private void saveJpeg(string path, Bitmap img, long quality)
{
// Encoder parameter for image quality
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
// Jpeg image codec
ImageCodecInfo jpegCodec = this.getEncoderInfo("image/jpeg");
if (jpegCodec == null)
return;
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
img.Save(path, jpegCodec, encoderParams);
}
private ImageCodecInfo getEncoderInfo(string mimeType)
{
// Get image codecs for all image formats
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Find the correct image codec
for (int i = 0; i < codecs.Length; i++)
if (codecs[i].MimeType == mimeType)
return codecs[i];
return null;
}
Eğer takılıp kalırsanız, EMGU için en iyi yöntem budur. Bu yardımcı olur
Umut,
Chris
Hi, ben web sitesinin kapalı olduğu için özür dilerim EMGU adına ama ben her zaman yardımcı olabilecek herhangi bir soru için burada ve codeproject trolling ediyorum ile. Alkışlar – Chris
@Chris Çok teşekkürler. Şimdi kime sorabileceğimi biliyorum. Sitenin kararlı çalışmasını öner! – sergtk