Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. .pro setting for debugging a simole opencv program with Qt creator
Forum Updated to NodeBB v4.3 + New Features

.pro setting for debugging a simole opencv program with Qt creator

Scheduled Pinned Locked Moved Persian
18 Posts 4 Posters 7.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    soroush
    wrote on last edited by
    #5

    p{direction:rtl;text-align:right}. با کامپایلر GCC داری سعی می‌کنی به OpenCV که با VC کامپایل شده لینک کنی و یا برعکس
    فایل pro درست به‌نظر نمی‌رسه. تفاوت جداکنندهٔ مسیر و خط چیه؟ کامپایلر رو چک کن اگه درست نشد احتمالاً OpenCV درست کامپایل نشده.

    @
    ...
    INCLUDEPATH += "C:\OpenCV2.2\include"
    LIBS += -L"C:\OpenCV2.2\lib"
    -lopencv_core220
    ...
    @

    بهتر از اون

    @
    ...
    INCLUDEPATH += C:/OpenCV2.2/include
    LIBS += -LC:/OpenCV2.2/lib
    -lopencv_core220
    ...
    @

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mohsen
      wrote on last edited by
      #6

      p{direction:rtl; text-align: right}. به نظرم مسیر دهی LIBS اشتباهه.
      پارامتر -L مسیر رو مشخص میکنه و بعد از اون با -l باید نام lib داده بشه و برای لایبرری های دیگه هم باید همینطور تکرار بشه.

      @
      LIBS += -LC:\OpenCV2.2\lib -lopencv_core220
      -LC:\OpenCV2.2\lib -lopencv_highgui220
      -LC:\OpenCV2.2\lib -lopencv_imgproc220
      -LC:\OpenCV2.2\lib -lopencv_features2d220
      -LC:\OpenCV2.2\lib -lopencv_calib3d220
      @

      [quote author="soroush" date="1355162602"] تفاوت جداکنندهٔ مسیر و خط چیه؟[/quote]

      p{direction:rtl; text-align:right}. چون qmake فاصله در path رو ساپورت نمیکنه بنابراین \ به عنوان جدا کننده درنظر گرفته میشه. مسیر ها هم برای windows مشکلی نداره ولی با / بهتره.

      1 Reply Last reply
      0
      • S Offline
        S Offline
        sara_2005
        wrote on last edited by
        #7

        p{direction:rtl; text-align:right}. سلام من تنظمیات زیر رو به کار بردم الان خطاها برطرف شد و فقط یک خطا به خاطر 64 بیتی یا 32 بیتی بودن داره

        @
        QT += core

        QT -= gui

        TARGET = aa
        CONFIG += console
        CONFIG -= app_bundle

        TEMPLATE = app

        SOURCES += main.cpp

        INCLUDEPATH += C:/OpenCV2.2/include\

        LIBS += -LC:/OpenCV2.2/lib -lopencv_core220 \

        -LC:/OpenCV2.2/lib -lopencv_highgui220 \
        
        -LC:/OpenCV2.2/lib -lopencv_imgproc220 \
        
        -LC:/OpenCV2.2/lib -lopencv_features2d220 \
        
        -LC:/OpenCV2.2/lib -lopencv_calib3d220
        

        @

        خطایی که مشاهده می شه :
        opencv_highgui220.lib(opencv_highgui220.dll):-1: error: LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mohsen
          wrote on last edited by
          #8

          p{direction:rtl; text-align:right}. خوب این که دیگه مشخصه. OpenCV برای x86 کامپایل شده و شما میخواهید با کیوت x64 لینکش کنید.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            sara_2005
            wrote on last edited by
            #9

            p{direction:rtl; text-align:right}. من لپ تاپ 64 بیتی دارم و وقتی که opencv و qtcreator رو نصب می کنم انتخابی ندارن که کامپیوتر چند بیتی هست ؟ الان چکار می تونم بکنم ؟
            دوباره هم که اینا رو نصب کنم باز همین مشکل هست.

            1 Reply Last reply
            0
            • S Offline
              S Offline
              sara_2005
              wrote on last edited by
              #10

              p{direction:rtl; text-align:right}. البته من برای opencv از روشی استفاده کردم که برای 64 بیتی ها کار می کنه
              و از فایل زیر استفاده کردم
              OpenCV-2.2.0-win32-vs2010_3.exe

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mohsen
                wrote on last edited by
                #11

                p{direction:rtl; text-align:right}. شما نمیتونید لایبرری هایی که با کامپایلر 32 بیت کامپایل شده باشن رو توسط کامپایلر 64 بیتی لینک کنید. همچنین همونطور که سروش قبلا توضیح داده نمیتونید لایبرری هایی که با کامپایلر دیگری کامپایل شده باشن رو لینک کنید. لایبرری های OpenCV شما حتما باید با همان bitness و کامپایلری که برای کیوت استفاده شده کامپایل شده باشه. در غیر اینصورت قادر به استفاده از اونها نخواهید بود.
                این فایلی هم که نوشتید از اسمش مشخصه که برای 32 بیت هست.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  sara_2005
                  wrote on last edited by
                  #12

                  p{direction:rtl; text-align:right}. ببخشید یه سوال شما تا حالا در محیط ویندوز opencv رو با qt creator اجرا کردید ؟ می تونم خواهش کنم که Pdf نصبش رو برای منم بفرستید ؟

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mohsen
                    wrote on last edited by
                    #13

                    p{direction:rtl; text-align:right}. !

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      sara_2005
                      wrote on last edited by
                      #14

                      p{direction:rtl; text-align:right}. هدف من از کار با opencv بدست آوردن Homography و استفاده از توابع SIFT و SURF هست.
                      البته من opencv2.4.3 رو هم در محیط linux ubunto نصب کردم ولی هنوز موفق نشدم که هموگرافی رو بدست بیارم.
                      از کسی که پرسیدم گفت این کار با ویندوز و استفاده از qt creator راحت تره .
                      برای همین من اومدم تو ویندوز opencv2.4.3 نصب کنم
                      اما نشد و در فایل هایی که روی سایت opencv بود خطا وجود داشت چون قدیمی بودن و آپدیت نشده بودن .
                      برای همین به ناچار از opencv2.2 که قبلا نصب کرده بودم استفاده می کنم.
                      اگه نظری دارید لطفا توضیح بدین.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mohsen
                        wrote on last edited by
                        #15

                        p{direction:rtl;text-align:right}. من خیلی دوست دارم که برای راه اندازی کیوت و OpenCV کمکتون کنم اما فرصت توضیح اونها رو ندارم. اگرچه توضیحاتی که تو این تاپیک داده شد برای راه افتادن کارتون کافیه ولی اگر اینها رو هم نتونید درک کنید باید در اینترنت کمی در مورد لینک کردن در ++c و استفاده از لایببری های static و dynamic مطالعه کنید چون اینها اصلا مربوط به کیوت نمیشه بلکه مربوط به کامپایلر ها و ++c هست.

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          sara_2005
                          wrote on last edited by
                          #16

                          ممنون

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            soroush
                            wrote on last edited by
                            #17

                            [quote author="sara_2005" date="1355224754"]p{direction:rtl; text-align:right}. هدف من از کار با opencv بدست آوردن Homography و استفاده از توابع SIFT و SURF هست.
                            البته من opencv2.4.3 رو هم در محیط linux ubunto نصب کردم ولی هنوز موفق نشدم که هموگرافی رو بدست بیارم.
                            از کسی که پرسیدم گفت این کار با ویندوز و استفاده از qt creator راحت تره .
                            برای همین من اومدم تو ویندوز opencv2.4.3 نصب کنم
                            اما نشد و در فایل هایی که روی سایت opencv بود خطا وجود داشت چون قدیمی بودن و آپدیت نشده بودن .
                            برای همین به ناچار از opencv2.2 که قبلا نصب کرده بودم استفاده می کنم.
                            اگه نظری دارید لطفا توضیح بدین.[/quote]

                            p{direction:rtl; text-align:right}. من از OpenCV با کیوت توی لینوکس به‌راحتی استفاده می‌کنم. مشکلی نباید داشته باشی. کیوت برای ویندوز نسخهٔ ۶۴بیتی منتشر نمی‌کنه اما توی لینوکس می‌تونی ۶۴ بیتی رو داشته باشی (هم کیوت و هم OpenCV) چون تمام پکیج‌های سیستم توی لینوکس از یک سیستم یک‌پارچه هستن مشکلاتی از این دست پیش نمیاد. من شخصاً تا حد امکان از برنامه‌نویسی تحت ویندوز مخصوصاً با ابزار متن‌باز (مثل کیوت و اوپن‌سی‌وی) دوری می‌کنم. چه لزومی داره خودتو با این همه پیچیدگی و دردسر درگیر کنی؟

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              sara_2005
                              wrote on last edited by
                              #18

                              p{direction:rtl; text-align:right}. من الان چند روز هست که به این نتیجه رسیدم و opencv2.4.3 رو تو لینوکس نصب کردم .
                              الان به دنبال نصب qt و lib هاش در محیط linux و هستم. موقعی که از نرم افزارهای خود لینوکس می خواهم که این چند تا رو نصب کنه اینترنت دچار مشکل می شه . من تو لینوکس هم نتونستم نتیجه اجرای هموگرافی رو ببینم با اینکه از سمبل های خودش هست

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved