else if (comboBox1.Text == "Capture From File")
{
OpenFileDialog openFile = new OpenFileDialog();
openFile.Filter = "AVI files (*.avi)|*.txt|All files (*.*)|*.*";
openFile.FilterIndex = 2;
openFile.RestoreDirectory = true;
openFile.FileName ="";
if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
char fileName = (char*)Marshal.StringToHGlobalAnsi(openFile.FileName).ToPointer();
CvCapture cap = CvCapture.FromFile(fileName);
trackBar1.Minimum = 0;
trackBar1.Maximum = (int)Cv.GetCaptureProperty(cap, CV_CAP_PROP_FRAME_COUNT);
btnStart.Text = "Stop";
timer1.Start();
}
}
Привет, Я пытаюсь захватить видеофайл с помощью combobox и trackbar. Сначала я должен сказать, что я новичок на C#. Так что я немного застрял.Capture From File
Прежде всего, я использовал этот код на C++ после того, как начал разрабатывать свою программу на C#. Я получаю сообщение об ошибке здесь Marshal.StringToHGlobalAnsi
и в то время как я хочу, чтобы попытаться получить количество кадров для TrackBar здесь
trackBar1.Maximum = (int)Cv.GetCaptureProperty(cap, CV_CAP_PROP_FRAME_COUNT);
В чем вы сомневаетесь? –
Какая ошибка? –
Для продолжения моего проекта все коды должны быть правильными, я принимаю ошибку. В C# я не могу использовать маршал, и я не могу получить число кадров, используя CV_CAP_PROP_FRAME_COUNT, там должно быть что-то другое, но я не знаю. Также мне нужно использовать emgu cv? Я разрабатываю свой проект с opencvsharp. –