c++ - cvCanny and float 32 bit (IPL_DEPTH_32F) problem -


I have some problems with cvCanny (...) and image data types. Okay, maybe you guys / girls know a solution.

I have 32 bit float image and I want to cvCanny on it. The problem can handle cvCanny only "IPL_DEPTH_8S" or U (signed / signed short), or at least that's what I suspect is the OpenCiv Manual does not indicate how much it can handle and CV / CVCADPPP in this line My expectations have not been increased:

  ... if (cv_mtte (STR-> type)! = CV_8UC1 || CV_MAT_TYPE (DST- & gt; type)! = CV_8UC1) CV_ERR ( CVSTS approved format, ""); ...  

The grayscale / single channel float 32 bit in my images and the values ​​in the image are between 0.0 and 16.0. Casting to reduce your float 32 to unsigned is not very helpful Because the values ​​will loose their purity and I miss the edges with OpenCivi.

Do you guys / girls know the solution to my problem? Sorry, because cvCanny supports only single-complexes. The 8-bit images of the channel, the only thing I can think of, is to type each value in your image from a new image of 255/16

Code> CV_8UC1 in order to scale it to


Comments