PDA

View Full Version : مشکل با openCV



h0x00i
دوشنبه 26 دی 1390, 21:17 عصر
سلام ...

من تازه دارم با openCv کار می کنم (یعنی تازه کارم:لبخند:) الان این برنامه توی ویژوال می نویسم پیام خطا میده

http://www.uppp.ir/uploads/13267373651.png

نمی دونم چی کار کنم ؟؟؟؟؟؟؟ :گریه::گریه::گریه:


#include "stdafx.h"
#include "highgui.h"
#include "cv.h"
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture *capture=cvCreateCameraCapture(0);
IplImage *frame=cvQueryFrame(capture);
IplImage *dst=cvCreateImage(cvGetSize(frame),frame->depth,1);
cvNamedWindow("webcame");
while(1){
cvCvtColor(frame,dst,CV_RGB2GRAY);
cvSmooth(dst,dst,CV_MEDIAN);
cvCanny(dst,dst,10,100,3);

cvShowImage("webcame",dst);
cvWaitKey(3);
frame=cvQueryFrame(capture);
if(!frame)break;

}
return 0;

}

حامد مصافی
دوشنبه 26 دی 1390, 21:52 عصر
اینطوری که نمیشه گفت. در حالت دیباگ اجرا کن ببین حرف حسابش چیه

مصطفی ساتکی
دوشنبه 26 دی 1390, 23:50 عصر
برنامت مشکلی نداره .یا لیست lib ها رو معرفی نکردی یا path ها تو vs مشخص نکردی

h0x00i
سه شنبه 27 دی 1390, 16:29 عصر
اینطوری که نمیشه گفت. در حالت دیباگ اجرا کن ببین حرف حسابش چیه

میشه بیشتر توضیح بدید ؟


تمام تنظیمات کتابخانه هارو انجام دادم


IplImage *dst=cvCreateImage(cvGetSize(frame),frame->depth,1);


وقتی این خط از برنامه وارد می کنم پیام خطا میاد !

مصطفی ساتکی
سه شنبه 27 دی 1390, 22:39 عصر
اگرشما دوربینون به pc متصل نباشه دستور cvCreateCameraCapture(0) مقدار NULL برمی گردونه اگر capture برابر NULL بشه نمی تونه imageی رو query بگیره در نتیجه image شما هم خالیه.
این کدی که فرمودید توش خطا رخ میده میخاد یک iplimage خالی یک کاناله از frame ایجاد کنه چون frame برابر با NULL هستش خطا رخ میده

مصطفی ساتکی
سه شنبه 27 دی 1390, 22:46 عصر
در ضمن هر وقت میخان تصویری رو استفاده کنید بخصوص در حالتی که از دستگاههای جانبی گرفته میشه رو چک کنید که null بر نگردونه.

h0x00i
چهارشنبه 28 دی 1390, 13:39 عصر
من بدون فیلتر برنامه اجرار می کنم وب کم بالا مید کار هم می کنه سرعت نمایش فریم هارو تغییر میدم ولی وقتی می خوام فیلتر روش اعمال کنم اینجوری میشه ؟؟؟

پس وبکمم کار می کنه و برنامه میشناستش مشکل از اون نیست

مصطفی ساتکی
جمعه 30 دی 1390, 22:25 عصر
اگر روی cvCvtColor خطا رخ میده ممکن از فرمت تصویر وب کم باشه روی خط cvSmooth خطا رخ نمی ده چون با فرمت های مختلف مشکلی نداره روی خط cvCanny ممکن خطا رخ بده که حتماً تصویرش باید تک کاناله باشه.
ما آخر نفهمیدم خطا روی کدوم خط رخ میده

h0x00i
جمعه 26 اسفند 1390, 18:00 عصر
مرسی از همه ............ مشکلم حل شد .. گفتم اینجا هم بزار اگه کسی مشکلی مثل من داشت بتونه حل کنه باید کتابخانه های dll موجود در مسیر x:\OpenCV2.1\build\bin\Debug را در پوشه دیباگ برنامه خود کپی کنید تا مشکلتون حل بشه