![]() |
How to preform a convex Hull operation in C++
Hello, I am working on vision tracking right now and was wondering how to implement the Convex Hull operation seen in the white papers(ni vision assistant) into C++. If there is a function or combination of functions to do this I would appreciate it.
|
Re: How to preform a convex Hull operation in C++
One function you could use would be
int imaqConvexHull(Image* dest, Image* source, int connectivity8); It is documented in C:\Program Files\National Instruments\Vision\Documentation\NIVisionCVI.chm, and the header file is I believe in nivision.h, and the library is probably nivision.out. Greg McKaskle |
Re: How to preform a convex Hull operation in C++
Thank you could you be more specific on how to impliment that function for exaple would I say
image->imaqConvexHull(Image* dest, Image* source, int connectivity8); obviously with diffrent names. |
Re: How to preform a convex Hull operation in C++
Quote:
The Image* referenced above is expected to come from Image* imaqCreateImage(ImageType type, int borderSize); or similar calls to load or create an NI Image. By the way, the PDF about CVI is also a good source of how to use the library. You may also find it useful to look at examples such as C:\Program Files\National Instruments\Vision\Examples\MSVC\Threshold And Label Greg McKaskle |
Re: How to preform a convex Hull operation in C++
The current image type is not imaq image. But I think I know how to convert it. so asuming it was and I wanted to replace the current image with the result of the convex hull would I say.
image->imaqConvexHull(Image* image, Image* image, int connectivity8); or image->imaqConvexHull(image, image, connectivity 8); do you know what connectivity 8 means? |
Re: How to preform a convex Hull operation in C++
The manual will explain it better, but the 4 versus 8 connectivity determines whether the diagonals on the pixels are considered as part of the particle. I think 8 is the better choice typically.
The usage is int imaqConvexHull(Image* dest, Image* source, int connectivity8); where Image* is the NI Image type. You need to convert or access inner buffer pointers or whatever the Image class is that you were using. Greg McKaskle |
| All times are GMT -5. The time now is 23:40. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi