Sử dụng OpenCV trong Visual C++ 2008

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • Bim1004
    Thành viên mới
    • Jul 2012
    • 4

    #136
    Có bác nào biết cách sử dụng hàm cvCreateConDensation trong OpenCV 2.1 không, xin chỉ giáo, phải include thêm những thư viện nào để chạy được hàm trên?

    Comment

    • xjnnat
      Thành viên mới
      • Nov 2012
      • 10

      #137
      sử dụng sự kiện chuột

      mình đã vẽ đc khung chữ nhật trên picture box nhưng khi vẽ khung thứ 2 thì khung đầu lại mất. mọi ngừ xem dùm mình nhá
      mình đính kèm file ko dc nên mình send coi moi ngừ xeM
      hien thị ở text box các vị trí của chuột.
      -------------------------------------------------------------------------
      private: System::Void pictureBox1_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
      IplImage* img = cvLoadImage( "1.jpg" );
      isClick = false;
      HEIGHT = e->Y - Y;
      WIDTH = e->X - X;
      X1 = e->X;
      X2 = e->Y;
      textBox1->Text = "X: " + X + " - Y: " + Y + " - WIDTH: " + WIDTH + " - HEIGHT: " + HEIGHT + " -X1: " + X1 + " -X2: " + X2;
      cvRectangle(img , cvPoint(X,Y), cvPoint(X1,X2),cvScalar(0xff,0x00,0x00) );
      pictureBox1->Image = gcnew System:rawing::Bitmap(img->width,img->height, img->widthStep,
      System:rawing::Imaging::PixelFormat::Format24bppRgb,
      (System::IntPtr) img->imageData);
      pictureBox1->Refresh();
      }
      private: System::Void pictureBox1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {

      X = e->X;
      Y = e->Y;
      isClick = true;
      textBox1->Text = "X: " + X + " - Y: " + Y + " - WIDTH: " + WIDTH + " - HEIGHT: " + HEIGHT;

      }
      private: System::Void pictureBox1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
      {
      if (isClick)
      {
      textBox1->Text = "X: " + X + " - Y: " + Y + " - WIDTH: " + WIDTH + " - HEIGHT: " + HEIGHT + " -X1: " + X1 + " -X2: " + X2;
      }
      }

      Comment

      • nthung2002
        Thành viên chính thức
        • Oct 2010
        • 38

        #138
        Chào bạn tuananh12ct,

        Để chuyển từ ảnh màu sang ảnh xám bạn có thể sử dụng lệnh sau:

        IplImage* color_image;
        ....
        IplImage* gray_image =cvCreateImage(cvGetSize(color_image), IPL_DEPTH_8U, 1);
        cvCvtColor(color_image, gray_image, CV_BGR2GRAY);

        hoặc theo cấu trúc mới:
        Mat color_image, gray_image;
        ....
        cvtColor(color_image, gray_image, CV_BGR2GRAY);

        Nguyên văn bởi tuananh12ct Xem bài viết
        Em mới dùng opencv2.2.0 trong vs2010, sau khi load ảnh xong thì làm sao chuyển ảnh đó sang ảnh xám vậy???
        C++ làm thế nào khi có công thức trên lớp thế này nữa Gray= 0.299 * R+ 0.587 * G+ 0.114 * B, mong các anh giúp

        Comment

        • nthung2002
          Thành viên chính thức
          • Oct 2010
          • 38

          #139
          Chào bạn gbtrung,

          Nếu bạn đang làm về phân đoạn ảnh (segmentation) thì có thể tham khảo các ví dụ trong thư mục cài đặt opencv: \samples\c\grabcut.cpp, watershed.cpp, pyramid_segmentation.c hoặc đơn giản nhất là lệnh threshold tại đây: Basic Thresholding Operations — OpenCV v2.4.3 documentation

          Nguyên văn bởi gbtrung Xem bài viết
          mình đang làm đề tài phân đoạn ảnh trong open CV nhưng vẫn chưa có hướng làm Pro nào đã từng làm có thể giúp mình đc không ah, hoặc có demo về cái này cho mình xin. cám ơn

          Comment

          • gbtrung
            Thành viên mới
            • Sep 2012
            • 2

            #140
            mình vẫn chưa rành về opencv bạn có thể nói rõ hơn đc không, đồ án của mình là load 1 ảnh lên sau đó phân đoạn ảnh và lưu ảnh đó xuống. cám ơn
            Nguyên văn bởi nthung2002 Xem bài viết
            Chào bạn gbtrung,

            Nếu bạn đang làm về phân đoạn ảnh (segmentation) thì có thể tham khảo các ví dụ trong thư mục cài đặt opencv: \samples\c\grabcut.cpp, watershed.cpp, pyramid_segmentation.c hoặc đơn giản nhất là lệnh threshold tại đây: Basic Thresholding Operations — OpenCV v2.4.3 documentation

            Comment

            • xjnnat
              Thành viên mới
              • Nov 2012
              • 10

              #141
              khi khai báo
              int n[] = { X, Y, X1, X2};
              e viết hàm thì bi lỗi error C2109: subscript requires array or pointer type. chỉ vào lỗi thì báo chỗ này. mọi ngừ xem giúp mình xíu dc ko?
              cvRectangle(img , cvPoint(n[0],n[1]), cvPoint(n[2],n[3]),cvScalar(0xff,0x00,0x00) );

              Comment

              • xjnnat
                Thành viên mới
                • Nov 2012
                • 10

                #142
                mình đang làm đồ án mà lại gà côg nghệ.mò hoài chả ra nên lên nhờ các bác giúp nhá.gần tới bảo vệ rồi mà chưa xong.hỏi có nhìu xíu mong mọi ngừ thôbg cảm nhá. hậu tạ sau nha.

                mình đoc từ file.txt hiện lên dât grid view. mà chưa mở dc từ file lựa chon mà vẫn file cố đinh "6.txt". ai bít chỉ dùm mình xíu nha.
                với: mình có 1 tấm ảnh và 1 file txt chứa các dữ liệu của bức ảnh. làm sao tạo dc liên kết giữa 2 cái. khi lựa chọn mở ảnh thì file txxt dc load lên dat grid view.
                mọi ngừ chỉ có thể cho e code lun nhá.thạnks trước nhìu nhìu lun.đang cần gáp nhá mọi ngừ
                dgv->Rows->Clear();
                if (fdlg->ShowDialog() == System::Windows::Forms:ialogResult::OK)
                {
                StreamReader^ file = gcnew StreamReader("6.txt");
                while (!file->EndOfStream)
                {
                array<String ^> ^ str = (file->ReadLine()->Split(','));
                dgv->Rows->Add(str);
                }
                }

                Comment

                • xjnnat
                  Thành viên mới
                  • Nov 2012
                  • 10

                  #143
                  help me các vbác ơi
                  làm sao xóa 1 dòng trong dat grid view vậy........................

                  Comment

                  • xjnnat
                    Thành viên mới
                    • Nov 2012
                    • 10

                    #144
                    hix. bác nthung2002 , add đâu rồi.giúp giùm e xíu nào.
                    e đã tìm làm đc phần đọc file dc chỉ dẫn từ opendialog. ai muốn hỏi j về phần đó thì pm mình.

                    nhưng h lại tới phần: làm sao tìm kiếm 1 file.txt .
                    (btap e đang làm là: khi mở ảnh lên thì file.txt dữ liệu được load lên ở dat grid )

                    Comment

                    • nthung2002
                      Thành viên chính thức
                      • Oct 2010
                      • 38

                      #145
                      Chào bạn xjnnat,

                      Nếu bạn muốn đọc file text sử dụng opendialog thì bạn có thể làm như sau:

                      OpenFileDialog^ dlg = gcnew OpenFileDialog;
                      dlg->Filter = "SelectFile(*.txt)|*.txt";
                      if (dlg->ShowDialog() == System::Windows::Forms:ialogResult::Cancel) return;
                      System::String^ strFilename = dlg->FileName;

                      //hàm bên dưới là mình tự viết để đọc file text sử dụng StreamReader
                      readData classReadData;
                      classReadData.ReadTextFile(strFilename, data);


                      Nguyên văn bởi xjnnat Xem bài viết
                      hix. bác nthung2002 , add đâu rồi.giúp giùm e xíu nào.
                      e đã tìm làm đc phần đọc file dc chỉ dẫn từ opendialog. ai muốn hỏi j về phần đó thì pm mình.

                      nhưng h lại tới phần: làm sao tìm kiếm 1 file.txt .
                      (btap e đang làm là: khi mở ảnh lên thì file.txt dữ liệu được load lên ở dat grid )

                      Comment

                      • hitechvn
                        Thành viên chính thức
                        • Mar 2012
                        • 42

                        #146
                        Các anh cho em hỏi phân mềm VC++ dùng thư viện gì để nhận ảnh từ camera analog (không dùng webcam) kết nối với card video gắn vào khe PCI của máy tính.
                        Cảm ơn nhiều!
                        Sống là để chiến đấu

                        Comment

                        • xjnnat
                          Thành viên mới
                          • Nov 2012
                          • 10

                          #147
                          thanks bác thung. e làm dc rồi!
                          bác bít làm thế nào để xóa 1 dòng trong dat grid view kko? e chỉ xóa tất cả thì dc chứ 1 dòng thì pó tay! tìm trên mạng nhìu. toàn bên c# ko hà. áp dụng vào cũng chả dc nữa.hix

                          Comment

                          • xjnnat
                            Thành viên mới
                            • Nov 2012
                            • 10

                            #148
                            mấy bác đâu hết rồi

                            Comment

                            • huuhoanggia
                              Thành viên mới
                              • Jan 2013
                              • 2

                              #149
                              học hỏi, học hỏi

                              Comment

                              • hero_hi
                                Thành viên mới
                                • Apr 2012
                                • 3

                                #150
                                a nthung2002 oi co the jup do e cach chuo anh bang webcam tren widows form dc k vay a. Cuu e voi

                                Comment

                                Về tác giả

                                Collapse

                                nthung2002 Tìm hiểu thêm về nthung2002

                                Bài viết mới nhất

                                Collapse

                                Đang tải...