parent
ae55138a49
commit
2819438fe6
11 changed files with 80 additions and 80 deletions
@ -1,28 +0,0 @@ |
|||||||
/**
|
|
||||||
* @file DisplayImage.cpp |
|
||||||
* @brief Sample code that show how to read and display an image in a OpenCV window |
|
||||||
* @author OpenCV team |
|
||||||
*/ |
|
||||||
#include <cv.h> |
|
||||||
#include <highgui.h> |
|
||||||
|
|
||||||
using namespace cv; |
|
||||||
|
|
||||||
int main( int argc, char** argv ) |
|
||||||
{ |
|
||||||
Mat image; |
|
||||||
image = imread( argv[1], 1 ); |
|
||||||
|
|
||||||
if( argc != 2 || !image.data ) |
|
||||||
{
|
|
||||||
printf( "No image data \n" ); |
|
||||||
return -1;
|
|
||||||
} |
|
||||||
|
|
||||||
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE ); |
|
||||||
imshow( "Display Image", image ); |
|
||||||
|
|
||||||
waitKey(0); |
|
||||||
|
|
||||||
return 0; |
|
||||||
} |
|
@ -1,52 +0,0 @@ |
|||||||
/**
|
|
||||||
* @file LoadSaveImage.cpp |
|
||||||
* @brief Sample code that load an image, modify it and save the new image.
|
|
||||||
* @author OpenCV team |
|
||||||
*/ |
|
||||||
|
|
||||||
#include <cv.h> |
|
||||||
#include <highgui.h> |
|
||||||
|
|
||||||
using namespace cv; |
|
||||||
|
|
||||||
/**
|
|
||||||
* @function main |
|
||||||
* @brief Self-explanatory |
|
||||||
*/ |
|
||||||
int main( int argc, char** argv ) |
|
||||||
{ |
|
||||||
/// Get the name of the file to be loaded
|
|
||||||
char* imageName = argv[1]; |
|
||||||
|
|
||||||
/// Create a Mat object
|
|
||||||
Mat image; |
|
||||||
|
|
||||||
/// Load the image using imread
|
|
||||||
image = imread( imageName, 1 ); |
|
||||||
|
|
||||||
/// Verify that the image was loaded
|
|
||||||
if( argc != 2 || !image.data ) |
|
||||||
{ |
|
||||||
printf( " No image data \n " ); |
|
||||||
return -1; |
|
||||||
} |
|
||||||
|
|
||||||
/// Change the image to Grayscale
|
|
||||||
Mat gray_image; |
|
||||||
cvtColor( image, gray_image, CV_RGB2GRAY ); |
|
||||||
|
|
||||||
/// Save our gray image
|
|
||||||
imwrite( "../images/Gray_Image.png", gray_image ); |
|
||||||
|
|
||||||
/// Create a couple of windows and show our images
|
|
||||||
namedWindow( imageName, CV_WINDOW_AUTOSIZE ); |
|
||||||
namedWindow( "Gray image", CV_WINDOW_AUTOSIZE ); |
|
||||||
|
|
||||||
imshow( imageName, image ); |
|
||||||
imshow( "Gray image", gray_image );
|
|
||||||
|
|
||||||
/// Wait until user finish the application
|
|
||||||
waitKey(0); |
|
||||||
|
|
||||||
return 0; |
|
||||||
} |
|
@ -0,0 +1,80 @@ |
|||||||
|
/**
|
||||||
|
* @file Morphology_2.cpp |
||||||
|
* @brief Advanced morphology Transformations sample code |
||||||
|
* @author OpenCV team |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "opencv2/imgproc/imgproc.hpp" |
||||||
|
#include "opencv2/highgui/highgui.hpp" |
||||||
|
#include <stdlib.h> |
||||||
|
#include <stdio.h> |
||||||
|
|
||||||
|
using namespace cv; |
||||||
|
|
||||||
|
/// Global variables
|
||||||
|
Mat src, dst; |
||||||
|
|
||||||
|
int morph_elem = 0; |
||||||
|
int morph_size = 0; |
||||||
|
int morph_operator = 0; |
||||||
|
int const max_operator = 4; |
||||||
|
int const max_elem = 2; |
||||||
|
int const max_kernel_size = 21; |
||||||
|
|
||||||
|
char* window_name = "Morphology Transformations Demo"; |
||||||
|
|
||||||
|
|
||||||
|
/** Function Headers */ |
||||||
|
void Morphology_Operations( int, void* ); |
||||||
|
|
||||||
|
/**
|
||||||
|
* @function main |
||||||
|
*/ |
||||||
|
int main( int argc, char** argv ) |
||||||
|
{ |
||||||
|
/// Load an image
|
||||||
|
src = imread( argv[1] ); |
||||||
|
|
||||||
|
if( !src.data ) |
||||||
|
{ return -1; } |
||||||
|
|
||||||
|
/// Create window
|
||||||
|
namedWindow( window_name, CV_WINDOW_AUTOSIZE ); |
||||||
|
|
||||||
|
/// Create Trackbar to select Morphology operation
|
||||||
|
createTrackbar("Operator:\n 0: Opening - 1: Closing \n 2: Gradient - 3: Top Hat \n 4: Black Hat", window_name, &morph_operator, max_operator, Morphology_Operations ); |
||||||
|
|
||||||
|
/// Create Trackbar to select kernel type
|
||||||
|
createTrackbar( "Element:\n 0: Rect - 1: Cross - 2: Ellipse", window_name,
|
||||||
|
&morph_elem, max_elem,
|
||||||
|
Morphology_Operations ); |
||||||
|
|
||||||
|
/// Create Trackbar to choose kernel size
|
||||||
|
createTrackbar( "Kernel size:\n 2n +1", window_name,
|
||||||
|
&morph_size, max_kernel_size, |
||||||
|
Morphology_Operations ); |
||||||
|
|
||||||
|
/// Default start
|
||||||
|
Morphology_Operations( 0, 0 ); |
||||||
|
|
||||||
|
waitKey(0); |
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
/**
|
||||||
|
* @function Morphology_Operations |
||||||
|
*/ |
||||||
|
void Morphology_Operations( int, void* ) |
||||||
|
{ |
||||||
|
|
||||||
|
// Since MORPH_X : 2,3,4,5 and 6
|
||||||
|
int operation = morph_operator + 2; |
||||||
|
|
||||||
|
Mat element = getStructuringElement( morph_elem, Size( 2*morph_size + 1, 2*morph_size+1 ), Point( morph_size, morph_size ) );
|
||||||
|
|
||||||
|
/// Apply the specified morphology operation
|
||||||
|
morphologyEx( src, dst, operation, element ); |
||||||
|
imshow( window_name, dst );
|
||||||
|
} |
||||||
|
|
||||||
|
|
Loading…
Reference in new issue