这是 iPhone 上一个简单的图像处理库。支持的图像操作包括:
Canny edge detection - http://en.wikipedia.org/wiki/Canny_edge_detection
Histogram equalisation - http://en.wikipedia.org/wiki/Histogram_equalisation
Skeletonisation - http://en.wikipedia.org/wiki/Topological_skeleton
Thresholding, adaptive and global - http://en.wikipedia.org/wiki/Thresholding_(image_processing)
Gaussian blur (used as a preprocessing step for canny edge detection) - http://en.wikipedia.org/wiki/Gaussian_blur
Brightness normalisation - http://en.wikipedia.org/wiki/Normalization_(image_processing)
Connected region extraction - http://en.wikipedia.org/wiki/Blob_extraction
Resizing - uses interpolation
示例代码:
// convert to grey scale and shrink the image by 4 - this makes processing a lot faster!
ImageWrapper *greyScale=Image::createImage(srcImage, srcImage.size.width/4, srcImage.size.height/4);
// do a gaussian blur and then extract edges using the canny edge detector
// you can play around with the numbers to see how it effects the edge extraction
// typical numbers are tlow 0.20-0.50, thigh 0.60-0.90
ImageWrapper *edges=greyScale.image->gaussianBlur().image->cannyEdgeExtract(0.3,0.7);
// show the results
resultImage.image=edges.image->toUIImage();
Canny edge detection - http://en.wikipedia.org/wiki/Canny_edge_detection
Histogram equalisation - http://en.wikipedia.org/wiki/Histogram_equalisation
Skeletonisation - http://en.wikipedia.org/wiki/Topological_skeleton
Thresholding, adaptive and global - http://en.wikipedia.org/wiki/Thresholding_(image_processing)
Gaussian blur (used as a preprocessing step for canny edge detection) - http://en.wikipedia.org/wiki/Gaussian_blur
Brightness normalisation - http://en.wikipedia.org/wiki/Normalization_(image_processing)
Connected region extraction - http://en.wikipedia.org/wiki/Blob_extraction
Resizing - uses interpolation
示例代码:
// convert to grey scale and shrink the image by 4 - this makes processing a lot faster!
ImageWrapper *greyScale=Image::createImage(srcImage, srcImage.size.width/4, srcImage.size.height/4);
// do a gaussian blur and then extract edges using the canny edge detector
// you can play around with the numbers to see how it effects the edge extraction
// typical numbers are tlow 0.20-0.50, thigh 0.60-0.90
ImageWrapper *edges=greyScale.image->gaussianBlur().image->cannyEdgeExtract(0.3,0.7);
// show the results
resultImage.image=edges.image->toUIImage();