Tulis aja dulu, siapa tahu orang lain butuh :-)

PROSES INVERT CITRA MENGGUNAKAN OPENCV (CARA KE-2)

Citra awal

Citra hasil invert

Tidak berbeda dengan materi sebelumnya, yakni mengenani invert citra pada citra berwarna. Namun, kali ini kita akan menggunakan proses invert
citra dengan cara lain. Bedanya dengan yang pertama pada postingan sebelumnya, terletak pada kecepatan code dalam mengolah citra berwarna untuk dijadikan citra negative pasca proses invert. Berikut adalah source codenya:

void InvertColour2( Mat& image, Mat& result_image )
{
    result_image.create(image.size(), image.type());
    int image_rows = image.rows;
    int image_columns = image.cols;
    for (int row=0; row < image_rows; row++)
    {
          uchar* value = image.ptr<uchar>(row);
          uchar* result_value = result_image.ptr<uchar>(row);
          for (int column=0; column < image_columns; column++)
          {
            *result_value++ = *value++ ^ 0xFF;
            *result_value++ = *value++ ^ 0xFF;
            *result_value++ = *value++ ^ 0xFF;
          }
    }
}


int main(int argc, char **argv)
{
    Mat image = imread("img/test.png", CV_LOAD_IMAGE_COLOR);
    namedWindow("display window");
    imshow("display window1", image);
    Mat out;
    InvertColour2(image, out);
    imshow("display window", out);
    waitKey(0);// wait for a keystroke in the window
        return 0;
}
Share:

0 komentar:

Post a Comment

ARCHIEV

VISITORS

free counters

FRIENDS

Blog Archive