2015-06-08 58 views
2

我有一個pointgrey USB3攝像頭,我用Matlab R2015a接口。一切工作正常,除了我得到隨機的Matlab崩潰 - 通常每10000圖像。下面是崩潰消息。 典型的程序我跑的樣子說:matlab在採集點圖像時崩潰

vidobj = imaq.VideoDevice('pointgrey'); 
set(vidobj,'ROI',ROI); 
for i=1:Nimages 
    frame=step(vidobj) 
    here some basic image analysis 
    end 

我想不出什麼觸發崩潰。如果有人有任何線索,我會很感激。 謝謝,GD

------------------------------------------------------------------------ 
      Access violation detected at Mon Jun 08 15:17:53 2015 
------------------------------------------------------------------------ 

Configuration: 
    Crash Decoding  : Disabled 
    Crash Mode   : continue (default) 
    Current Graphics Driver: NVIDIA Corporation GeForce GTS 450/PCIe/SSE2 Version 4.3.0 
    Default Encoding : windows-1252 
    Graphics card 1  : NVIDIA (0x10de) NVIDIA GeForce GTS 450 Version 9.18.13.1106 
    Host Name   : 1P-Camera 
    MATLAB Architecture : win64 
    MATLAB Root   : C:\Program Files\MATLAB\R2015a 
    MATLAB Version  : 8.5.0.197613 (R2015a) 
    OpenGL    : hardware 
    Operating System : Microsoft Windows 7 Professionnel 
    Processor ID  : x86 Family 6 Model 26 Stepping 5, GenuineIntel 
    Virtual Machine  : Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode 
    Window System  : Version 6.1 (Build 7601: Service Pack 1) 

Fault Count: 1 


Abnormal termination: 
Access violation 

Register State (from fault): 
     RAX = 0000000600000024 RBX = 00000ab7759f5df0 
     RCX = 000000ffffffffff RDX = 0000000000000000 
     RSP = 00000001a801fc60 RBP = 000000002b7f7840 
     RSI = 0000000000000000 RDI = 0000000000000000 

     R8 = 000000002b7f7830 R9 = 00000001a801fd90 
     R10 = 0000000000000049 R11 = 00000001a801fd20 
     R12 = 0000000004120000 R13 = 0000000000000000 
     R14 = 0000000000000001 R15 = 0000000000000000 

     RIP = 00000000778c107c EFL = 00010206 

     CS = 0033 FS = 0053 GS = 002b 

    Stack Trace (from fault): 
    [ 0] 0x00000000778c107c      C:\Windows\SYSTEM32\ntdll.dll+00331900 RtlAnsiStringToUnicodeString+00000300 
    [ 1] 0x0000000077671a5a     C:\Windows\system32\kernel32.dll+00137818 HeapFree+00000010 
[ 2] 0x000007fef2b96338 C:\Program Files\MATLAB\R2015a\bin\win64\MSVCR110.dll+00418616 free+00000028 
    [ 3] 0x0000000073f1a0c7 C:\Program Files\MATLAB\R2015a\bin\win64\tamutil.dll+00041159 tamutil::EventQueue::popEvent+00000119 
    [ 4] 0x0000000073f1a443 C:\Program Files\MATLAB\R2015a\bin\win64\tamutil.dll+00042051 tamutil::EventQueue::processEvents+00000275 
    [ 5] 0x0000000073f1abc7 C:\Program Files\MATLAB\R2015a\bin\win64\tamutil.dll+00043975 tamutil::EventThread::running+00000183 
    [ 6] 0x0000000073f24cc9 C:\Program Files\MATLAB\R2015a\bin\win64\tamutil.dll+00085193 tamutil::WorkThread::run+00000073 
    [ 7] 0x0000000073f2214a C:\Program Files\MATLAB\R2015a\bin\win64\tamutil.dll+00074058 tamutil::Thread::join+00000810 
    [ 8] 0x000007fef3006751 C:\Program Files\MATLAB\R2015a\bin\win64\boost_thread-vc110-mt-1_49.dll+00026449 boost::thread::swap+00000049 
    [ 9] 0x000007fef2b53fef C:\Program Files\MATLAB\R2015a\bin\win64\MSVCR110.dll+00147439 beginthreadex+00000263 
    [ 10] 0x000007fef2b54196 C:\Program Files\MATLAB\R2015a\bin\win64\MSVCR110.dll+00147862 endthreadex+00000402 
    [ 11] 0x00000000776659cd     C:\Windows\system32\kernel32.dll+00088525 BaseThreadInitThunk+00000013 
    [ 12] 0x000000007789b981      C:\Windows\SYSTEM32\ntdll.dll+00178561 RtlUserThreadStart+00000033 
+0

我有這個完全相同的問題。你有沒有發現它? – hepcat72

回答

0

是的,我做到了,通過使用:

obj = videoinput(...) 
frame=getsnapshot(obj) 

我還是不明白,這兩種方法之間的差異,但是這一個更穩定。 希望它有幫助。