Read Data

Untuk pemula, hal dasar yang dipelajari adalah bagaimana cara membaca data image tiap pixel, karena akan berhubungan dengan image processing selanjutnya. Caranya sangat gampang sekali dibandingkan dengan opencv2.2 sebelumnya, dsini saya akan membuat dengan menggunakan EVENT_MOUSE_HANDLER yaitu bila mouse saya gerakan ke image maka dengan automatis data dan kordinat akan muncul di console.

Pada tahap ini saya akan membaca data image 1-channel dulu :

===================================================================================================
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

void mouseHandler(int event, int x, int y, int flags, void* param)
  {
    switch(event){
      case CV_EVENT_MOUSEMOVE:
      Mat image;
      image = imread("sign.jpg",0);
      int dataimg = image.at<uchar>(y,x);
      printf("%d, %d\n",x,y);
      printf("data = %d\n", dataimg);
      break;
    }
  }

int main(){
    Mat image;
    image = imread("sign.jpg",0);
    int rowimg = image.rows;
    int colsimg = image.cols;
    cout<< "Baca Data Pixel " << endl;
    printf("%d x %d pixels\n\n\n", rowimg, colsimg);

 while(1){
    int mouseParam = 5;
    setMouseCallback("Sign",mouseHandler,&mouseParam);
    imshow( "Sign", image );
    waitKey(30);
 }
    return 0;
}
 

===================================================================================================

Leave a comment