You are on page 1of 2

#include "stdafx.h" #include "cv.h" #include "highgui.h" #include "stdio.

h" int main( int argc, char** argv ) { // Thiet lap anh goc IplImage* img = cvLoadImage("spring.jpg", CV_LOAD_IMAGE_UNCHANGED); if (!img) { fprintf( stderr, "::::Khong tim thay anh::::\n" ); getchar(); return -1; } // Khai bao bien anh out 8bit 3 mau IplImage* out = cvCreateImage( cvGetSize(img), 8, 3 ); // Hien anh goc cvNamedWindow( "Hinh anh ban dau", 1) ; cvShowImage( "Hinh anh ban dau", img ); // Khai bao anh 8bit 1 kenh mau IplImage* r_plane = cvCreateImage ( cvGetSize(img), 8, 1 ); IplImage* g_plane = cvCreateImage ( cvGetSize(img), 8, 1 ); IplImage* b_plane = cvCreateImage ( cvGetSize(img), 8, 1 ); // Tach kenh mau cvCvtPixToPlane ( img, r_plane, g_plane, b_plane, 0 ); // Hien cac kenh mau len cua so cvNamedWindow( "Red", 1) ; cvShowImage( "Red", r_plane ); cvNamedWindow( "Green", 1) ; cvShowImage( "Green", g_plane ); cvNamedWindow( "Blue", 1) ; cvShowImage( "Blue", b_plane ); // Khai bao anh 8bit 1 kenh mau IplImage* red = cvCreateImage ( cvGetSize(img), 8, 1 ); IplImage* green = cvCreateImage ( cvGetSize(img), 8, 1 ); IplImage* blue = cvCreateImage ( cvGetSize(img), 8, 1 ); // Lam sac net anh cvEqualizeHist( r_plane, red ); cvEqualizeHist( g_plane, green ); cvEqualizeHist( b_plane, blue ); // Don cac kenh mau cvCvtPlaneToPix ( red, green, blue, 0, out ); // Hien anh ket qua - Da lam sac net cvNamedWindow( "Hinh anh sau khi lam sac net", 1) ; cvShowImage( "Hinh anh sau khi lam sac net", out ); //Luu anh cvSaveImage("baitaplon.jpg",out); // Thoat chuong trinh cvWaitKey();

cvReleaseImage( &img); cvReleaseImage( &r_plane); cvReleaseImage( &g_plane); cvReleaseImage( &b_plane); cvReleaseImage( &out); cvDestroyAllWindows(); return 0; }

You might also like