Thông báo

Collapse
No announcement yet.

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

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • 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


    • 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


      • 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


        • 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


          • 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


            • 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


              • 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


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

                  Comment


                  • 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


                    • 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


                      • 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


                        • 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


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

                            Comment


                            • học hỏi, học hỏi

                              Comment


                              • 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...
                                X