mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-24 20:01:12 +08:00
Merge pull request #1417 from Yujun-Shi:segmentation_hfs
Segmentation hfs (#1417) * add hfs module * fix some warning * fix a CMakeLists.txt bug * fix some warnings * try to fix some warning * fix static check warning * final fix
This commit is contained in:
committed by
Alexander Alekhin
parent
7e6ae5ce84
commit
7d4a4526ea
45
modules/hfs/samples/example.cpp
Normal file
45
modules/hfs/samples/example.cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "opencv2/core.hpp"
|
||||
#include "opencv2/imgcodecs.hpp"
|
||||
#include "opencv2/hfs.hpp"
|
||||
|
||||
using namespace cv;
|
||||
using namespace cv::hfs;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// invalid number of command line parameter
|
||||
if( argc != 2 ) {
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
char* path = argv[1];
|
||||
// read in a pictrue to initialize the height and width
|
||||
Mat src = imread(path), res;
|
||||
int _h = src.rows, _w = src.cols;
|
||||
|
||||
// initialize the HfsSegment object
|
||||
// In this example, we used default paramters.
|
||||
// However, bear in mind that you can pass in your
|
||||
// own parameters in with this function.
|
||||
Ptr<HfsSegment> h = HfsSegment::create( _h, _w );
|
||||
|
||||
// segment and write the first result.
|
||||
res = h->performSegmentGpu(src);
|
||||
imwrite( "segment_default_gpu.jpg", res );
|
||||
// also, there is CPU interface for that
|
||||
res = h->performSegmentCpu(src);
|
||||
imwrite( "segment_default_cpu.jpg", res );
|
||||
|
||||
// also, instead of getting a segmented image
|
||||
// from our interface, you can also choose to not to
|
||||
// draw the result on the Mat and only get a matrix
|
||||
// of index. Note that the data type of the returned
|
||||
// Mat in this case is CV_16U
|
||||
Mat idx_mat = h->performSegmentGpu( src, false );
|
||||
|
||||
// also, you can change any parameters as you want
|
||||
h->setSlicSpixelSize(10);
|
||||
res = h->performSegmentGpu(src);
|
||||
imwrite( "segment_changed_param.jpg", res );
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user