ธันวาคม 13, 2018, 12:48:22 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: สอบถามเกี่ยวกับโปรเจคที่ใช้opencv c++ในการเขียนหน่อยนะครับ  (อ่าน 3652 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Thanapat
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 3


| |
« เมื่อ: กันยายน 24, 2015, 01:22:36 pm »

พอดีว่าผมต้องการตั้งเวลาในการถ่ายภาพเองอัตโนมัติในขณะที่กล้องเปิดอยู่ โดยต้องการตั้งเวลาในการจับภาพทุกๆ10วินาทีแล้วให้มันsaveรูปทุกๆ10วินาที ออกมาเป็นไฟล์a.jpg b.jpg c.jpg ... อะไรแบบนี้อะครับ ตอนนี้ที่ผมทำได้ก็คือเปิดกล้องขึ้นมาได้แล้วบันทึกภาพ1ภาพในตอนที่ปิดกล้องครับพี่
Code:
#include<opencv/cv.h>

#include<opencv/highgui.h>

#include <iostream>

using namespace std;

#define CAMERA_ID 0

#define DISPLAY_WINDOW_NAME "captured image"

int main( int argc, char** argv )

{

// create camera capture object.

CvCapture *pCapture = NULL;

pCapture = cvCreateCameraCapture( CAMERA_ID );

if ( pCapture == NULL )

{

cout << "ERROR: Failed to open camera" << endl;

return EXIT_FAILURE;

}

// create window for displaying captured image.

cvNamedWindow( DISPLAY_WINDOW_NAME );

// capture and display

IplImage *pImage = NULL;

do

{

pImage = cvQueryFrame( pCapture );// เรียกภาพออกมาจากเฟรม โดยเก็บเข้าในตัวแปร structpointer ที่ชื่อ pImage

cvShowImage( DISPLAY_WINDOW_NAME, pImage );

cvSaveImage("i.jpg" ,pImage);
}
while ( cvWaitKey( 1 ) == -1 );

 // ใช้ขั้นเวลาจะ loop ต่อไปถ้าไม่กด keyboard
// before exiting the program,

// destroy the display window and

// release the cameara capture object.

cvDestroyWindow( DISPLAY_WINDOW_NAME );

cvReleaseCapture( &pCapture );

return 0;

}

ผมต้องแก้ เพิ่ม ลด code ตรงไหนบ้างครับ หลังจากที่เพิ่มคำสั่ง cvSaveImage("i.jpg" ,pImage); แล้วทำการรันภาพจากกล้องมันค้างแบบdelayเยอะมากเลยอะครับ



บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

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


ShadowWares


| |
« ตอบ #1 เมื่อ: กันยายน 26, 2015, 01:25:32 pm »

ใช้ฟังก์ชั่น cvWaitKey() ที่มีการรอนาน 10 วินาที หรือฟังก์ชั่นในกลุม Sleep ก็ได้ ครับ
บันทึกการเข้า

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

กระทู้: 3


| |
« ตอบ #2 เมื่อ: กันยายน 26, 2015, 02:18:55 pm »

แล้วที่ภาพค้างเวลากล้องเปิดอยู่ต้องแก้ไขยังไงหรอครับพี่
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

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


ShadowWares


| |
« ตอบ #3 เมื่อ: กันยายน 27, 2015, 01:07:06 pm »

อ้างถึง
แล้วที่ภาพค้างเวลากล้องเปิดอยู่ต้องแก้ไขยังไงหรอครับพี่
ไม่เข้าใจคำถามครับ

ภาพค้างให้ลบภาพออกไป ทำได้โดยการสร้างภาพขึ้นมาใหม่ (เช่นภ่พพื้นขาว หรือ ดำ) แล้วเขียนทับลงไป
บันทึกการเข้า

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

กระทู้: 3


| |
« ตอบ #4 เมื่อ: ตุลาคม 05, 2015, 03:41:33 pm »

ครับพี่ พี่ครับตอนนี้ผมได้ทำการเอารูปภาพจากในเน็ตมาdetect edgeแล้วขั้นตอนต่อไปคือเราจะรู้ได้ยังไงว่ามันคือเส้น ผมต้องใช้วิธีไหนหรอครับพี่
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

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


ShadowWares


| |
« ตอบ #5 เมื่อ: ตุลาคม 08, 2015, 08:12:46 pm »

อ่านคู่มือการใช้งานครับ
http://docs.opencv.org/2.4.9/modules/imgproc/doc/feature_detection.html
http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html#findcontours
http://docs.opencv.org/modules/imgproc/doc/feature_detection.html#houghlines
บันทึกการเข้า

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