В моем приложении kinect есть основной поток, который отвечает за связь между потоком пользовательского интерфейса и другими потоками. Я не могу сделать копию WriteableBitmap, сгенерированную из kinect, и передать это изображение WriteableBitmap в отдельный поток с обработкой EmguCV. Я пробовал все: Clone, CloneCurrentValue, BlockingCollection, но всегда были некоторые проблемы, такие как:
Вызывающий поток не может получить доступ к этому объекту, так как другой поток владеет
Или обработка данных неправильная. Это основной цикл в моем приложении;
WritableBitmap color; WritableBitmap depth; while (true) { kinect.updateFrames(); ctrlMainWindow.Dispatcher.BeginInvoke(new Action(() => { color = kinect.video.getBitmapColor(); depth = kinect.video.getBitmapDepth(); })); updateDetectors(color,depth); // Other thread }