نمایش نتایج 1 تا 8 از 8

نام تاپیک: هیستوگرام فیلم

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    هیستوگرام فیلم

    سلام
    من میخوام فیلمی رو به کامپیوترمنتقل کنم وهیستوگرامشو بگیرم ولی نمیدونم چطوری؟
    کدی که برای انتقال فیلم دارم اینه:

    #include"cv.h"
    #include"highgui.h"
    int main(int argc, char* argv[])
    {
    CvCapture* capture = cvCreateCameraCapture(0);
    int fps=(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);

    IplImage *frame;
    cvNamedWindow(
    "video");
    cvNamedWindow(
    "window");
    while(1)
    {
    frame=cvQueryFrame(capture);
    cvShowImage(
    "window",frame);
    cvWaitKey(fps);
    if(!frame)break;
    }
    return 0;
    }


    دوستان خواهشا کمک کنید خیلی ضروریه!
    ممنون

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    نقل قول: هیستوگرام فیلم

    یعنی کسی نمیدونست!!!!!!!!
    دوستان کدش رو پیداکردم خواستید پیام بذارید

  3. #3
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: هیستوگرام فیلم

    سلام
    من مسافرت بودم اولی از تصویر هیستوگرام میگیره و دومی هیستوگرام رو نمایش میده
    //returns one dimensioanl histogram from gray scale image
    void bhGet1DHistogram(CvArr* srcArr ,CvHistogram** hist, int size, IplImage* mask)
    {
    IplImage* srcImg,stub;
    srcImg = cvGetImage(srcArr,&stub);

    int sizes[] = {size};
    float ranges1[] = {0,size};
    float* ranges[] = {ranges1};
    *hist = cvCreateHist(1,sizes,CV_HIST_ARRAY,ranges,1);
    if (mask != 0)
    cvCalcHist(&srcImg,*hist,0,mask);
    else cvCalcHist(&srcImg,*hist,0);


    }

    // display one dimensional histogram
    void bhShow1DHistogram( CvHistogram* hist,IplImage** histImage,int height)
    {
    *histImage = cvCreateImage(cvSize(hist->mat.dim[0].size,height),8,1);
    cvZero(*histImage);
    float min_value, max_value;
    cvGetMinMaxHistValue(hist,&min_value,&max_value);
    float* pHist = hist->mat.data.fl;
    for (int j=0; j < hist->mat.dim[0].size; j++)
    {
    int value = pHist[j] / max_value * height;
    cvLine(*histImage,cvPoint(j,height),cvPoint(j,heig ht- value),cvScalarAll(255)) ;
    }

    }




    موفق باشید

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    نقل قول: هیستوگرام فیلم

    نقل قول نوشته شده توسط mostafa.sataki مشاهده تاپیک
    سلام
    من مسافرت بودم اولی از تصویر هیستوگرام میگیره و دومی هیستوگرام رو نمایش میده
    //returns one dimensioanl histogram from gray scale image
    void bhGet1DHistogram(CvArr* srcArr ,CvHistogram** hist, int size, IplImage* mask)
    {
    IplImage* srcImg,stub;
    srcImg = cvGetImage(srcArr,&stub);

    int sizes[] = {size};
    float ranges1[] = {0,size};
    float* ranges[] = {ranges1};
    *hist = cvCreateHist(1,sizes,CV_HIST_ARRAY,ranges,1);
    if (mask != 0)
    cvCalcHist(&srcImg,*hist,0,mask);
    else cvCalcHist(&srcImg,*hist,0);


    }

    // display one dimensional histogram
    void bhShow1DHistogram( CvHistogram* hist,IplImage** histImage,int height)
    {
    *histImage = cvCreateImage(cvSize(hist->mat.dim[0].size,height),8,1);
    cvZero(*histImage);
    float min_value, max_value;
    cvGetMinMaxHistValue(hist,&min_value,&max_value);
    float* pHist = hist->mat.data.fl;
    for (int j=0; j < hist->mat.dim[0].size; j++)
    {
    int value = pHist[j] / max_value * height;
    cvLine(*histImage,cvPoint(j,height),cvPoint(j,heig ht- value),cvScalarAll(255)) ;
    }

    }




    موفق باشید
    مرسی!
    یه مشکلی هست! هیستوگرام هر فریم با فریم بعدی چندان تفاوت ندار ه ومن میخوام این تفاوت رو زیاد کنم اما چه بلایی سر فریم هام بیارم که این طوربشه؟؟؟

  5. #5
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: هیستوگرام فیلم

    می تونید یه step قرار بدید و بجای اینکه فریم های متوالی را پردازش کنید به اندازه step به فریم های بعدی بروید به این ترتیب اختلاف هم بیشتر میشه

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    نقل قول: هیستوگرام فیلم

    نقل قول نوشته شده توسط mostafa.sataki مشاهده تاپیک
    می تونید یه step قرار بدید و بجای اینکه فریم های متوالی را پردازش کنید به اندازه step به فریم های بعدی بروید به این ترتیب اختلاف هم بیشتر میشه
    راستی نمیتونم چنین کاری بکنم! میخوام وقتی شی وارد محیط شد شناساییش کنم! برای این کار باید مشخصات اون شی رو طوری تغییربدم که هیستوگرام درموقع ورود اون شی تفاوت زیادی رو نشون بده! ولی چطوری؟ اگرstep بذارم از بعضی هیستوگرام ها صرف نظرمیکنه!
    آخرین ویرایش به وسیله zhashemi : چهارشنبه 29 شهریور 1391 در 10:01 صبح

  7. #7
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: هیستوگرام فیلم

    اولاً بایستی ببینیم اون object که میخاید رد گیرش کنید ابعادش چقدره؟ آیا می تونه تقاوتی روی histogram داشته باشه یا نه.
    اگر object شما از نظر Hue تو محدوده بقیه تصویر باشه هیستوگرام کمکی بهتون نمی کنه بایستی از Object مورد نظر feature استخراج کنید و سپس در هر فریم feature بدست آورده و feature های Object مورد نظر را داخلش جستجو کنید

    موفق باشید

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    نقل قول: هیستوگرام فیلم

    نقل قول نوشته شده توسط mostafa.sataki مشاهده تاپیک
    اولاً بایستی ببینیم اون object که میخاید رد گیرش کنید ابعادش چقدره؟ آیا می تونه تقاوتی روی histogram داشته باشه یا نه.
    اگر object شما از نظر Hue تو محدوده بقیه تصویر باشه هیستوگرام کمکی بهتون نمی کنه بایستی از Object مورد نظر feature استخراج کنید و سپس در هر فریم feature بدست آورده و feature های Object مورد نظر را داخلش جستجو کنید

    موفق باشید
    ممنون از راهنماییتون!
    ولی من بیشتربه کمکتون نیازدارم! اگر کدم رو بذارم میتونید راهنماییم کنید؟

تاپیک های مشابه

  1. پخش فایل فیلم بر روی Form
    نوشته شده توسط (سیدشریفی) در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: پنج شنبه 29 اردیبهشت 1390, 11:50 صبح
  2. سوال مهم در باره نمایش فیلم
    نوشته شده توسط در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 09 اردیبهشت 1382, 20:02 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •