พฤษภาคม 21, 2018, 03:47:54 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: สอบถามค่ะ ใช้webcam 3 ตัว เก็บภาพ GUI  (อ่าน 7052 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
anthika
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 3


| |
« เมื่อ: มิถุนายน 14, 2013, 11:22:27 am »




ตอนนี้หน้าต่าง GUI ที่ทำไว้เป็นแบบนี้ค่ะ

1.ต้องการให้รับภาพได้จาก web cam 3 ตัว พร้อมกัน  ( ตอนนี้รับได้พร้อมมกันเพียง 2 ตัว )
2.ต้องการ capture 1 ครั้งได้ภาพจากทั้ง 3 กล้อง        (ตอนนี้ Capture แล้วได้ภาพจาก 1 กล้อง แต่แสดงทั้ง 3 axes )
3.ต้องการให้แสดง frame rate ของกล้องแต่ละตัว

code ตามนี้ค่ะ    


% --- Executes on button press in connect.
function connect_Callback(hObject, eventdata, handles)
% hObject    handle to connect (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

check1=get(handles.Camera1,'value');
check2=get(handles.Camera2,'value');
check3=get(handles.Camera3,'value');
% if (check1==1)
% obj=videoinput('winvideo',1);
% elseif (check2==1)
% obj=videoinput('winvideo',2);
% else
% obj=videoinput('winvideo',3);
% end


axes(handles.axes1)
obj1=videoinput('winvideo',1);
set(obj1,'returnedcolorspace','rgb')
vidRes = get(obj1, 'VideoResolution'); % Resolution of device ex. 640x480
nBands = get(obj1, 'NumberOfBands');
hImage1 = image( zeros(vidRes(2), vidRes(1), nBands) );
preview(obj1, hImage1);
handles.objVideo=obj1;
guidata(hObject, handles);

axes(handles.axes4)
obj2=videoinput('winvideo',2);
set(obj2,'returnedcolorspace','rgb')
vidRes = get(obj2, 'VideoResolution'); % Resolution of device ex. 640x480
nBands = get(obj2, 'NumberOfBands');
hImage2 = image( zeros(vidRes(2), vidRes(1), nBands) );
preview(obj2, hImage2);
handles.objVideo=obj2;
guidata(hObject, handles);

axes(handles.axes5)
obj3=videoinput('winvideo',3);
set(obj3,'returnedcolorspace','rgb')
vidRes = get(obj3, 'VideoResolution'); % Resolution of device ex. 640x480
nBands = get(obj3, 'NumberOfBands');
hImage3 = image( zeros(vidRes(2), vidRes(1), nBands) );
preview(obj3, hImage3);
handles.objVideo=obj3;
guidata(hObject, handles);



.....




% --- Executes on button press in capture.
function capture_Callback(hObject, eventdata, handles)
% hObject    handle to capture (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

axes(handles.axes3);
im=getsnapshot(handles.objVideo);
handles.image=im;
imshow(handles.image);


axes(handles.axes7);
im=getsnapshot(handles.objVideo);
handles.image=im;
imshow(handles.image);

axes(handles.axes8);
im=getsnapshot(handles.objVideo);
handles.image=im;
imshow(handles.image);
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #1 เมื่อ: มิถุนายน 14, 2013, 12:45:49 pm »

สรุปว่าคำถามคือ?
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
anthika
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 3


| |
« ตอบ #2 เมื่อ: มิถุนายน 14, 2013, 01:15:27 pm »


1.ต้องการให้รับภาพได้จาก web cam 3 ตัว พร้อมกัน  ( ตอนนี้รับได้พร้อมมกันเพียง 2 ตัว )
2.ต้องการ capture 1 ครั้งได้ภาพจากทั้ง 3 กล้อง        (ตอนนี้ Capture แล้วได้ภาพจาก 1 กล้อง แต่แสดงทั้ง 3 axes )

อยากทราบว่าต้องเขียนโค้ดอย่างไรคะ
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #3 เมื่อ: มิถุนายน 14, 2013, 05:38:20 pm »

เขียน code ได้มาถึงขนาดนี้แล้ว คำถามน่าจะเป็นอะไรที่ชัดเจนมากกว่า "อยากทราบว่าต้องเขียนโค้ดอย่างไรคะ" นะครับ
ถ้าคำถามคือ "เขียน code อย่างไร" ผมไม่มีความสามารถจะตอบให้ได้ ทำได้แต่แนะนำว่า:
1. ตัวที่ 3 ก็เเขียนเหมือนๆ กับสองตัวแรก
2. อีกสองกล้องที่เหลือ เขียนเหมือนๆ กับตัวแรก

บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: