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;
}
0 komentar:
Post a Comment