Praktikum 3 Clr Cnversin 1. Grayscale Prgram berikut ini mengubah dari clr image menjadi grayscale image. // Declare a new IplImage pinter IplImage* gray; // Lad an image src = cvladimage("image.jpg",1); // Create a new windw & display the image cvnamedwindw("surce", 1); cvmvewindw("surce", 100, 100); cvnamedwindw("grayscale", 1); cvmvewindw("grayscale", 100, 100); // Fuctin f prcessing image gray = cvcreateimage( cvsize(src->width, src->height), IPL_DEPTH_8U, 1 ); cvcvtclr( src, gray, CV_BGR2GRAY ); cvshwimage("surce", src); cvshwimage("grayscale", gray); cvdestrywindw( "Surce" ); cvdestrywindw( "Grayscale" ); cvreleaseimage( &gray ); Jelaskan fungsi berikut ini beserta dengan parameter yang ada di dalamnya. cvcreateimage() cvcvtclr() Jika yang diinginkan hanya menampilkan gambar grayscale saja, cba persingkat prgram tanpa menggunakan fungsi cvcreateimage() dan cvcvtclr().
2. Grayscale Threshld Prgram berikut ini mengubah dari clr image menjadi grayscale kemudian ke grayscale threshld (binary image). // Declare a new IplImage pinter IplImage* gray; IplImage* graythresh; int threshld = 128, maxvalue = 255; int threshldtype = CV_THRESH_BINARY; // Lad an image src = cvladimage("image.jpg",1); gray = cvcreateimage( cvsize(src->width, src->height), IPL_DEPTH_8U, 1 ); cvcvtclr( src, gray, CV_BGR2GRAY ); graythresh = cvclneimage( gray ); // Create a new windw & display the image cvnamedwindw( "src", 1 ); cvshwimage( "src", src ); cvnamedwindw( "gray", 1 ); cvshwimage( "gray", gray ); // Fuctin f prcessing image cvthreshld(gray, graythresh, threshld, maxvalue, threshldtype); cvnamedwindw( "graythresh", 1 ); cvshwimage( "graythresh", graythresh ); cvdestrywindw( "src" ); cvdestrywindw( "gray" ); cvdestrywindw( "graythresh" ); cvreleaseimage( &gray ); cvreleaseimage( &graythresh ); Ubah nilai variable threshld pada prgram di atas dalam range antara 0-255 kemudian amati perubahan pada gambar. Jelaskan knsep dasar grayscale threshld. Jelaskan fungsi berikut ini beserta dengan parameter yang ada di dalamnya. cvclneimage() cvthreshld()
3. Clr Threshld Prgram berikut ini mengubah dari clr image menjadi clr threshld. // Declare a new IplImage pinter IplImage* clrthresh; int threshld = 150, maxvalue = 255; int threshldtype = CV_THRESH_BINARY; // Lad an image src = cvladimage("image.jpg",1); clrthresh = cvclneimage( src ); // Create a new windw & display the image cvnamedwindw( "src", 1 ); cvshwimage( "src", src ); // Fuctin f prcessing image cvthreshld(src, clrthresh, threshld, maxvalue, threshldtype); cvnamedwindw( "clrthresh", 1 ); cvshwimage( "clrthresh", clrthresh ); cvdestrywindw( "src" ); cvdestrywindw( "clrthresh" ); cvreleaseimage( &clrthresh ); Ubah nilai variable threshld pada prgram di atas dalam range antara 0-255 kemudian amati perubahan pada gambar. Jelaskan knsep dasar clr threshld dan sebutkan perbadaannya dengan grayscale threshld.
4. Threshld by using sum_rgb() Prgram berikut ini mengubah dari clr image menjadi grayscale threshld (binary image). vid sum_rgb( IplImage* src, IplImage* dst ) // Allcate image planes IplImage* r = cvcreateimage( cvgetsize(src), IPL_DEPTH_8U, 1 ); IplImage* g = cvcreateimage( cvgetsize(src), IPL_DEPTH_8U, 1 ); IplImage* b = cvcreateimage( cvgetsize(src), IPL_DEPTH_8U, 1 ); // Split image nt the clr planes cvsplit( src, r, g, b, NULL ); IplImage* s = cvcreateimage( cvgetsize(src), IPL_DEPTH_8U, 1 ); // Add equally weighted rgb values cvaddweighted( r, 1./3., g, 1./3., 0.0, s ); cvaddweighted( s, 2./3., b, 1./3., 0.0, s ); // Truncate values ver 100 cvthreshld( s, dst, 100, 100, CV_THRESH_BINARY ); cvreleaseimage( &r ); cvreleaseimage( &g ); cvreleaseimage( &b ); cvreleaseimage( &s ); int main( int argc, char** argv ) cnst char* name = "Threshlding"; cvnamedwindw( name, 1 ); IplImage* src = cvladimage("image.jpg"); IplImage* dst = cvcreateimage( cvgetsize(src), src->depth, 1 ); sum_rgb( src, dst); cvshwimage(name, dst); while( 1 ) if( (cvwaitkey(10)&0x7f) == 27 ) break; cvdestrywindw( name ); cvreleaseimage( &dst ); Jelaskan algritma threshld pada cnth diatas dan sebutkan perbadaannya dengan prgram grayscale threshld sebelumnya.
5. Prgram: Adaptive Threshld Prgram berikut ini mengubah dari clr image menjadi grayscale kemudian merubahnya menjadi threshld image dengan menggunakan metde adaptive threshld (tanpa memasukkan nilai threshld). #include "cv.h" #include "highgui.h" // Declare a new IplImage pinter IplImage* gray; IplImage* adapthresh; int threshld = 128, maxvalue = 255; int threshldtype = CV_THRESH_BINARY; // Lad an image src = cvladimage("image.jpg",1); gray = cvcreateimage( cvsize(src->width, src->height), IPL_DEPTH_8U, 1 ); cvcvtclr( src, gray, CV_BGR2GRAY ); adapthresh = cvclneimage( gray ); // Create a new windw & display the image cvnamedwindw( "src", 1 ); cvshwimage( "src", src ); cvnamedwindw( "gray", 1 ); cvshwimage( "gray", gray ); // Fuctin f prcessing image cvadaptivethreshld( gray, adapthresh, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 3, 5 ); cvnamedwindw( "adapthresh", 1 ); cvshwimage( "adapthresh", adapthresh ); cvdestrywindw( "src" ); cvdestrywindw( "gray" ); cvdestrywindw( "graythresh" ); cvreleaseimage( &gray ); cvreleaseimage( &adapthresh ); Ubah nilai parameter pada cvadaptivethreshld pada prgram di atas dalam kemudian amati perubahan pada gambar. Jelaskan knsep dasar adaptive threshld dan sebutkan perbadaannya dengan threshld sebelumnya. Jelaskan fungsi berikut ini beserta dengan parameter yang ada di dalamnya. cvadaptivethreshld()
Tugas: Cnverts image frm ne clr space t anther Buatlah prgram dengan fungsi cvcvtclr() untuk menknversi gambar dari RGB ke YCrCb RGB ke HSV RGB ke HLS RGB ke CIE L*a*b* RGB ke CIE L*u*v*